Contents:
Cassandra là một quản trị hệ cơ sở dữ liệu phân tán mã nguồn mở được thiết kế để xử lý một khối lượng lớn dữ liệu giàn trải trên nhiều node mà vẫn đảm bảo tính sẵn sàng cao (Highly Availability), khả năng mở rộng hay thu giảm số node linh hoạt (Elastic Scalability) và chấp nhận một số lỗi (Fault Tolerant). Nó được phát triển bởi Facebook và vẫn còn tiếp tục phát triển và sử dụng cho mạng xã hội lớn nhất thới giới này. Năm 2008, Facebook chuyển nó cho cộng đồng mã nguồn mở và được Apache tiếp tục phát triển đến ngày hôm nay. Cassandra được coi là sự kết hợp của Amazon’s Dynamo và Google’s BigTable.
Keyspace là một kho chứa các Column Family. Tất cả dữ liệu của Cassandra được đặt trong Keyspace nên có thể tạo một Keyspace duy nhất cho tất các các Column Family. Nhưng ta hoàn toàn có thể tạo nhiều Keyspace cho mỗi dự án khác nhau.Tất cả dữ liệu trong Cassandra sẽ đặt trong một keyspace. Nó có thể được xem như là một cơ sở dữ liệu trong RDBMS, nó là một tập hợp các bảng. Trong trường hợp của Cassandra, một keyspace là một tập hợp hệ thống cột.
Mô hình dữ liệu Cassandra tuân theo quy tắc hệ thống cột (the column family).
Trước khi tạo Keyspace bạn phải đăng nhập vào Cassandra, cách đăng nhập các bạn có thể xem bài viết tạo user và cấp quyền nhé.
cassandra@cqlsh> CREATE KEYSPACE keyspace_name WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'} AND durable_writes = true;
hoặc
cassandra@cqlsh> CREATE KEYSPACE keyspace_name WITH replication = { 'class' : 'NetworkTopologyStrategy'[, '<data center>' : <integer>, '<data center>' : <integer>] . . . }; AND durable_writes = true;
Trong đó keyspace_name là tên Keyspace muốn tạo.
‘class’:’SimpleStrategy’ or ‘NetworkTopologyStrategy’ | Bắt buộc có. “SimpleStrategy” dùng cho Single Datacenter. “Network…” dùng cho Multi Datacenter. |
‘replication_factor’: <number of replicas> | Cần thiết nếu “class” là SimpleStrategy. Số lượng bản sao của dữ liệu. |
‘<first data center>’: <number of replicas> | Cần thiết nếu “class” là NetworkTopologyStrategy. Bạn phải cung cấp tên của Datacenter và số lượng bản sao của dữ liệu. |
‘<next data center>’: <number of replicas> | Cần thiết nếu “class” là NetworkTopologyStrategy. Bạn phải cung cấp tên của Datacenter tiếp theo và số lượng bản sao của dữ liệu trên Datacenter tiếp đó. |
durable_writes: true/false | Khi thiết lập giá trị “false” thì dữ liệu sẽ được khi nhưng bỏ qua việc ghi LOG. Do vậy hãy cẩn thận với tùy chọn này để tránh mất dữ liệu, tuyệt đối không thiết lập khi “class” là SimpleStrategy. |
[quangcao1]
cassandra@cqlsh> CREATE KEYSPACE projectA WITH replication = {'class': 'SimpleStrategy', 'replication_factor': '1'} AND durable_writes = true;
cassandra@cqlsh> CREATE KEYSPACE projectB WITH replication = { 'class' : 'NetworkTopologyStrategy','dc1' : 3, 'dc2' : 5} AND durable_writes = true;
cassandra@cqlsh> SELECT * FROM system.schema_keyspaces;
cassandra@cqlsh>use <keyspaces_name>;
Một bảng tương ứng với 1 cột trong Cassandra, để tạo bảng sử dụng lệnh CREATE TABLE.
root@cqlsh:keyspace_test> CREATE TABLE IF NOT EXISTS student (id int,name text,email text,phone int,PRIMARY KEY (id));
root@cqlsh:keyspace_test> describe tables;
root@cqlsh:keyspace_test> DESCRIBE student;
Ví dụ thêm class vào bảng student đã tạo sử dụng cú pháp:
root@cqlsh:keyspace_test> ALTER TABLE student ADD address text;
Chèn dữ liệu sử dụng cú pháp sau:
INSERT INTO student (id, address, class, email, name, phone) VALUES (001, 'Vietnam', 'A1', 'abc@xxx.com' ,'ABC' , 09999999);
Cập nhật dữ liệu:
UPDATE student SET email='ABC@gmail.com' WHERE id=1;
Để truy vấn dữ liệu sử dụng lệnh SELECT
SELECT * FROM student;
Trên đây là một số thao tác cơ bản trong Cassandra. Chúc các bạn thành công.
Như các bạn đã biết thì Telegram là một dịch vụ tin nhắn tuyệt vời…
Apache Tomcat là gì? Apache Tomcat là một web server HTTP được phát triển bởi…
20 triệu có lẽ là một mức chi phí khá lý tưởng cho một máy…
Micosoft chính thức phát hành Microsoft Edge Chromium Microsoft đã chính thức tung ra trình…
CentOS 8 đã phát hành ngày 25/09/2019, phiên bản 8 lần này có những thay đổi…
Thời buổi công nghệ phát triển, phần lớn công việc của con người đều có…
Leave a Comment