Table Storage

พัฒนาแอปพลิเคชันบน Azure Storage

Shahzad Mian

Content developer, DataCamp

Table storage

ไอคอน Storage

พัฒนาแอปพลิเคชันบน Azure Storage

ทำความเข้าใจ Table storage

  • รู้จักเลือกใช้ Azure Table Storage หรือ Cosmos DB ให้เหมาะสม
  • เข้าใจโครงสร้างข้อมูลที่ประกอบด้วย tables, entities และ properties
  • ดำเนินการ create, read, update และ delete ข้อมูลใน Table

Table storage vs CosmosDB

CRUD

พัฒนาแอปพลิเคชันบน Azure Storage

Table storage คืออะไร?

  • Azure Table Storage เก็บข้อมูลเชิงโครงสร้างแบบง่าย ไม่มี schema คงที่
  • เหมาะสำหรับสถานการณ์น้ำหนักเบา เช่น:
    • Logs
    • IoT telemetry
    • Configuration settings
  • เข้าถึงข้อมูลได้เร็วและประหยัด เหมาะกับการค้นหาแบบตรงไปตรงมา
  • ไม่จำเป็นต้องมี schema หรือความสัมพันธ์ที่ซับซ้อน

ตารางข้อมูล

แผนภาพ relational schema ที่ระบุว่า "Complex joins = Not needed here

พัฒนาแอปพลิเคชันบน Azure Storage

เมื่อใดควรใช้ Table storage

  • เข้าถึงข้อมูลเชิงโครงสร้างได้รวดเร็วและประหยัดด้วยการค้นหาแบบ key-value
  • กรณีใช้งานทั่วไป:
    • เก็บข้อมูลจาก IoT sensor
    • ข้อมูล configuration
  • เหมาะที่สุดเมื่อต้องการความเรียบง่ายและรองรับการขยายขนาด มากกว่าการ query ซับซ้อน

เมื่อใดควรใช้ Table storage

พัฒนาแอปพลิเคชันบน Azure Storage

เมื่อใดควรใช้ Cosmos DB แทน?

  • Cosmos DB = query ขั้นสูง, กระจายข้อมูลทั่วโลก หรือรองรับหลาย API
    • รองรับการ replication ทั่วโลกด้วย latency ต่ำและ indexing ที่หลากหลาย
    • เหมาะสำหรับแอปพลิเคชันขนาดใหญ่ที่ต้องการประสิทธิภาพสูง
    • เหมาะกว่าเมื่อต้องรองรับ API เช่น MongoDB หรือ Cassandra
  • ข้อแลกเปลี่ยน: ฟีเจอร์มากกว่า แต่มีค่าใช้จ่ายสูงกว่า

Azure Table vs Cosmos DB

พัฒนาแอปพลิเคชันบน Azure Storage

การจัดระเบียบข้อมูล

ตัวอย่าง Table storage

  • ข้อมูลใน Table Storage จัดกลุ่มอยู่ใน tables
  • แต่ละ table ประกอบด้วย entities ซึ่งคล้ายกับแถว
  • แต่ละ entity มี properties ซึ่งคล้ายกับคอลัมน์
  • ทุก entity ต้องมี PartitionKey และ RowKey เพื่อระบุตัวตนเฉพาะ
  • key เหล่านี้ช่วยให้ query รวดเร็วและมีประสิทธิภาพแม้ข้อมูลจะมีขนาดใหญ่
พัฒนาแอปพลิเคชันบน Azure Storage

การดำเนินการ CRUD

  • ดำเนินการ CRUD ได้ผ่าน:
    • Azure Portal
    • SDK หรือ REST API
    • Azure Storage Explorer
  • จัดการข้อมูลได้โดยไม่ต้องกังวลเรื่อง index หรือการอัปเดต schema

การดำเนินการ CRUD

พัฒนาแอปพลิเคชันบน Azure Storage

ตัวอย่างการ Create

  • เพื่อเพิ่ม entity ให้กำหนด PartitionKey และ RowKey ที่ไม่ซ้ำกัน
  • ตัวอย่างข้อมูลสำหรับลูกค้า:
      "PartitionKey": "CustomerA",
      "RowKey": "1001",
      "Name": "Ava",
      "Points": 120

พัฒนาแอปพลิเคชันบน Azure Storage

การ Query

Screenshot 2025-12-29 at 10.39.44 pm.png

พัฒนาแอปพลิเคชันบน Azure Storage

Update และ Delete

  • การ Update จะแทนที่ properties ของ entity ด้วยค่าใหม่

  • การ Delete จะลบ entity ออกทั้งหมด

  • ตัวอย่างคำสั่ง:


table_client.update_entity(entity)
table_client.delete_entity("CustomerA","1001")
  • พื้นฐานสำคัญสำหรับการทำงานกับ Table Storage
พัฒนาแอปพลิเคชันบน Azure Storage

สรุปประเด็นสำคัญ

  • ใช้ Table Storage สำหรับข้อมูลเชิงโครงสร้างที่เรียบง่าย รองรับการขยายขนาด และประหยัดค่าใช้จ่าย

  • ทุก record ต้องมี PartitionKey และ RowKey

  • ใช้ Cosmos DB เมื่อต้องการ query ที่หลากหลาย, replication ทั่วโลก หรือรองรับหลาย data model

  • ทั้งสองบริการเสริมกันได้ดีในสถาปัตยกรรมข้อมูลแบบ hybrid

สรุป Table storage

ตารางที่มี partition key และ row key

พัฒนาแอปพลิเคชันบน Azure Storage

มาฝึกกันเถอะ!

พัฒนาแอปพลิเคชันบน Azure Storage

Preparing Video For Download...