12/08/2018, 16:15

Các câu lệnh cần thiết khi QA sử dụng Cassandra

1. Cassandra. Cassandra là một cơ sở dữ liệu phân tán từ Apache có khả năng mở rộng cao và được thiết kế để quản lý số lượng dữ liệu có cấu trúc rất lớn. Chính vì vậy mà một hệ quản trị cơ sở dữ liệu mới đã ra đời nhằm khắc phục những nhược điểm còn tồn tại trên RDBMS đó là NoSQL. NoSQL (Non – ...

1. Cassandra.

  • Cassandra là một cơ sở dữ liệu phân tán từ Apache có khả năng mở rộng cao và được thiết kế để quản lý số lượng dữ liệu có cấu trúc rất lớn.
  • Chính vì vậy mà một hệ quản trị cơ sở dữ liệu mới đã ra đời nhằm khắc phục những nhược điểm còn tồn tại trên RDBMS đó là NoSQL. NoSQL (Non – only SQL) có thể hiểu một cách đơn giản đó là không chỉ có SQL mà có thể có nhiều cơ chế lưu trữ khác được sử dụng dựa trên yêu cầu phần mềm.

2. Cassandra - Cqlsh.

  • Theo mặc định, Cassandra cung cấp một trình bao ngôn ngữ truy vấn nhanh Cassandra (cqlsh) cho phép người dùng giao tiếp với nó.

  • Sử dụng cqlsh, bạn có thể

    • Define a schema.
    • Insert data.
    • Execute a query.
  • Starting cqlsh

  • Lệnh này được sử dụng để bắt đầu nhắc lệnh cqlsh. Ngoài ra, nó hỗ trợ thêm một vài lựa chọn nữa. Bảng dưới đây giải thích tất cả các tùy chọn của cqlsh và cách sử dụng chúng.

    Options Usage
    cqlsh --help Hiển thị các chủ đề trợ giúp về các tùy chọn của lệnh cqlsh
    cqlsh --version Cung cấp phiên bản của cqlsh bạn đang sử dụng
    cqlsh --debug Hiển thị thông tin debug i bổ sung
    cqlsh -u “user name” Sử dụng tùy chọn này, bạn có thể xác thực người dùng. Tên người dùng mặc định là: cassandra
    cqlsh-p “pass word” Sử dụng tùy chọn này, bạn có thể xác thực một người dùng có mật khẩu. Mật khẩu mặc định là: cassandra

3. Insert Data.

  • ' Insert Data' ghi dữ liệu trong các cột Cassandra ở dạng hàng. Nó sẽ lưu trữ chỉ những cột được cung cấp bởi người sử dụng. Bạn phải chỉ định rõ ràng cột chính.

  • Syntax

    Insert into KeyspaceName.TableName(ColumnName1, ColumnName2, ColumnName3 . . . .)
    values (Column1Value, Column2Value, Column3Value . . . .)
    
  • Execution

  • Đây là lệnh thực hiện 'Insert into' sẽ chèn một bản ghi vào bảng Cassandra 'Student'.

  • Result

  • Sau khi thực hiện thành công lệnh 'Insert Into', một hàng sẽ được đưa vào bảng Student của Cassandra với RollNo 2, Name Michael, dept CS và Semester 2.

4. Update Data.

  • Lệnh 'Update' được sử dụng để cập nhật dữ liệu trong bảng Cassandra. Nếu không có kết quả nào được trả lại sau khi cập nhật dữ liệu, nó có nghĩa là dữ liệu được cập nhật thành công nếu không lỗi sẽ được trả về.

  • Các giá trị của cột được thay đổi trong mệnh đề 'Set' trong khi dữ liệu được lọc với mệnh đề 'Where'.

  • Syntax

    Update KeyspaceName.TableName 
    Set ColumnName1=new Column1Value,
         ColumnName2=new Column2Value,
         ColumnName3=new Column3Value,
          .
          .
          .
    Where ColumnName=ColumnValue
    
  • Execution

  • Đây là trạng thái cơ sở dữ liệu trước khi cập nhật dữ liệu.

  • Đây là lệnh thực hiện 'Cập nhật' cập nhật bản ghi trong bảng sinh viên.

  • Result

  • Sau khi thực hiện thành công lệnh 'Update Student', tên sinh viên sẽ được đổi từ 'Clark' thành 'Hayden' có rollno 1.

5. Delete Data.

  • Lệnh 'Xóa' loại bỏ toàn bộ hàng hoặc một số cột từ bảng Sinh viên. Khi dữ liệu bị xóa, nó không bị xóa khỏi bảng ngay lập tức.

  • Syntax

  • Câu lệnh này sẽ xóa một hoặc nhiều hàng phụ thuộc vào việc lọc dữ liệu trong mệnh đề where.

     Delete from KeyspaceName.TableName
     Where ColumnName1=ColumnValue
    
  • Câu lệnh này sẽ xóa một số cột từ bảng

    Delete ColumnNames from KeyspaceName.TableName
    Where ColumnName1=ColumnValue
    
  • Execution

  • Đây là trạng thái cơ sở dữ liệu hiện tại trước khi xóa dữ liệu.

  • Chúng ta thực hiện lệnh sau sẽ xóa một hàng từ bảng Student.

  • Result

  • Sau khi thực hiện thành công lệnh 'Xoá', một hàng sẽ bị xóa khỏi bảng Sinh viên ở đó giá trị rollno là 1.

6. Những câu lệnh Cassandra không hổ trợ

  • CQL không hỗ trợ các truy vấn tổng hợp như max, min, avg.
  • CQL không hỗ trợ các lệnh group by, having queries.
  • CQL không hỗ trợ các lệnh joins.
  • CQL không hỗ trợ các truy vấn OR queries.

Nguồn Tham Khảo:

  • http://www.tutorialspoint.com/cassandra/
  • https://www.guru99.com/cassandra-query-language-cql-insert-update-delete-read-data.html
0