Kiến trúc Cosmos DB

Phát triển cho Azure Storage

Shahzad Mian

Content developer, DataCamp

Azure Cosmos DB

Azure_Cosmos_DB.svg.png

Phát triển cho Azure Storage

Vấn đề

Vấn đề Cosmos DB

Phát triển cho Azure Storage

Cosmos DB là gì?

 

CosmosDB

  • Cơ sở dữ liệu NoSQL đa mô hình, phân phối toàn cầu.
  • NoSQL: lưu trữ linh hoạt, giống thư mục.
  • Hỗ trợ nhiều API và kiểu dữ liệu.
  • Như menu linh hoạt: chọn “hương vị” API:
    • SQL (Core) cho tài liệu JSON.
    • MongoDB cho nhà phát triển Mongo.
    • Cassandra cho dữ liệu wide-column.
    • Gremlin cho quan hệ đồ thị.
    • Table API cho lưu trữ key-value.
Phát triển cho Azure Storage

Cosmos DB cho nhà phát triển

  • Thiết kế hướng đến nhà phát triển.
  • Tự động lập chỉ mục, không cần quản lý lược đồ.
  • Truy vấn nhanh.
  • Năm mức nhất quán: từ Strong đến Eventual.
  • Đánh đổi hiệu năng và nhất quán.
    • Strong: mọi người thấy cập nhật ngay.
    • Eventual: mọi người đồng bộ sau.

 

Nhất quán mạnh và cuối cùng

Phát triển cho Azure Storage

Mở rộng và thông lượng (RU/s)

Chế độ cấp phát

  • Request Units per second (RU/s) = “đơn vị hiệu năng” của Cosmos DB.
  • Mỗi thao tác đọc/ghi/truy vấn tiêu tốn RU/s.
  • Chọn cấp phát cố định hoặc tự động (autoscale).
Phát triển cho Azure Storage

Mở rộng và thông lượng (RU/s)

Mở rộng

  • Request Units per second (RU/s) = “đơn vị hiệu năng” của Cosmos DB.
  • Mỗi thao tác đọc/ghi/truy vấn tiêu tốn RU/s.
  • Chọn cấp phát cố định hoặc tự động.
  • Autoscale tự điều chỉnh theo nhu cầu.
Phát triển cho Azure Storage

Mở rộng đàn hồi và phân vùng

  • Cosmos DB mở rộng qua phân vùng.
  • Mỗi container dùng một khóa phân vùng.
  • Khóa nhóm dữ liệu liên quan.
  • Ví dụ: Cipher Coffee dùng /customerId cho đơn hàng.
  • Mọi đơn của một khách nằm cùng phân vùng khi dùng khóa /customerId.
  • Truy vấn vẫn nhanh khi dữ liệu tăng.
  • Hot partition: tải phân vùng lệch gây chậm hiệu năng.

Mở rộng đàn hồi và phân vùng

Phát triển cho Azure Storage

Phân phối toàn cầu

  • Dễ dàng sao chép dữ liệu tới mọi khu vực Azure.
  • Chỉ cần tick chọn, không cần cấu hình phức tạp.
  • Nếu một khu vực lỗi, lưu lượng tự chuyển hướng.
  • Không downtime, không mất dữ liệu.
  • Như một quán dự phòng luôn sẵn sàng phục vụ.

Phân phối toàn cầu

Phát triển cho Azure Storage

Giám sát và tối ưu chi phí

  • Theo dõi hiệu năng trong Azure Portal.
  • Xem RU/s, độ trễ, và chi phí yêu cầu.
  • Như bảng đồng hồ xe: tốc độ và nhiên liệu.
  • Kỹ sư Cipher Coffee phân tích các chỉ số này.
  • Giảm chi phí bằng cách điều chỉnh thông lượng động.

Giám sát

Phát triển cho Azure Storage

Ayo berlatih!

Phát triển cho Azure Storage

Preparing Video For Download...