Cassandra là gì? Tìm hiểu về Cassandra và cách hoạt động
13/11/2025Cassandra là cơ sở dữ liệu NoSQL dùng để xử lý dữ liệu lớn với khả năng mở rộng ngang mạnh và độ sẵn sàng rất cao. Hiện nay, Apache Cassandra đã trở thành lựa chọn lý tưởng cho các hệ thống thời gian thực hay ứng dụng có dữ liệu phân tán trên nhiều máy chủ. Viettel IDC sẽ cùng bạn tìm hiểu rõ Cassandra là gì, cách hoạt động, ưu nhược điểm và so sánh với các hệ quản trị khác.
Cassandra là gì?
Cassandra (hay Apache Cassandra) là một hệ quản trị cơ sở dữ liệu NoSQL mã nguồn mở, được phát triển để xử lý lượng dữ liệu lớn trên nhiều máy chủ thông thường. Hệ thống này ưu tiên tính khả dụng và khả năng mở rộng hơn là tính nhất quán chặt chẽ, do đó rất thích hợp cho các ứng dụng ghi nhiều dữ liệu với độ trễ thấp.
Cassandra ra đời tại Facebook năm 2008, được đưa vào Apache Incubator năm 2009 và trở thành dự án Top-level năm 2010. Cassandra là kho dữ liệu cột rộng , hỗ trợ lược đồ linh hoạt và tổ chức dữ liệu thành các keyspace và bảng. Ban đầu được phát triển bởi Avinash Lakshman và Prashant Malik tại Facebook để hỗ trợ chức năng hộp thư đến, Cassandra được đặt tên theo nhân vật Cassandra trong thần thoại, người tiên tri nhưng không ai tin.
Cơ chế hoạt động của Apache Cassandra
Kiến trúc phi tập trung Peer-to-Peer
Cassandra vận hành dựa trên kiến trúc phi tập trung hoàn toàn (peer-to-peer), mọi node trong cụm đều có vai trò ngang hàng. Không có node chủ hay cơ chế điều phối trung tâm, vì vậy hệ thống không tồn tại điểm lỗi đơn lẻ.
Các node trao đổi tình trạng hoạt động với nhau thông qua giao thức Gossip, giúp cập nhật thông tin về node mới, node mất kết nối hoặc thay đổi trạng thái. Mỗi node giữ danh sách seed để làm điểm khởi tạo liên lạc và tự cập nhật dần với toàn cụm. Nhờ cấu trúc này, nếu một node hoặc thậm chí một rack gặp sự cố, cụm Cassandra vẫn hoạt động nhờ các bản sao dữ liệu nằm trên các node khác, đảm bảo tính sẵn sàng rất cao.
Mô hình dữ liệu và phân vùng
Dữ liệu trong Cassandra được tổ chức theo keyspace tương tự như database . Bên trong là các bảng có cấu trúc linh hoạt, cho phép sự khác biệt về cột giữa các hàng.
Một bảng được xác định bởi Primary Key, gồm khóa phân vùng và các cột phân loại. Cassandra sử dụng cơ chế băm nhất quán để phân phối dữ liệu khắp cụm dựa trên giá trị của khóa phân vùng.
Các điểm chính về mô hình dữ liệu và phân vùng:
- Partition Key được băm thành token rồi đặt vào vòng dữ liệu (ring).
- Tất cả các hàng có cùng Partition Key được lưu trong cùng một partition.
- Partition được sao chép sang nhiều node tùy theo Replication Factor (RF).
- NetworkTopologyStrategy giúp tối ưu sao chép dữ liệu giữa các datacenter và rack.
- Cấu trúc wide-column cho phép các hàng linh hoạt và mở rộng dễ dàng.
Đường dẫn ghi trong Cassandra (Write Path)
Khi hệ thống nhận yêu cầu ghi, node tiếp nhận trở thành coordinator và xử lý theo ba bước chính sau:
- Bước 1: dữ liệu được ghi vào commit log trên đĩa để đảm bảo độ bền vững, tránh mất dữ liệu khi có sự cố. Đồng thời, bản ghi được đưa vào Memtable – vùng nhớ tạm chứa dữ liệu mới.
- Bước 2: Khi Memtable đạt đến ngưỡng đầy, Cassandra tạo mới SSTable trên đĩa và flush toàn bộ dữ liệu xuống.
- Bước 3: Coordinator trả ACK cho client, giúp tối ưu tốc độ ghi. Các SSTable sau đó được compact định kỳ để hợp nhất, giảm trùng lặp và cải thiện hiệu năng truy vấn.
Đường dẫn đọc trong Cassandra (Read Path)
Khi nhận yêu cầu đọc, coordinator sẽ băm Partition Key để xác định node chứa dữ liệu cần truy vấn. Coordinator gửi yêu cầu đến replica nhanh nhất, đồng thời gửi thêm yêu cầu digest đến các replica còn lại để đối chiếu tính nhất quán dữ liệu. Nếu xuất hiện chênh lệch, coordinator sẽ thu thập dữ liệu mới nhất và kích hoạt cơ chế sửa lỗi.
Tính nhất quán và mô hình CAP
Cassandra áp dụng mô hình tính nhất quán cuối (eventual consistency) nhưng cho phép tùy chỉnh mức độ nhất quán thông qua tunable consistency. Người dùng có thể chọn các mức như ONE, QUORUM hoặc ALL cho từng truy vấn.
Theo định lý CAP, Cassandra nằm trong nhóm AP, ưu tiên khả năng chịu chia tách mạng và tính sẵn sàng. Dù vậy, dựa vào cách cấu hình, người dùng vẫn có thể đạt tính nhất quán mạnh bằng QUORUM/ALL cho cả đọc và ghi.
Cassandra sử dụng timestamp versioning và quy tắc last-write-wins để xác định bản ghi mới nhất. Các cơ chế như Hinted Handoff, Read Repair và Merkle Tree Repair giúp các replica dần hội tụ, đảm bảo dữ liệu luôn ổn định theo thời gian.
Ưu điểm và hạn chế của Apache Cassandra
Dù được đánh giá là một trong những hệ quản trị cơ sở dữ liệu NoSQL mạnh nhất hiện nay, Apache Cassandra vẫn có những ưu, nhược điểm riêng cần cân nhắc trước khi triển khai.
Ưu điểm
- Khả năng mở rộng mạnh mẽ: Hỗ trợ mở rộng ngang (horizontal scaling) gần như tuyến tính bằng cách thêm node, mà không có điểm nghẽn trung tâm. Dữ liệu tự động cân bằng tải và phân phối đều nhờ consistent hashing.
- Hiệu suất ghi/đọc cao: Kiến trúc LSM-tree và commit log cho phép thực hiện ghi rất nhanh (ghi là thao tác append-only) và đọc có thể tối ưu qua caching. Các benchmark cho thấy Cassandra có throughput và độ trễ tốt trong phân khúc NoSQL
- Độ sẵn sàng cao – chịu lỗi tốt: Mỗi node ngang hàng, không có master, kết hợp sao chép đa datacenter, giúp hệ thống luôn sẵn sàng ngay cả khi có node hoặc datacenter hỏng. Mất vài node không ảnh hưởng tới dịch vụ do replica lưu trữ dư thừa.
- Tính linh hoạt trong nhất quán: Cho phép điều chỉnh mức độ nhất quán theo nhu cầu. Có thể cấu hình mạnh (QUORUM/ALL) nếu cần chặt chẽ, hoặc để đạt tính sẵn sàng cao với mức ONE/LOCAL_ONE.
- Mô hình dữ liệu linh hoạt: Hỗ trợ schema ít ràng buộc, dễ thay đổi. Phù hợp với dữ liệu đa cấu trúc hoặc bổ sung cột mà không ảnh hưởng hàng hiện có.
- Cộng đồng và hệ sinh thái rộng: Là dự án Apache lớn, Cassandra có cộng đồng phát triển mạnh và nhiều công cụ, thư viện hỗ trợ. Rất nhiều công ty lớn như Netflix, Apple, Instagram đều ứng dụng triển khai Cassandra.
Nhược điểm
- Mô hình dữ liệu phức tạp: Để đạt hiệu suất cao, cần thiết kế dữ liệu theo truy vấn. Cassandra không hỗ trợ joins, subqueries hay các truy vấn phức tạp; dữ liệu thường phải tái cấu trúc (denormalize) để truy vấn hiệu quả
- Thiếu tính năng giao dịch mạnh (ACID): Cassandra chỉ hỗ trợ giao dịch đơn giản (Lightweight Transactions) trên một partition với chi phí cao. Do đó, không phù hợp cho ứng dụng yêu cầu giao dịch phức tạp hoặc nhất quán nghiêm ngặt trên nhiều bản ghi.
- Học và vận hành khó: Việc triển khai và duy trì Cassandra ở quy mô lớn đòi hỏi kinh nghiệm. Cần điều chỉnh nhiều thông số (điều chỉnh compaction, GC, cấu hình cluster) để đạt tối ưu. Lỗi cấu hình hoặc chọn sai partition key có thể gây nghẽn hotspot hoặc kích thước partition quá lớn.
- Chi phí lưu trữ và cập nhật: Chiến lược write-once và tombstone để xóa có thể gây phân mảnh. Thao tác cập nhật hoặc xóa dữ liệu mạnh có thể tạo nhiều tombstone, ảnh hưởng đến hiệu năng.
- Không tối ưu cho workload nhỏ hoặc chỉ đọc: Nếu ứng dụng dữ liệu nhỏ, truy vấn đơn giản hoặc chủ yếu đọc, sử dụng Cassandra có thể khá thừa thãi. Cụm Cassandra thường phải có ít nhất 3 node để đảm bảo sao chép, không phù hợp cho môi trường đơn lẻ hoặc tải thấp.
Ứng dụng của Cassandra trong thực tế
Hệ thống nhắn tin và ứng dụng chat
Cassandra đặc biệt phù hợp với các nền tảng nhắn tin quy mô lớn nhờ khả năng ghi cực nhanh, tính chịu lỗi cao và khả năng mở rộng tuyến tính bằng cách chỉ cần bổ sung thêm node mới. Các ứng dụng chat thường tạo ra lượng lớn dữ liệu theo thời gian thực, yêu cầu lưu trữ liên tục và không được phép gián đoạn dịch vụ
Ứng dụng trong Internet of Things (IoT)
Apache Cassandra lý tưởng cho IoT vì có thể xử lý luồng dữ liệu thời gian thực và lưu lượng lớn từ nhiều thiết bị phân tán. Cơ chế ghi nối tiếp (append-only) giúp ghi dữ liệu cảm biến rất nhanh trên nhiều nút, cùng khả năng thêm/bớt node linh hoạt giúp mở rộng quy mô theo nhu cầu.
Bigmate – một nền tảng IoT – cho biết họ xử lý hàng triệu thao tác mỗi giây với Cassandra. Đây là điều mà mà MySQL hay MongoDB không thể đạt được
Phân tích mạng xã hội và hệ thống gợi ý
Cassandra cũng được tận dụng rộng rãi cho phân tích dữ liệu mạng xã hội và hệ thống gợi ý cá nhân hóa nhờ khả năng xử lý khối lượng sự kiện hành vi người dùng khổng lồ và cho phép truy vấn gần thời gian thực.
Chẳng hạn, Spotify dùng Cassandra làm cơ sở dữ liệu chính cho hệ thống cá nhân hóa. Cụm Cassandra đã mở rộng lưu trữ thuộc tính người dùng và metadata của playlist từ vài chục GB lên hơn 100 GB khi tăng gấp đôi số node, đồng thời giảm được gần một nửa độ trễ truy vấn.
So sánh Cassandra, ScyllaDB, MongoDB
Để lựa chọn cơ sở dữ liệu NoSQL phù hợp cho ứng dụng lớn, việc hiểu rõ sự khác biệt giữa Apache Cassandra, ScyllaDB và MongoDB là rất quan trọng. Mỗi hệ thống có thế mạnh riêng về hiệu suất, khả năng mở rộng, tính nhất quán và kiến trúc lưu trữ.
Kết luận
Thông quan những kiến thức được chia sẻ, bạn có thể hiểu được Cassandra là gì và tính ứng dụng của nó. Nếu bạn đang xây dựng một nền tảng cần xử lý dữ liệu lớn theo thời gian thực với độ tin cậy cao, Cassandra chắc chắn là một trong những giải pháp đáng cân nhắc nhất.
Để được hỗ trợ tư vấn và tìm hiểu các dịch vụ của Viettel, bạn có thể liên hệ trực tiếp tới Viettel IDC qua các kênh:
- Hotline: 1800 8088 (miễn phí cước gọi)
- Fanpage: https://www.facebook.com/viettelidc
Tin liên quan
Viettel IDC dẫn đầu bảng xếp hạng Enterprise of Choice 2026 tại nhiều hạng mục quan trọng
Viettel IDC đạt 6 thứ hạng nổi bật tại Enterprise of Choice 2026, trong đó có 5 vị trí Top 1 ở các hạng mục về công nghệ thông tin, phát triển bền vững, doanh nghiệp được yêu thích bởi người lao động, lãnh đạo và thế hệ trẻ. Kết quả ghi nhận những nỗ lực của doanh nghiệp trong xây dựng môi trường làm việc tích cực, lấy con người làm trung tâm.
So sánh các dịch vụ cloud backup phổ biến tại Việt Nam
So sánh các dịch vụ cloud backup phổ biến tại Việt Nam về phạm vi sao lưu, bảo mật, khôi phục, chi phí và mô hình triển khai để doanh nghiệp dễ lựa chọn.
Dịch vụ lưu trữ đám mây nào tốt nhất cho doanh nghiệp nhỏ 2026? 9 lựa chọn nên tham khảo
So sánh 9 dịch vụ lưu trữ đám mây cho doanh nghiệp nhỏ năm 2026: công cụ chia sẻ file, Object Storage trong nước và quốc tế, kèm tiêu chí chọn nhà cung cấp.
Mua chứng chỉ SSL cho website ở đâu uy tín? 5 kênh mua và triển khai
Có 5 kênh mua và triển khai chứng chỉ SSL cho website: CA, đại lý trong nước, nhà cung cấp hosting, nhà đăng ký tên miền và CA miễn phí. Xem ưu nhược điểm và cách kiểm tra nơi bán uy tín.
Lưu trữ ngoài có an toàn không? Rủi ro và cách bảo vệ dữ liệu doanh nghiệp
Lưu trữ dữ liệu bên ngoài có an toàn không? Phân tích rủi ro, các lớp bảo vệ cần có và tiêu chí chọn nhà cung cấp cho doanh nghiệp.
VDS là gì? VDS khác VPS và Dedicated Server như thế nào?
VDS là gì, khác VPS và Dedicated Server ở điểm nào, ưu nhược điểm và trường hợp nên sử dụng.
Cách triển khai observability cho ứng dụng đám mây và microservices như thế nào
Hướng dẫn triển khai observability cho ứng dụng đám mây và microservices qua 7 bước, từ xác định SLI/SLO đến tối ưu chi phí telemetry.
Top nhà cung cấp dịch vụ Dedicated Server giá tốt, tốc độ ổn định tại Việt Nam
Tổng hợp các nhà cung cấp Dedicated Server tại Việt Nam, so sánh mô hình dịch vụ, cấu hình, Data Center, uptime, băng thông và giá công bố.
Top nhà cung cấp dịch vụ Hosting và VPS uy tín tại Việt Nam
Top nhà cung cấp Hosting và VPS uy tín tại Việt Nam. So sánh hạ tầng, uptime, loại dịch vụ và các tiêu chí cần kiểm tra trước khi lựa chọn.
Thuê Cloud GPU có đắt không?
Thuê Cloud GPU có đắt không phụ thuộc vào yếu tố nào? Phân tích các mô hình tính phí, chi phí ẩn và cách tối ưu ngân sách khi dùng GPU đám mây.
Bình luận ()