Giới thiệu chung về Apache Cassandra
Thời đại công nghệ 4.0 với sự phát triển không ngừng của ngành công nghệ thông tin cho phép người dùng chia sẻ hàng tỷ nội dung trên Internet, khiến cho lượng dữ liệu cần lưu trữ và xử lý là rất lớn. Tuy các hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) vẫn có thể được sử dụng để quản lý lượng dữ liệu khổng lồ này, nhưng thực tế cho thấy nhiều bất cập.
Trên thực tế, lượng dữ liệu lớn sẽ được lưu trữ phân tán trên nhiều máy chủ khác nhau. Các RDBMS tuy xử lý tốt nhiệm vụ quản lý dữ liệu tập trung, song vì tính tập trung này lại tạo ra khó khăn cho hệ thống khi muốn mở rộng. Mặt khác, RDBMS vốn tồn tại một số khuyết điểm như không xử lý tốt các dữ liệu phi cấu trúc, tốc độ xử lý dữ liệu khá chậm do cần join nhiều bảng khác nhau, hay khó khăn trong việc thay đổi cơ sở dữ liệu do tính quy củ chặt chẽ của nó. Vì vậy, RDBMS không còn phù hợp với các hệ thống như trên nữa. Người ta phát triển các DBMS mới phù hợp để quản lý dữ liệu phân tán, gọi là NoSQL (not only SQL).
Hiện nay có khoảng 150 hệ quản trị cơ sở dữ liệu phân tán NoSQL. Một số đại diện tiêu biểu gồm Cassandra, MongoDB, SimpleDB, BigTable, CouchDB… Dưới đây là tài liệu trình bày về Cassandra.
CHƯƠNG I. GIỚI THIỆU CHUNG VỀ APACHE CASSANDRA
1. Lịch sử phát triển
Ban đầu, Apache Cassandra được phát triển bởi Facebook phục
vụ cho chức năng tìm kiếm hộp thư. Tháng 7/2008, Cassandra trở thành một dự án
mã nguồn mở. Đến tháng 3/2009, Cassandra được nhận bởi Apache và không lâu sau
đó, vào tháng 2/2010, Cassandra đã trở thành một trong những dự án cao cấp nhất
của Apache. Phiên bản mới nhất hiện nay của Cassandra là 4.0.
Apache Cassandra hiện đang được sử dụng rộng rãi trên toàn
thế giới, tiêu biểu là một số tập đoàn lớn như Netflix, eBay, Twitter,
Facebook, Reddit…
2. Các thuật ngữ
thường dùng
CLUSTER : Cluster là hai hay nhiều Cassandra instance kết hợp
cùng với nhau, các instance này giao tiếp với nhau thông qua giao thức gossip.
NODE : Một
node là một instance của Cassandra, một Cassandra cluster được tạo nên bởi một
tập các node.
REPLICATION
FACTOR (RF) : Là tham số quyết định số bản copy của dữ liệu trong một cluster.
RF đồng thời cũng quyết định số node phản hồi cho các hành động read và write dữ
liệu.
CONSISTENCY LEVEL:
Là khả năng quyết định mức độ phản hồi từ server về client khi thực hiện các
hành động đọc và ghi dữ liệu.
Figure 2. Thuật ngữ
trong Cassandra Model |
Nhận xét
Đăng nhận xét