Bài viết được sự cho phép của tác giả Kiên Nguyễn
1. Database Clustering là gì?
The grouping of two or more database servers is known as database clustering.
Liên kết của hai hoặc nhiều database server thì được hiểu là database clustering
Như đã đề cập ở trên, trường hợp thiết kế Scalable Web Application, rất có thể một hoặc nhiều web service sẽ kết nối chung tới một Database. Cần nhiều web service là do ta cần handle một số lượng lớn request.
Liên kết ở đây được hiểu là dữ liệu ở các cụm Database không hệ khác nhau, được đồng bộ hóa trong quá trình thao tác.
Cùng có thể hiểu Database Clustering như là cách liên kết. Nhiều các DB liên kết với nhau để tăng cường sức mạnh, đảm bảo ứng dụng hoạt động trơn tru.
Xem thêm Công việc database hấp dẫn trên TopDev
2. Điểm mạnh
Với Database Clustering, có những ưu điểm rõ ràng có thể nhận thấy khi thao tác, bảo trì hệ cơ sở dữ liệu như sau:
2.1 Load Balancing
Bản thân một hệ cơ sở dữ liệu không hề có cơ chế cân bằng tải (Load Balancing) ngay từ ban đầu. Về cơ bản mà nói thì
Basically, what load balancing does is allocating the workload among the different computers that are part of the cluster.
Về cơ bản, những gì cân bằng tải thực hiện là phân bổ khối lượng công việc giữa các máy tính khác nhau là một phần của cluster
Trường hợp số lượng request tăng đột biến, chỉ một services sẽ không thể handle nổi, lúc này sẽ có nhiều web services thực hiện đồng thời, phân bổ và điều tiết số lượng request. Điều này sẽ khả thi với Database Clustering, bởi vì tất cả các web services đó đều sử dụng chung một database
2.2 High Availability
Tính sẵn có cao cũng là một yếu tố để cân nhắc cho việc sử dụng Database Cluster. Sẵn có tức là khi cần truy cập tới database, ta có thể truy xuất được.
High availability refers the amount of time a database is considered available.
Tính sẵn sàng cao đề cập đến khoảng thời gian cơ sở dữ liệu được coi là có sẵn
Trường hợp số lượng request lớn hoặc xử lý ở phía server tương đối phức tạp, rất có thể xảy ra trường hợp các request bị từ chối.
2.3 Data redundancy
Dự phòng dữ liệu cũng là một điểm mạnh khi sử dụng Database Clustering. Do các DB node trong mô hình Clustering được đồng bộ. Trường hợp có sự cố ở một node, vẫn dễ dàng truy cập dữ liệu node khác.
Việc có node thay thế đảm bảo ứng dụng hoạt động mượt mà. Ngay cả khi một hoặc một vài node trong mạng bị down.
3. Khi nào nên sử dụng database clustering?
Ngày nay, các ứng dụng web (web application) thường được yêu cầu hoạt động mượt mà trong tất cả các trường hợp. Vậy khi nào thì cần tới database clustering?
If you’re an entrepreneur, director, or database administrator, you care about database clustering because it helps keep your applications online a greater amount of the time.
Nếu bạn là doanh nhân, giám đốc hoặc quản trị viên cơ sở dữ liệu, bạn quan tâm đến việc phân cụm cơ sở dữ liệu vì nó giúp giữ cho các ứng dụng của bạn trực tuyến trong một khoảng thời gian dài hơn.
Nắm vững khái niệm là một chuyện. Thực tế ở các hệ cơ sở dữ liệu khác nhau sẽ cần tìm hiểu thêm MySQL Cluster CGE
Bài viết gốc được đăng tải tại kieblog.vn
Có thể bạn quan tâm: