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

Các tùy chọn chuyển đổi dự phòng cho cụm cơ sở dữ liệu đầy đủ đa đám mây cho cụm MariaDB

Với tính khả dụng cao là điều tối quan trọng trong thực tế kinh doanh ngày nay, một trong những tình huống phổ biến nhất mà người dùng phải đối phó là làm thế nào để đảm bảo rằng cơ sở dữ liệu sẽ luôn sẵn sàng cho ứng dụng.

Mọi nhà cung cấp dịch vụ đều có nguy cơ gián đoạn dịch vụ kế thừa, do đó, một trong những bước có thể được thực hiện là dựa vào nhiều nhà cung cấp để giảm bớt rủi ro và dự phòng bổ sung.

Các nhà cung cấp dịch vụ đám mây cũng không khác gì - họ có thể bị lỗi và bạn nên lên kế hoạch trước cho việc này. Những tùy chọn nào có sẵn cho MariaDB Cluster? Hãy xem nó trong bài đăng blog này.

Nhóm Cơ sở dữ liệu MariaDB trong Môi trường Đa đám mây

Nếu SLA do một nhà cung cấp dịch vụ đám mây đề xuất là không đủ, thì luôn có tùy chọn để tạo trang web khôi phục thảm họa bên ngoài nhà cung cấp đó. Nhờ đó, bất cứ khi nào một trong các nhà cung cấp dịch vụ đám mây gặp phải sự cố xuống cấp dịch vụ nào đó, bạn luôn có thể chuyển sang nhà cung cấp khác và duy trì hoạt động của cơ sở dữ liệu của mình.

Một trong những vấn đề điển hình đối với thiết lập đa đám mây là độ trễ mạng không thể tránh khỏi nếu chúng ta đang nói về khoảng cách lớn hơn hoặc nói chung là nhiều vị trí cách biệt nhau về mặt địa lý. Tốc độ ánh sáng khá cao nhưng nó là hữu hạn, mỗi bước nhảy, mỗi bộ định tuyến cũng tạo thêm một số độ trễ vào hạ tầng mạng.

MariaDB Cluster hoạt động hiệu quả trên các mạng có độ trễ thấp. Nó là một cụm dựa trên túc số, nơi yêu cầu giao tiếp nhanh chóng giữa tất cả các nút để giữ cho các hoạt động trơn tru. Độ trễ mạng tăng lên sẽ ảnh hưởng đến hoạt động của cụm, đặc biệt là hiệu suất ghi. Có một số cách để giải quyết vấn đề này.

Trước tiên, chúng tôi có một tùy chọn để sử dụng các cụm riêng biệt được kết nối bằng cách sử dụng liên kết sao chép không đồng bộ. Điều này cho phép chúng ta gần như quên đi độ trễ vì sao chép không đồng bộ phù hợp hơn đáng kể để làm việc trong môi trường độ trễ cao.

Một tùy chọn khác là, với các mạng có độ trễ thấp giữa các trung tâm dữ liệu, bạn vẫn có thể hoàn toàn ổn khi chạy Cụm MariaDB trải dài qua một số trung tâm dữ liệu. Rốt cuộc, nhiều trung tâm dữ liệu không phải lúc nào cũng có nghĩa là khoảng cách rộng lớn về mặt địa lý - bạn cũng có thể sử dụng nhiều nhà cung cấp nằm trong cùng một khu vực đô thị, được kết nối với mạng nhanh, độ trễ thấp. Sau đó, chúng ta sẽ nói về việc tăng độ trễ tối đa lên hàng chục mili giây, chắc chắn không phải hàng trăm. Tất cả phụ thuộc vào ứng dụng nhưng mức tăng như vậy có thể chấp nhận được.

Sao chép không đồng bộ giữa các cụm MariaDB

Chúng ta hãy xem nhanh cách tiếp cận không đồng bộ. Ý tưởng rất đơn giản - hai cụm được kết nối với nhau bằng cách sử dụng sao chép không đồng bộ.

Điều này có một số hạn chế. Đối với người mới bắt đầu, bạn phải quyết định xem bạn có muốn sử dụng multi-master hay bạn chỉ gửi tất cả lưu lượng đến một trung tâm dữ liệu. Chúng tôi khuyên bạn nên tránh xa việc ghi vào cả trung tâm dữ liệu và sử dụng bản sao tổng thể - tổng thể. Điều này có thể dẫn đến các vấn đề nghiêm trọng nếu bạn không thận trọng.

Nếu bạn quyết định sử dụng thiết lập chủ động - thụ động, bạn có thể muốn triển khai một số loại định tuyến dựa trên DNS để ghi, để đảm bảo rằng máy chủ ứng dụng của bạn sẽ luôn kết nối với một tập hợp proxy nằm trong trung tâm dữ liệu đang hoạt động. Điều này có thể đạt được bằng mục nhập DNS theo nghĩa đen sẽ được thay đổi khi cần chuyển đổi dự phòng hoặc nó có thể được thực hiện thông qua một số loại giải pháp khám phá dịch vụ như Consul hoặc etcd.

Nhược điểm chính của môi trường được xây dựng bằng cách sử dụng sao chép không đồng bộ là thiếu khả năng đối phó với sự phân chia mạng giữa các trung tâm dữ liệu. Điều này được kế thừa từ bản sao - bất kể bạn muốn liên kết gì với bản sao (các nút đơn, Cụm MariaDB), không có cách nào để tránh thực tế là bản sao không nhận biết được số đại biểu. Không có cơ chế để theo dõi trạng thái của các nút và hiểu được bức tranh cấp cao của toàn bộ cấu trúc liên kết. Do đó, bất cứ khi nào liên kết giữa hai trung tâm dữ liệu gặp sự cố, bạn sẽ có hai cụm MariaDB riêng biệt không được kết nối và cả hai đều sẵn sàng chấp nhận lưu lượng truy cập. Người dùng sẽ tùy thuộc vào việc xác định phải làm gì trong trường hợp như vậy. Có thể triển khai các công cụ bổ sung để theo dõi trạng thái của cơ sở dữ liệu từ bên ngoài (tức là từ trung tâm dữ liệu thứ ba) và sau đó thực hiện hành động (hoặc không thực hiện hành động) dựa trên thông tin đó. Cũng có thể kết hợp các công cụ sẽ chia sẻ cơ sở hạ tầng với cơ sở dữ liệu nhưng sẽ nhận biết được cụm và có thể theo dõi trạng thái của kết nối trung tâm dữ liệu và được sử dụng làm nguồn trung thực cho các tập lệnh sẽ quản lý môi trường. Ví dụ:ClusterControl có thể được triển khai trong một cụm ba nút, mỗi nút trên mỗi trung tâm dữ liệu, sử dụng giao thức RAFT để đảm bảo số đại biểu. Nếu một nút không kết nối với phần còn lại của cụm, nó có thể được giả định rằng trung tâm dữ liệu đã trải qua sự phân vùng mạng.

Cụm MariaDB Đa DC

Thay thế cho bản sao không đồng bộ có thể là giải pháp Cụm tất cả MariaDB trải dài trên nhiều trung tâm dữ liệu.

Như đã nêu ở đầu blog này, Cụm MariaDB, giống như mọi Cụm dựa trên Galera, sẽ bị ảnh hưởng bởi độ trễ cao. Phải nói rằng, hoàn toàn có thể chấp nhận được khi chạy nó trong môi trường độ trễ “không quá cao” và mong đợi nó hoạt động bình thường, mang lại hiệu suất có thể chấp nhận được. Tất cả phụ thuộc vào thông lượng và thiết kế mạng, khoảng cách giữa các trung tâm dữ liệu và các yêu cầu ứng dụng. Cách tiếp cận như vậy sẽ hoạt động hiệu quả, đặc biệt nếu chúng ta sử dụng các phân đoạn để phân biệt các trung tâm dữ liệu riêng biệt. Nó cho phép Cụm MariaDB tối ưu hóa kết nối cụm nội bộ của nó và giảm lưu lượng truy cập DC chéo xuống mức tối thiểu.

Ưu điểm chính của thiết lập này là nó dựa vào MariaDB Cluster để xử lý các lỗi. Nếu bạn sử dụng ba trung tâm dữ liệu, bạn sẽ có khá nhiều khả năng chống lại tình trạng chia rẽ - miễn là có phần lớn, nó sẽ tiếp tục hoạt động. Không bắt buộc phải có một nút toàn diện trong trung tâm dữ liệu thứ ba - bạn cũng có thể sử dụng Galera Arbitrator, một daemon hoạt động như một phần của cụm nhưng nó không phải xử lý bất kỳ hoạt động cơ sở dữ liệu nào. Nó kết nối với các nút, tham gia vào tính toán số đại biểu và có thể được sử dụng để chuyển tiếp lưu lượng nếu kết nối trực tiếp giữa hai trung tâm dữ liệu không hoạt động.

Trong trường hợp đó, toàn bộ quá trình chuyển đổi dự phòng có thể được mô tả là:xác định tất cả các nút trong bộ cân bằng tải (tất cả nếu các trung tâm dữ liệu gần nhau, trong trường hợp khác, bạn có thể muốn thêm một số ưu tiên cho các nút nằm gần bộ cân bằng tải hơn) và đó là khá nhiều. Các nút Cụm MariaDB tạo thành phần lớn sẽ có thể truy cập được thông qua bất kỳ proxy nào.

Triển khai Cụm MariaDB Đa đám mây bằng ClusterControl

Chúng ta hãy xem xét hai tùy chọn bạn có thể sử dụng để triển khai Nhóm MariaDB đa đám mây bằng cách sử dụng ClusterControl. Xin lưu ý rằng ClusterControl yêu cầu kết nối SSH với tất cả các nút mà nó sẽ quản lý, do đó, tùy thuộc vào bạn để đảm bảo kết nối mạng qua nhiều trung tâm dữ liệu hoặc nhà cung cấp đám mây. Miễn là có kết nối, chúng tôi có thể tiến hành theo hai phương pháp.

Triển khai Nhóm MariaDB bằng Sao chép Không đồng bộ

ClusterControl có thể giúp bạn triển khai hai cụm được kết nối bằng cách sử dụng sao chép không đồng bộ. Khi bạn triển khai một Cụm MariaDB, bạn muốn đảm bảo rằng một trong các nút đã bật nhật ký nhị phân. Điều này sẽ cho phép bạn sử dụng nút đó làm nút chính cho cụm thứ hai mà chúng tôi sẽ tạo trong thời gian ngắn.

Sau khi bật nhật ký nhị phân, chúng tôi có thể sử dụng công việc Tạo cụm nô lệ để bắt đầu trình hướng dẫn triển khai.

Chúng tôi có thể truyền dữ liệu trực tiếp từ trang cái hoặc bạn có thể sử dụng của các bản sao lưu để cung cấp dữ liệu.

Sau đó, bạn sẽ thấy trình hướng dẫn triển khai cụm tiêu chuẩn mà bạn phải vượt qua Chi tiết kết nối SSH.

Bạn cũng sẽ được yêu cầu chọn nhà cung cấp và phiên bản của cơ sở dữ liệu như đã yêu cầu mật khẩu cho người dùng root.

Cuối cùng, bạn được yêu cầu xác định các nút bạn muốn thêm vào và bạn đã hoàn tất.

Khi được triển khai, bạn sẽ thấy nó trên danh sách các cụm trong Giao diện người dùng ClusterControl.

Triển khai Cụm MariaDB Đa đám mây

Như chúng tôi đã đề cập trước đó, một tùy chọn khác để triển khai MariaDB Cluster sẽ là sử dụng các phân đoạn riêng biệt khi thêm các nút vào cụm. Trong giao diện người dùng ClusterControl, bạn sẽ tìm thấy một tùy chọn để “Thêm nút”:

Khi sử dụng, bạn sẽ thấy màn hình sau:

Phân đoạn mặc định là 0 nên bạn muốn thay đổi nó thành một giá trị khác .

Sau khi thêm các nút, bạn có thể kiểm tra xem chúng nằm ở phân đoạn nào bằng cách xem tab Tổng quan:

Kết luận

Chúng tôi hy vọng blog ngắn này đã giúp bạn hiểu rõ hơn về các tùy chọn mà bạn có để triển khai Cụm MariaDB đa đám mây và cách chúng có thể được sử dụng để đảm bảo tính khả dụng cao của cơ sở hạ tầng cơ sở dữ liệu của bạn.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 2 cách liệt kê tất cả các hàm trong MariaDB

  2. Cách CURTIME () hoạt động trong MariaDB

  3. Hướng dẫn về MariaDB Columnstore dành cho quản trị viên MySQL

  4. Có gì mới trong MariaDB Server 10.5?

  5. Cách khắc phục sự cố cơ sở dữ liệu MySQL