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