Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Chia tỷ lệ cơ sở dữ liệu chuỗi thời gian của bạn - Cách đơn giản mở rộng quy mô thời gianDB

Trong các blog trước, các đồng nghiệp của tôi và tôi đã chỉ cho bạn cách bạn có thể theo dõi hiệu suất, quản lý và triển khai các cụm, chạy sao lưu và thậm chí bật chuyển đổi dự phòng tự động cho TimescaleDB.

Trong blog này, chúng tôi sẽ chỉ cho bạn cách mở rộng phiên bản TimescaleDB đơn lẻ của bạn thành cụm nhiều nút chỉ trong một vài bước đơn giản.

Chúng tôi sẽ bắt đầu với một thiết lập chung, một phiên bản nút duy nhất chạy trên CentosOS. Nút đang hoạt động và nó đã được ClusterControl giám sát và quản lý.

Nếu bạn muốn tìm hiểu cách triển khai hoặc nhập phiên bản TimescaleDB của mình, hãy xem blog được viết bởi đồng nghiệp Sebastian Insausti của tôi, “Cách dễ dàng triển khai TimescaleDB.”

Thiết lập trông như sau ...

ClusterControl:Phiên bản đơn TimescaleDB

Vì vậy, đây là một phiên bản sản xuất duy nhất và chúng tôi muốn chuyển đổi nó thành cụm mà không có thời gian chết. Mục tiêu chính của chúng tôi là mở rộng quy mô hoạt động đọc ứng dụng sang các máy khác với tùy chọn sử dụng chúng làm máy chủ HA dàn dựng khi ghi lỗi máy chủ.

Nhiều nút hơn cũng sẽ giảm thời gian ngừng hoạt động bảo trì ứng dụng. Giống như bản vá được áp dụng trong chế độ khởi động lại luân phiên - một nút được vá tại thời điểm đó trong khi các nút khác đang cung cấp kết nối cơ sở dữ liệu.

Yêu cầu cuối cùng là tạo một địa chỉ duy nhất cho cụm mới của chúng tôi để các nút mới của chúng tôi sẽ hiển thị cho ứng dụng từ một nơi.

Chúng ta có thể tóm tắt kế hoạch hành động của mình thành hai bước chính:

  • Thêm một bản sao lần đọc
  • Cài đặt và định cấu hình Haproxy

Thêm số lần đọc bản sao

Nếu chúng tôi chuyển đến các hành động cụm và chọn “Thêm mô hình nhân bản”, chúng tôi có thể tạo bản sao mới từ đầu hoặc thêm cơ sở dữ liệu TimescaleDB hiện có làm bản sao.

ClusterControl:Thêm nô lệ sao chép ClusterControl:Thêm nô lệ nhân bản mới, nhập nô lệ nhân bản hiện có

Như bạn có thể thấy trong hình ảnh bên dưới, chúng tôi chỉ cần chọn máy chủ Chính của mình, nhập địa chỉ IP cho máy chủ phụ mới của chúng tôi và cổng cơ sở dữ liệu.

ClusterControl:Thêm nô lệ sao chép

Sau đó, chúng ta có thể chọn nếu chúng ta muốn ClusterControl cài đặt phần mềm cho chúng ta và nếu nô lệ nhân bản phải là Đồng bộ hoặc Không đồng bộ. Khi bạn đang nhập máy chủ nô lệ hiện có, bạn có thể sử dụng tùy chọn nhập như sau:

ClusterControl:Nhập nô lệ sao chép cho TimescaleDB

Cả hai cách, chúng ta có thể thêm bao nhiêu bản sao tùy thích. Trong trường hợp ví dụ của chúng tôi, chúng tôi sẽ thêm hai nút. CusterControl sẽ tạo một công việc nội bộ và thực hiện tất cả các bước cần thiết mà không thực hiện bất kỳ bước nào tại một thời điểm.

ClusterControl:thêm bản sao đã đọc

Thêm bộ cân bằng tải vào TimescaleDB

Tại thời điểm này, dữ liệu của chúng tôi được phân phối trên nhiều nút hoặc trung tâm dữ liệu nếu bạn chọn thêm các nút nô lệ sao chép ở một vị trí khác. Cụm được thu nhỏ với hai nút đọc bản sao bổ sung.

ClusterControl:Đã thêm hai nút

Câu hỏi đặt ra là làm thế nào ứng dụng biết được nút cơ sở dữ liệu nào cần truy cập? Chúng tôi sẽ sử dụng HAProxy và các cổng khác nhau cho các hoạt động ghi và đọc.

Từ cụm TimescaleDB, menu ngữ cảnh chọn để thêm bộ cân bằng tải.

Bây giờ, chúng tôi cần cung cấp vị trí của máy chủ nơi Haproxy sẽ được cài đặt, chính sách nào chúng tôi muốn sử dụng cho các kết nối cơ sở dữ liệu và những nút nào tham gia vào cấu hình Haproxy.

Khi tất cả được thiết lập, nhấn nút triển khai. Sau một vài phút, chúng ta sẽ chuẩn bị sẵn cấu hình cụm của mình. ClusterControl sẽ xử lý tất cả các điều kiện tiên quyết và cấu hình để triển khai bộ cân bằng tải.

Sau khi triển khai thành công, chúng tôi có thể thấy cấu trúc liên kết của cụm mới của mình; với cân bằng tải và các nút đọc bổ sung. Với nhiều nút hơn trên bo mạch, ClusterControl tự động bật tính năng tự động khôi phục. Bằng cách này khi nút chính gặp sự cố, hoạt động chuyển đổi dự phòng sẽ tự bắt đầu.

ClusterControl:Cấu trúc liên kết cuối cùng

Kết luận

TimescaleDB là một cơ sở dữ liệu mã nguồn mở được phát minh để làm cho SQL có thể mở rộng cho dữ liệu chuỗi thời gian. Có một cách tự động để mở rộng cụm của họ là chìa khóa để đạt được hiệu suất và hiệu quả. Như chúng ta đã thấy ở trên, giờ đây bạn có thể mở rộng TimescaleDB bằng cách sử dụng ClusterControl một cách dễ dàng.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách trở thành nhà thiết kế cơ sở dữ liệu

  2. Percona DB là gì

  3. Các tác vụ Postgres phổ biến trên CentOS 7

  4. Các triệu chứng trên người quan sát và loại chờ đợi

  5. Nhiều kế hoạch cho một truy vấn giống hệt nhau