Lưu trữ bảng

Phát triển cho Azure Storage

Shahzad Mian

Content developer, DataCamp

Table Storage

Biểu tượng Storage

Phát triển cho Azure Storage

Hiểu về Table Storage

  • Xác định khi nào dùng Azure Table Storage so với Cosmos DB.
  • Hiểu cách tổ chức dữ liệu bằng table, entity và property.
  • Thực hiện tạo, đọc, cập nhật, xóa trong một Table.

Table Storage vs CosmosDB

CRUD

Phát triển cho Azure Storage

Table Storage là gì?

  • Azure Table Storage cung cấp cách lưu dữ liệu có cấu trúc đơn giản, không schema.
  • Phù hợp cho tình huống nhẹ như:
    • Log
    • Telemetry IoT
    • Thiết lập cấu hình
  • Kho dữ liệu nhanh, rẻ cho tra cứu đơn giản.
  • Không cần schema hay quan hệ phức tạp.

Bảng dữ liệu

Sơ đồ quan hệ ghi chú "Nối phức tạp = Không cần ở đây

Phát triển cho Azure Storage

Khi nào dùng Table Storage

  • Dùng cho truy cập dữ liệu có cấu trúc nhanh, tiết kiệm, tra cứu key-value đơn giản.
  • Tình huống phổ biến:
    • Lưu đọc số liệu cảm biến IoT.
    • Dữ liệu cấu hình.
  • Ưu tiên đơn giản và mở rộng thay vì truy vấn phức tạp.

Khi nào dùng Table Storage

Phát triển cho Azure Storage

Khi nào nên dùng Cosmos DB?

  • Cosmos DB = truy vấn nâng cao, phân phối toàn cầu, hoặc nhiều API.
    • Hỗ trợ sao chép toàn cầu độ trễ thấp và lập chỉ mục phong phú.
    • Lý tưởng cho ứng dụng quy mô lớn, hiệu năng cao.
    • Phù hợp hơn khi cần API như MongoDB hoặc Cassandra.
  • Đánh đổi: nhiều tính năng => chi phí cao hơn.

So sánh Azure Table và Cosmos DB

Phát triển cho Azure Storage

Tổ chức dữ liệu

Ví dụ Table Storage

  • Dữ liệu trong Table Storage được nhóm thành table.
  • Mỗi table chứa entity (tương tự hàng).
  • Mỗi entity có property (tương tự cột).
  • Mọi entity phải có PartitionKeyRowKey để định danh duy nhất.
  • Các khóa này giúp truy vấn nhanh và hiệu quả ở quy mô lớn.
Phát triển cho Azure Storage

Thao tác CRUD

  • Có thể thực hiện CRUD bằng:
    • Azure Portal.
    • SDK hoặc REST API.
    • Azure Storage Explorer.
  • Quản lý dữ liệu không cần lo về index hay cập nhật schema.

Thao tác CRUD

Phát triển cho Azure Storage

Ví dụ tạo mới

  • Khi thêm entity, xác định PartitionKeyRowKey duy nhất.
  • Bản ghi ví dụ cho khách hàng như sau:
      "PartitionKey": "CustomerA",
      "RowKey": "1001",
      "Name": "Ava",
      "Points": 120

Phát triển cho Azure Storage

Truy vấn

Truy vấn

Phát triển cho Azure Storage

Cập nhật và xóa

  • Cập nhật sẽ thay thế thuộc tính của entity bằng giá trị mới.

  • Xóa sẽ loại bỏ hoàn toàn entity.

  • Lệnh ví dụ:


table_client.update_entity(entity)
table_client.delete_entity("CustomerA","1001")
  • Nền tảng để làm việc với Table Storage.
Phát triển cho Azure Storage

Điểm chính

  • Dùng Table Storage cho dữ liệu có cấu trúc đơn giản, mở rộng tốt, chi phí thấp.

  • Mỗi bản ghi cần PartitionKeyRowKey.

  • Dùng Cosmos DB khi cần truy vấn phong phú, sao chép toàn cầu, hoặc nhiều mô hình dữ liệu.

  • Cả hai có thể bổ trợ nhau trong kiến trúc dữ liệu lai.

Tóm tắt Table Storage

Bảng với partition key và row key

Phát triển cho Azure Storage

Ayo berlatih!

Phát triển cho Azure Storage

Preparing Video For Download...