Một vài ngày trước, phiên bản mới của ClusterControl là 1.7.2, nơi chúng ta có thể thấy một số tính năng mới, một trong những tính năng chính là hỗ trợ cho TimescaleDB.
TimescaleDB là cơ sở dữ liệu chuỗi thời gian mã nguồn mở được tối ưu hóa để nhập nhanh và các truy vấn phức tạp hỗ trợ SQL đầy đủ. Nó dựa trên PostgreSQL và nó cung cấp những gì tốt nhất của thế giới NoSQL và Relational cho dữ liệu Chuỗi thời gian. TimescaleDB hỗ trợ sao chép trực tuyến như là phương pháp nhân bản chính, có thể được sử dụng trong thiết lập tính sẵn sàng cao. Tuy nhiên, PostgreSQL không đi kèm với chuyển đổi dự phòng tự động và đây là một vấn đề trong môi trường sản xuất có tính sẵn sàng cao. Chuyển đổi dự phòng thủ công thường ngụ ý rằng con người được phân trang và phải tìm một máy tính, đăng nhập vào hệ thống, hiểu những gì đang xảy ra, trước khi bắt đầu các quy trình chuyển đổi dự phòng. Điều này chuyển thành một khoảng thời gian chết lâu dài. May mắn thay, có một cách để tự động chuyển dự phòng với ClusterControl, hiện hỗ trợ TimescaleDB.
Trong blog này, chúng ta sẽ thấy cách triển khai thiết lập TimescaleDB nhân rộng với tính năng tự động chuyển đổi dự phòng chỉ trong vài cú nhấp chuột bằng cách sử dụng ClusterControl. Chúng tôi cũng sẽ xem cách thêm một điểm cuối cơ sở dữ liệu duy nhất cho các ứng dụng thông qua HAProxy. Điều kiện tiên quyết là bạn nên cài đặt phiên bản 1.7.2 của ClusterControl trên máy chủ hoặc máy ảo chuyên dụng.
Triển khai TimescaleDB
Để thực hiện cài đặt TimescaleDB mới từ ClusterControl, chỉ cần chọn tùy chọn “Triển khai” và làm theo hướng dẫn xuất hiện. Lưu ý rằng nếu bạn đã có phiên bản TimescaleDB đang chạy, thì bạn cần chọn 'Nhập máy chủ / cơ sở dữ liệu hiện có'.
Khi chọn TimescaleDB, chúng tôi phải chỉ định Người dùng, Khóa hoặc Mật khẩu và cổng để kết nối bằng SSH với các máy chủ TimescaleDB của chúng tôi. Chúng tôi cũng cần một tên cho cụm mới của mình và nếu chúng tôi muốn ClusterControl cài đặt phần mềm và cấu hình tương ứng cho chúng tôi.
Vui lòng kiểm tra yêu cầu người dùng ClusterControl cho tác vụ này tại đây.
Sau khi thiết lập thông tin truy cập SSH, chúng ta phải xác định người dùng cơ sở dữ liệu, phiên bản và datadir (tùy chọn). Chúng tôi cũng có thể chỉ định kho lưu trữ nào sẽ sử dụng.
Trong bước tiếp theo, chúng tôi cần thêm máy chủ của mình vào cụm mà chúng tôi sẽ tạo.
Khi thêm máy chủ của mình, chúng tôi có thể nhập IP hoặc tên máy chủ.
Trong bước cuối cùng, chúng tôi có thể chọn xem bản sao của chúng tôi sẽ là Đồng bộ hay Không đồng bộ.
Chúng tôi có thể theo dõi trạng thái tạo cụm mới của mình từ trình theo dõi hoạt động ClusterControl.
Khi nhiệm vụ hoàn thành, chúng ta có thể thấy cụm TimescaleDB mới của mình trong màn hình ClusterControl chính.
Khi chúng tôi đã tạo cụm của mình, chúng tôi có thể thực hiện một số tác vụ trên đó, chẳng hạn như thêm bộ cân bằng tải (HAProxy) hoặc một bản sao mới.
Chia tỷ lệ TimescaleDB
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.
Hãy xem việc thêm một nô lệ sao chép mới có thể là một nhiệm vụ thực sự dễ dàng như thế nào.
Như bạn có thể thấy trong hình, chúng ta chỉ cần chọn máy chủ Master của mình, nhập địa chỉ IP cho máy chủ nô lệ mới của chúng tôi và cổng cơ sở dữ liệu. Sau đó, chúng tôi có thể chọn nếu chúng tôi muốn ClusterControl cài đặt phần mềm cho chúng tôi và nếu nô lệ nhân bản phải là Đồng bộ hoặc Không đồng bộ.
Bằng cách này, chúng tôi có thể thêm bao nhiêu bản sao tùy thích và lan truyền lưu lượng đọc giữa chúng bằng cách sử dụng bộ cân bằng tải, mà chúng tôi cũng có thể triển khai với ClusterControl.
Từ ClusterControl, bạn cũng có thể thực hiện các tác vụ quản lý khác nhau như Reboot Host, Rebuild Replication Slave hoặc Promotion Slave, chỉ với một cú nhấp chuột.
Kết luận
Như chúng ta đã thấy ở trên, bây giờ bạn có thể triển khai TimescaleDB bằng cách sử dụng ClusterControl. Sau khi được triển khai, ClusterControl cung cấp một loạt các tính năng, từ giám sát, cảnh báo, chuyển đổi dự phòng tự động, sao lưu, phục hồi tại thời điểm, xác minh sao lưu, đến mở rộng các bản sao đã đọc. Điều này có thể giúp bạn quản lý TimescaleDB một cách thân thiện và trực quan.