CouchDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> CouchDB

Nhân rộng Couchbase XDCR - Từng bước - Các phương pháp hay nhất

Couchbase là gì

Couchbase Server là một cơ sở dữ liệu tài liệu JSON mã nguồn mở, phân tán. Nó cho thấy một kho lưu trữ giá trị, mở rộng với bộ nhớ đệm được quản lý cho các hoạt động dữ liệu dưới mili giây, các chỉ mục được xây dựng có mục đích cho các truy vấn hiệu quả và một công cụ truy vấn mạnh mẽ để thực hiện các truy vấn giống SQL. Đối với môi trường di động và Internet of Things, Couchbase cũng chạy nguyên bản trên thiết bị và quản lý đồng bộ hóa với máy chủ.

Tại sao nên chọn Couchbase?

Couchbase Server là một cơ sở dữ liệu tài liệu JSON mã nguồn mở, phân tán. Nó cho thấy một kho lưu trữ giá trị, mở rộng với bộ nhớ đệm được quản lý cho các hoạt động dữ liệu dưới mili giây, các chỉ mục được xây dựng có mục đích cho các truy vấn hiệu quả và một công cụ truy vấn mạnh mẽ để thực hiện các truy vấn giống SQL. Đối với môi trường di động và Internet of Things, Couchbase cũng chạy nguyên bản trên thiết bị và quản lý đồng bộ hóa với máy chủ.

Couchbase Server chuyên cung cấp khả năng quản lý dữ liệu có độ trễ thấp cho các ứng dụng web, thiết bị di động và IoT tương tác quy mô lớn. Các yêu cầu phổ biến mà Máy chủ Couchbase được thiết kế để đáp ứng bao gồm:

  • Giao diện lập trình hợp nhất
  • Truy vấn
  • Tìm kiếm
  • Di động và IoT
  • Phân tích
  • Công cụ cơ sở dữ liệu cốt lõi
  • Kiến trúc thu nhỏ
  • Kiến trúc ưu tiên bộ nhớ
  • Dữ liệu lớn và tích hợp SQL
  • Bảo mật toàn ngăn xếp
  • Triển khai vùng chứa và đám mây
  • Tính khả dụng cao

Nhiều cơ sở dữ liệu có thể đáp ứng một hoặc nhiều yêu cầu này nhưng đòi hỏi sự cân bằng khi chạy trong sản xuất với các ứng dụng quan trọng ở quy mô internet. Ví dụ:một giải pháp có thể cung cấp tính linh hoạt của mô hình dữ liệu nhưng có thể thiếu khả năng thêm hoặc xóa các nút mà không ảnh hưởng đến thời gian hoạt động hoặc hiệu suất. Một giải pháp khác có thể chứng minh khả năng mở rộng ghi tốt mà không thể lập chỉ mục hoặc thay đổi mô hình dữ liệu ngay lập tức. Couchbase Server được thiết kế để mang lại trải nghiệm quản trị và nhà phát triển hiệu quả đồng thời cung cấp hiệu suất trên quy mô lớn, cho dù trên đám mây, trong vùng chứa, tại chỗ hay trên thiết bị cạnh.

Điểm chuẩn hiệu suất Nosql

So sánh điểm chuẩn mới với máy chủ MongoDB, DataStax và Couchbase cho thấy Couchbase là Cơ sở dữ liệu NoSQL có khả năng mở rộng tốt nhất, hoạt động tốt nhất.

Điểm chuẩn dựa trên nút.

Theo Định lý CAP Couchbase.

Định lý Cap

Couchbase nằm trên sơ đồ CP và AP.

Chi tiết sơ đồ CP và AP của Couchbase.

XDCR là gì?

Nhân rộng Trung tâm dữ liệu chéo (XDCR) sao chép dữ liệu giữa các cụm:điều này cung cấp khả năng bảo vệ chống lại sự cố của trung tâm dữ liệu và cũng cung cấp quyền truy cập dữ liệu hiệu suất cao cho các ứng dụng quan trọng, được phân phối toàn cầu.

XDCR sao chép dữ liệu từ một nhóm cụ thể trên cụm nguồn sang một nhóm cụ thể trên cụm mục tiêu. Dữ liệu từ nhóm nguồn được đẩy đến nhóm đích bằng tác nhân XDCR, chạy trên cụm nguồn, sử dụng Giao thức thay đổi cơ sở dữ liệu. Bất kỳ nhóm nào (Couchbase hoặc Ephemeral) trên bất kỳ cụm nào đều có thể được chỉ định làm nguồn hoặc mục tiêu cho một hoặc nhiều định nghĩa XDCR.

Mô tả kiến ​​trúc hoàn chỉnh của XDCR được cung cấp trong Nhân rộng Trung tâm Dữ liệu Chéo (XDCR). Bạn có thể muốn tự làm quen với thông tin được cung cấp ở đó, trước khi thực hiện các quy trình được cung cấp trong phần này.

Cấu trúc cơ bản của Xdcr;

Yêu cầu trước;

  • Xác nhận rằng cụm của bạn có kích thước phù hợp và có thể xử lý các luồng XDCR mới. Ví dụ:XDCR cần thêm 1-2 lõi CPU trên mỗi luồng và trong một số trường hợp, nó cũng sẽ yêu cầu nhiều RAM và tài nguyên mạng hơn. Nếu một cụm không có kích thước phù hợp với khối lượng công việc hiện có cộng với các luồng XDCR mới, thì XDCR có thể cạnh tranh tài nguyên máy chủ và có tác động tiêu cực đến hiệu suất tổng thể.
  • Máy chủ Couchbase sử dụng cổng TCP / IP 8091 để trao đổi thông tin cấu hình cụm. Nếu bạn đang giao tiếp với một cụm đích qua kết nối chuyên dụng hoặc Internet, bạn nên đảm bảo rằng tất cả các nút trong cụm đích và cụm nguồn có thể giao tiếp với nhau qua các cổng 8091 và 8092.
Cổng được liệt kê theo đường dẫn truyền thông

XDCR (cluster-to-cluster)

  • Phiên bản 1 (CAPI)
    • Không được mã hóa :8091, 8092
  • Phiên bản 2 (XMEM)
    • Không được mã hóa :8091, 8092, 11210
    • Được mã hóa :11207, 18091, 18092

Couchbase lưu trữ dữ liệu cả trên đĩa và RAM. Hành vi mặc định là ghi tài liệu vào đĩa tại một số thời điểm tùy ý (thường là nhanh chóng) sau khi lưu trữ trong RAM. Điều này để lại một cửa sổ ngắn trong đó lỗi nút có thể dẫn đến mất dữ liệu.

Trong mọi trường hợp, sau khi ghi vào RAM, tài liệu cuối cùng sẽ được ghi vào đĩa. Couchbase giữ một hàng đợi ghi đĩa mà bạn có thể kiểm tra trên trang báo cáo chỉ số trong bảng điều khiển quản lý. Bây giờ, CB thực hiện đồng bộ hóa các lần ghi trên toàn cụm và tôi tin rằng một lần ghi sẽ được đồng bộ hóa trên một cụm trước khi Couchbase xác nhận rằng việc ghi đã xảy ra (ví dụ:trước khi phương thức ghi quay trở lại trình gọi).

Nếu bạn có nhiều tài liệu hơn bộ nhớ RAM khả dụng, chỉ những tài liệu được truy cập thường xuyên nhất mới được lưu trữ trong RAM để truy xuất nhanh chóng, tất cả những tài liệu khác sẽ được “tống khứ” vào đĩa.

Lời khuyên;

Khi kích thước thùng giảm từ 200 gb xuống 10 gb trong nguồn, quá trình nhân rộng sẽ đủ nhanh hơn. Nói cách khác, nếu kích thước thùng cao và tất cả dữ liệu thay thế đều nằm trong ram, tôi thấy rằng bản sao có khoảng cách 10 giây.

Nguồn và đích phải có cùng cài đặt linux và tài nguyên giống nhau. Đây chỉ là lời khuyên.

Cư dân của nhóm sản phẩm phải là% 100. Vì tốc độ sao chép rất quan trọng.

Bucket replication best settings ;

XDCR Source Nozzles per Node: 2 --> 8

XDCR Target Nozzles per Node: 2 --> 24

(Nozzles=Channel=parallel , as  cpu core)

XDCR Checkpoint Interval (sn): 1800 --> 60

Control frequency is low, but not as much as waiting in the queue. The higher this value, the longer it takes for XDCR queues to grow.

XDCR Batch Count: 500 --> 2000

It is beneficial to increase by 2.3 times. It also sends so many data groups at the same time.

XDCR Batch Size (kB): 2048 --> 8192

It is beneficial to increase by 2.3 times. At the same time, it sends such a large amount of data.

XDCR Failure Retry Interval: 10 --> 10

It is used for retry attempts in network errors.

XDCR Optimistic Replication Threshold: 256 --> 1024 --> 256 --> 128 

Increasing or decreasing this value appropriately can speed up replication, collect data above 1 mb and send it in bulk. But collection can be a waste of time and waiting in the queue.

This is the compressed document size in bytes. 0 - 2097152 Bytes (20MB). Default is 256 Bytes. XDCR retrieves metadata for documents larger than this size at once before copying the uncompressed document to a destination set. This option improves XDCR latency.

XDCR Statistics Collection Interval (ms): 1000 --> 1000

XDCR Logging Level: info --> info


Lời khuyên;

Tôi khuyên rằng nguồn và đích nên có cùng cài đặt và có cùng tài nguyên.

Đây là thiết lập nhóm, thiết lập cụm, cpu, bộ nhớ, chất lượng đĩa, v.v.

Sao chép Xdcr chỉ là sao chép dữ liệu. Trước khi sao chép, bạn phải tạo siêu dữ liệu nhóm.

Nếu bạn muốn, bạn tạo người dùng, chỉ mục, chế độ xem, sự kiện, v.v.

Là thông tin bổ sung;

Bạn có thể tạo bản sao xdcr trên phiên bản cộng đồng.

Bạn có thể tạo bản sao xdcr trên phiên bản doanh nghiệp. Điều này cần giấy phép bổ sung. Nếu bạn không sử dụng chế độ chờ như một sản phẩm, thì khoản phí đó không cao.

Các trình kết nối khác của Couchbase dành cho XDCR; Elasticsearch, Hadoop, Kafka, Spark, Talend, SQL (ODBC / JDBC)

Quản lý Couchbase có thể được thực hiện thông qua WEB UI, REST API và CLI. Đặc biệt, giao diện người dùng web rất đơn giản và dễ sử dụng. Bạn có thể thực hiện nhiều giao dịch và truy vấn hoạt động thông qua giao diện người dùng.

Replication Summary;

Stby=Xdcr=Target=Remote same term.

A different name xdcr cluster is established with the same features.

The buckets with the same name with the same features are created in the xdcr cluster.

In Prod, add remote server and xdcr information are entered in the xdcr tab.

Prod in xdcr tab with add remote cluster;

Cluster Name= Xdcr couchbase name

IP/Hostname= Xdcr ip / hostname

Username=Xdcr Admin username

Password=Xdcr Admin user password




Prod in xdcr tab with add bucket replication;

Replicate From Bucket = Bucket name in the prod

Remote Cluster = Added Xdcr name

Remote Bucket = Bucket name added in Xdcr


Cài đặt bộ nhớ cho cài đặt cụm Xdcr được cung cấp theo giá trị bộ nhớ máy chủ.

Phải có kích thước trống cho bộ nhớ máy chủ.

Xdcr cần thêm bộ nhớ trong cụm sản phẩm.

Có thể sao chép nhiều nhóm couchbase.

Thao tác đơn giản sao chép XDCR mẫu;

Đã chọn tab Xdcr trên trang chủ couchbase.

Thêm tab cụm từ xa được chọn trên tab xdcr đã chọn.

Thêm hoạt động cụm từ xa được thực hiện sau đây.

Thêm tab sao chép được chọn trên tab xdcr đã chọn.

Thêm hoạt động sao chép nhóm được thực hiện sau đây.

Thông số tốt nhất cho hiệu suất xdcr. Nhưng nó có thể được đặt lại cho hệ thống của bạn.

Trạng thái sao chép trên tab xdcr của nguồn (sản phẩm)

Thống kê nhân rộng nhóm

Hiệu suất sao chép theo mục tiêu;

Hiệu suất sao chép trên nguồn;

Tài liệu tham khảo;

1-) https://resources.couchbase.com/nosql_comparison_web/altoros-nosql-performance-benchmark

2-) https://docs.couchbase.com/

3-) https://www.businesswire.com/news/home/20140625005778/en/Couchbase-Blows-Past-Competition-in-NoSQL-Performance-Benchmark

4-) https://www.quora.com/What-is-the-relation-between-SQL-NoSQL-the-CAP-theorem-and-ACID

Fatih Gençali - Chứng chỉ Couchbase


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách cài đặt Apache CouchDB 2.3.0 trong Linux

  2. Đồng bộ hóa phong cách CouchDB và giải quyết xung đột trên Postgres với Hasura

  3. Cài đặt Apache CouchDB trên Debian 9

  4. Tập lệnh hữu ích cho Couchbase Dba

  5. Bắt đầu với CouchDB