Database Clustering là gì? Khi nào nên sử dụng?

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.

Database Clustering kiến trúcMô hình Database Clustering. Nguồn ảnh / Source: docs.oracle.com

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:

Tìm việc làm IT mới nhất trong tháng