DynamoDB - ภาพรวม

DynamoDB ช่วยให้ผู้ใช้สามารถสร้างฐานข้อมูลที่สามารถจัดเก็บและดึงข้อมูลจำนวนเท่าใดก็ได้และให้บริการปริมาณการใช้ข้อมูลเท่าใดก็ได้ โดยจะกระจายข้อมูลและทราฟฟิกผ่านเซิร์ฟเวอร์โดยอัตโนมัติเพื่อจัดการคำขอของลูกค้าแต่ละรายแบบไดนามิกและยังรักษาประสิทธิภาพที่รวดเร็ว

DynamoDB กับ RDBMS

DynamoDB ใช้แบบจำลอง NoSQL ซึ่งหมายความว่าใช้ระบบที่ไม่ใช่เชิงสัมพันธ์ ตารางต่อไปนี้เน้นความแตกต่างระหว่าง DynamoDB และ RDBMS -

งานทั่วไป RDBMS DynamoDB
Connect to the Source ใช้การเชื่อมต่อแบบต่อเนื่องและคำสั่ง SQL ใช้คำขอ HTTP และการดำเนินการ API
Create a Table โครงสร้างพื้นฐานคือตารางและต้องกำหนด ใช้คีย์หลักเท่านั้นและไม่มีสคีมาในการสร้าง ใช้แหล่งข้อมูลต่างๆ
Get Table Info ข้อมูลตารางทั้งหมดยังคงสามารถเข้าถึงได้ เปิดเผยเฉพาะคีย์หลักเท่านั้น
Load Table Data ใช้แถวที่สร้างจากคอลัมน์ ในตารางจะใช้รายการที่สร้างจากแอตทริบิวต์
Read Table Data ใช้คำสั่ง SELECT และคำสั่งกรอง ใช้ GetItem แบบสอบถามและสแกน
Manage Indexes ใช้ดัชนีมาตรฐานที่สร้างขึ้นผ่านคำสั่ง SQL การแก้ไขจะเกิดขึ้นโดยอัตโนมัติในการเปลี่ยนแปลงตาราง ใช้ดัชนีรองเพื่อให้ได้ฟังก์ชันเดียวกัน ต้องมีข้อมูลจำเพาะ (คีย์พาร์ติชันและคีย์การเรียงลำดับ)
Modify Table Data ใช้คำสั่ง UPDATE มันใช้การดำเนินการ UpdateItem
Delete Table Data ใช้คำสั่ง DELETE มันใช้การดำเนินการ DeleteItem
Delete a Table มันใช้คำสั่ง DROP TABLE ใช้การดำเนินการ DeleteTable

ข้อดี

ข้อดีหลักสองประการของ DynamoDB คือความสามารถในการปรับขนาดและความยืดหยุ่น ไม่ได้บังคับให้ใช้แหล่งข้อมูลและโครงสร้างเฉพาะทำให้ผู้ใช้สามารถทำงานกับแทบทุกอย่าง แต่เป็นแบบเดียวกัน

การออกแบบยังรองรับการใช้งานที่หลากหลายตั้งแต่งานและการดำเนินงานที่มีน้ำหนักเบาไปจนถึงความต้องการการทำงานขององค์กร นอกจากนี้ยังช่วยให้ใช้หลายภาษาได้ง่าย: Ruby, Java, Python, C #, Erlang, PHP และ Perl

ข้อ จำกัด

DynamoDB ประสบกับข้อ จำกัด บางประการอย่างไรก็ตามข้อ จำกัด เหล่านี้ไม่จำเป็นต้องสร้างปัญหาใหญ่หลวงหรือขัดขวางการพัฒนาที่มั่นคง

คุณสามารถตรวจสอบได้จากประเด็นต่อไปนี้ -

  • Capacity Unit Sizes- หน่วยความจุในการอ่านคือการอ่านที่สม่ำเสมอเพียงครั้งเดียวต่อวินาทีสำหรับรายการที่มีขนาดไม่เกิน 4KB หน่วยความจุในการเขียนคือการเขียนครั้งเดียวต่อวินาทีสำหรับรายการที่มีขนาดไม่เกิน 1KB

  • Provisioned Throughput Min/Max- ตารางทั้งหมดและดัชนีทุติยภูมิทั่วโลกมีหน่วยความสามารถในการอ่านและการเขียนอย่างน้อยหนึ่งหน่วย สูงสุดขึ้นอยู่กับภูมิภาค ในสหรัฐอเมริกาการอ่านและเขียน 40K ยังคงเป็นขีด จำกัด ต่อตาราง (80K ต่อบัญชี) และภูมิภาคอื่น ๆ จะมีขีด จำกัด 10K ต่อตารางโดยมีขีด จำกัด บัญชี 20K

  • Provisioned Throughput Increase and Decrease - คุณสามารถเพิ่มได้บ่อยเท่าที่ต้องการ แต่การลดจะ จำกัด อยู่ที่ไม่เกินสี่ครั้งต่อวันต่อโต๊ะ

  • Table Size and Quantity Per Account - ขนาดโต๊ะไม่มีขีด จำกัด แต่บัญชีมีขีด จำกัด 256 ตารางเว้นแต่คุณจะขอขีด จำกัด ที่สูงขึ้น

  • Secondary Indexes Per Table - อนุญาตให้ใช้ในท้องถิ่นห้าแห่งและระดับโลกห้าแห่ง

  • Projected Secondary Index Attributes Per Table - DynamoDB อนุญาต 20 แอตทริบิวต์

  • Partition Key Length and Values - ความยาวต่ำสุดอยู่ที่ 1 ไบต์และสูงสุดที่ 2048 ไบต์อย่างไรก็ตาม DynamoDB ไม่ จำกัด ค่า

  • Sort Key Length and Values - ความยาวต่ำสุดคือ 1 ไบต์และสูงสุดที่ 1024 ไบต์โดยไม่ จำกัด ค่าเว้นแต่ว่าตารางจะใช้ดัชนีรองในเครื่อง

  • Table and Secondary Index Names - ชื่อต้องมีความยาวอย่างน้อย 3 อักขระและไม่เกิน 255 ตัวโดยใช้อักขระต่อไปนี้: AZ, az, 0-9,“ _”,“ -” และ“.”

  • Attribute Names - อักขระหนึ่งตัวยังคงเป็นค่าต่ำสุดและสูงสุด 64KB โดยมีข้อยกเว้นสำหรับคีย์และคุณลักษณะบางอย่าง

  • Reserved Words - DynamoDB ไม่ได้ป้องกันการใช้คำสงวนเป็นชื่อ

  • Expression Length- สตริงนิพจน์มีขีด จำกัด 4KB นิพจน์แอตทริบิวต์มีขีด จำกัด 255 ไบต์ ตัวแปรการแทนที่ของนิพจน์มีขีด จำกัด 2MB