Cassandra - Giới thiệu
Apache Cassandra là một cơ sở dữ liệu phân tán hiệu suất cao, có khả năng mở rộng cao, được thiết kế để xử lý lượng lớn dữ liệu trên nhiều máy chủ hàng hóa, mang lại tính khả dụng cao mà không có điểm lỗi nào. Nó là một loại cơ sở dữ liệu NoSQL. Đầu tiên chúng ta hãy hiểu cơ sở dữ liệu NoSQL làm gì.
NoSQLDatabase
Cơ sở dữ liệu NoSQL (đôi khi được gọi là Không chỉ SQL) là một cơ sở dữ liệu cung cấp cơ chế lưu trữ và truy xuất dữ liệu khác với các quan hệ bảng được sử dụng trong cơ sở dữ liệu quan hệ. Các cơ sở dữ liệu này không có giản đồ, hỗ trợ sao chép dễ dàng, có API đơn giản, cuối cùng nhất quán và có thể xử lý một lượng lớn dữ liệu.
Mục tiêu chính của cơ sở dữ liệu NoSQL là có
- sự đơn giản của thiết kế,
- mở rộng theo chiều ngang và
- kiểm soát tốt hơn đối với tính khả dụng.
Cơ sở dữ liệu NoSql sử dụng cấu trúc dữ liệu khác với cơ sở dữ liệu quan hệ. Nó làm cho một số hoạt động nhanh hơn trong NoSQL. Tính phù hợp của một cơ sở dữ liệu NoSQL nhất định phụ thuộc vào vấn đề mà nó phải giải quyết.
Cơ sở dữ liệu quan hệ NoSQL vs.
Bảng sau liệt kê các điểm giúp phân biệt cơ sở dữ liệu quan hệ với cơ sở dữ liệu NoSQL.
Cơ sở dữ liệu quan hệ | Cơ sở dữ liệu NoSql |
---|---|
Hỗ trợ ngôn ngữ truy vấn mạnh mẽ. | Hỗ trợ ngôn ngữ truy vấn rất đơn giản. |
Nó có một lược đồ cố định. | Không có lược đồ cố định. |
Tuân theo ACID (Tính nguyên tử, Tính nhất quán, Tính cô lập và Độ bền). | Nó chỉ là "cuối cùng nhất quán". |
Hỗ trợ các giao dịch. | Không hỗ trợ giao dịch. |
Ngoài Cassandra, chúng tôi có các cơ sở dữ liệu NoSQL sau đây khá phổ biến:
Apache HBase- HBase là một cơ sở dữ liệu phân tán mã nguồn mở, không quan hệ, được mô phỏng theo BigTable của Google và được viết bằng Java. Nó được phát triển như một phần của dự án Apache Hadoop và chạy trên HDFS, cung cấp các khả năng giống như BigTable cho Hadoop.
MongoDB - MongoDB là một hệ thống cơ sở dữ liệu hướng tài liệu đa nền tảng, tránh sử dụng cấu trúc cơ sở dữ liệu quan hệ dựa trên bảng truyền thống mà ủng hộ các tài liệu dạng JSON với các lược đồ động giúp cho việc tích hợp dữ liệu trong một số loại ứng dụng dễ dàng và nhanh chóng hơn.
Apache Cassandra là gì?
Apache Cassandra là một hệ thống lưu trữ (cơ sở dữ liệu) mã nguồn mở, phân tán và phi tập trung / phân tán, để quản lý một lượng rất lớn dữ liệu có cấu trúc trải rộng trên toàn thế giới. Nó cung cấp dịch vụ có tính khả dụng cao mà không có điểm lỗi nào.
Dưới đây là một số điểm đáng chú ý của Apache Cassandra -
Nó có khả năng mở rộng, chịu lỗi và nhất quán.
Nó là một cơ sở dữ liệu hướng cột.
Thiết kế phân phối của nó dựa trên Dynamo của Amazon và mô hình dữ liệu của nó trên Bigtable của Google.
Được tạo ra tại Facebook, nó khác hẳn với các hệ thống quản lý cơ sở dữ liệu quan hệ.
Cassandra triển khai mô hình sao chép kiểu Dynamo mà không có điểm lỗi nào, nhưng bổ sung thêm mô hình dữ liệu “họ cột” mạnh mẽ hơn.
Cassandra đang được sử dụng bởi một số công ty lớn nhất như Facebook, Twitter, Cisco, Rackspace, ebay, Twitter, Netflix, v.v.
Đặc điểm của Cassandra
Cassandra đã trở nên quá phổ biến vì các tính năng kỹ thuật vượt trội của nó. Dưới đây là một số tính năng của Cassandra:
Elastic scalability- Cassandra có khả năng mở rộng cao; nó cho phép thêm nhiều phần cứng hơn để đáp ứng nhiều khách hàng hơn và nhiều dữ liệu hơn theo yêu cầu.
Always on architecture - Cassandra không có điểm lỗi duy nhất và nó liên tục có sẵn cho các ứng dụng quan trọng của doanh nghiệp không thể xảy ra lỗi.
Fast linear-scale performance- Cassandra có thể mở rộng tuyến tính, tức là, nó tăng thông lượng của bạn khi bạn tăng số lượng nút trong cụm. Do đó nó duy trì thời gian phản hồi nhanh chóng.
Flexible data storage- Cassandra đáp ứng tất cả các định dạng dữ liệu có thể có bao gồm: có cấu trúc, bán cấu trúc và không có cấu trúc. Nó có thể tự động điều chỉnh các thay đổi đối với cấu trúc dữ liệu của bạn theo nhu cầu của bạn.
Easy data distribution - Cassandra cung cấp sự linh hoạt để phân phối dữ liệu ở những nơi bạn cần bằng cách sao chép dữ liệu trên nhiều trung tâm dữ liệu.
Transaction support - Cassandra hỗ trợ các thuộc tính như Tính nguyên tử, Tính nhất quán, Tính cô lập và Độ bền (ACID).
Fast writes- Cassandra được thiết kế để chạy trên phần cứng hàng hóa giá rẻ. Nó thực hiện ghi cực nhanh và có thể lưu trữ hàng trăm terabyte dữ liệu mà không làm giảm hiệu quả đọc.
Lịch sử của Cassandra
- Cassandra được phát triển tại Facebook để tìm kiếm hộp thư đến.
- Nó được Facebook mở nguồn vào tháng 7 năm 2008.
- Cassandra được nhận vào Vườn ươm Apache vào tháng 3 năm 2009.
- Nó đã được thực hiện một dự án cấp cao nhất của Apache kể từ tháng 2 năm 2010.