Nghiên cứu tình huống Apache Cassandra

Các khái niệm NoSQL

Miriam Antona

Software engineer

Apache Cassandra - tổng quan

Logo Apache Cassandra

  • CSDL dạng cột phổ biến
  • Ban đầu do Facebook phát triển
  • Mã nguồn mở
  • Sau đó trở thành dự án của Apache Foundation
Các khái niệm NoSQL

Apache Cassandra - tính năng

  • Phân tán
    • Dữ liệu phân tán trên các nút trong cụm
    • Mỗi nút có vai trò như nhau
    • Không có nút chủ
  • Khả dụng cao
  • Không có điểm lỗi đơn
  • Mở rộng ngang bằng cách thêm nút
  • Driver khách hàng Cassandra: C#, Java, Python, Scala, v.v.
Các khái niệm NoSQL

Apache Cassandra - tính năng

  • Cassandra Query Language (gọi là CQL)
    • Truy vấn dữ liệu
    • Cú pháp tương tự SQL
    • Bảng (cho họ cột), hàng và cột
    • Khác biệt giữa CQL và SQL:
      • không join
      • không khóa ngoại
      • không truy vấn lồng, v.v.
      • mỗi hàng có thể có số cột khác nhau
SELECT * FROM users WHERE user_id IN (212, 213, 214);
Các khái niệm NoSQL

Apache Cassandra - hệ sinh thái

  • Các dự án, công cụ, sản phẩm và dịch vụ Cassandra bên thứ ba
    • Dịch vụ đám mây
    • Công cụ cài đặt
    • Framework cho nhà phát triển
    • Trình kết nối
    • v.v.
Các khái niệm NoSQL

Apache Cassandra - khách hàng

Logo của một số khách hàng Apache Cassandra

Các khái niệm NoSQL

Nghiên cứu tình huống Bigmate - tổng quan

  • Theo dõi vị trí
  • Cảm biến công nghiệp
  • Năng suất

Logo Bigmate

Các khái niệm NoSQL

Nghiên cứu tình huống Bigmate - vấn đề và giải pháp

  • Nền tảng IoT:
    • Thu nhận và xử lý khối lượng lớn dữ liệu đa dạng
    • Tích hợp cảm biến, thiết bị IoT và nền tảng khác
    • Xử lý dữ liệu thời gian thực
    • Mở rộng và triển khai tại nhiều địa điểm
    • Ví dụ ứng dụng:
      • Thermy -> ghi nhận nhiệt độ da người
      • Warny -> phát hiện va chạm tiềm ẩn
  • Đã thử MySQL, MongoDB, Apache Cassandra, v.v.
    • Chọn Apache Cassandra
    • Mở rộng tốt hơn
Các khái niệm NoSQL

Nghiên cứu tình huống Bigmate - kết quả

  • Hàng triệu thao tác từ người dùng đồng thời
  • Hiển thị 20.000 điểm dữ liệu thời gian thực cho một khách hàng
  • Chịu lỗi (nhân bản dữ liệu)
Các khái niệm NoSQL

Nghiên cứu tình huống Bigmate - kết quả

  • Hàng triệu thao tác từ người dùng đồng thời
  • Hiển thị 20.000 điểm dữ liệu thời gian thực cho một khách hàng
  • Chịu lỗi (nhân bản dữ liệu)
1 https://cassandra.apache.org/case-studies/
Các khái niệm NoSQL

Ayo berlatih!

Các khái niệm NoSQL

Preparing Video For Download...