DynamoDB - แนวทางปฏิบัติที่ดีที่สุด
แนวทางปฏิบัติบางประการเพิ่มประสิทธิภาพโค้ดป้องกันข้อผิดพลาดและลดต้นทุนปริมาณงานเมื่อทำงานกับแหล่งข้อมูลและองค์ประกอบต่างๆ
ต่อไปนี้เป็นแนวทางปฏิบัติที่ดีที่สุดที่สำคัญที่สุดและใช้กันทั่วไปใน DynamoDB
ตาราง
การกระจายตารางหมายถึงแนวทางที่ดีที่สุดที่จะกระจายกิจกรรมการอ่าน / เขียนอย่างเท่าเทียมกันในทุกรายการในตาราง
มุ่งเป้าไปที่การเข้าถึงข้อมูลที่สม่ำเสมอบนรายการตาราง การใช้งานทรูพุตที่เหมาะสมที่สุดขึ้นอยู่กับการเลือกคีย์หลักและรูปแบบปริมาณงานรายการ กระจายภาระงานอย่างเท่าเทียมกันในค่าคีย์พาร์ติชัน หลีกเลี่ยงสิ่งต่างๆเช่นค่าคีย์พาร์ติชันที่ใช้งานหนักจำนวนเล็กน้อย เลือกตัวเลือกที่ดีกว่าเช่นค่าคีย์พาร์ติชันที่แตกต่างกันจำนวนมาก
ทำความเข้าใจเกี่ยวกับลักษณะการทำงานของพาร์ติชัน ประมาณพาร์ติชันที่จัดสรรโดยอัตโนมัติโดย DynamoDB
DynamoDB นำเสนอการใช้งานปริมาณงานต่อเนื่องซึ่งสงวนปริมาณงานที่ไม่ได้ใช้สำหรับการ "ระเบิด" ของพลังงาน หลีกเลี่ยงการใช้ตัวเลือกนี้ในปริมาณมากเนื่องจากการระเบิดจะใช้ปริมาณงานจำนวนมากอย่างรวดเร็ว นอกจากนี้ยังไม่ได้พิสูจน์ทรัพยากรที่เชื่อถือได้
ในการอัปโหลดให้แจกจ่ายข้อมูลเพื่อให้ได้ประสิทธิภาพที่ดีขึ้น ดำเนินการนี้โดยการอัปโหลดไปยังเซิร์ฟเวอร์ที่จัดสรรทั้งหมดพร้อมกัน
แคชรายการที่ใช้บ่อยเพื่อยกเลิกกิจกรรมการอ่านไปยังแคชแทนที่จะเป็นฐานข้อมูล
รายการ
การควบคุมปริมาณประสิทธิภาพขนาดและต้นทุนการเข้าถึงยังคงเป็นปัญหาที่ใหญ่ที่สุดสำหรับสินค้า เลือกใช้ตารางแบบตัวต่อตัว ลบแอตทริบิวต์และแบ่งตารางเพื่อให้ตรงกับรูปแบบการเข้าถึง คุณสามารถปรับปรุงประสิทธิภาพได้อย่างมากด้วยวิธีง่ายๆนี้
บีบอัดค่าขนาดใหญ่ก่อนจัดเก็บ ใช้เครื่องมือบีบอัดมาตรฐาน ใช้ที่เก็บข้อมูลสำรองสำหรับค่าแอ็ตทริบิวต์ขนาดใหญ่เช่น S3 คุณสามารถจัดเก็บออบเจ็กต์ใน S3 และตัวระบุในรายการ
แจกจ่ายแอตทริบิวต์ขนาดใหญ่ในหลายรายการผ่านชิ้นส่วนรายการเสมือน สิ่งนี้เป็นวิธีแก้ปัญหาสำหรับข้อ จำกัด ของขนาดรายการ
แบบสอบถามและการสแกน
การสืบค้นและการสแกนส่วนใหญ่ประสบปัญหาในการบริโภคปริมาณงาน หลีกเลี่ยงการระเบิดซึ่งมักเกิดจากสิ่งต่างๆเช่นการเปลี่ยนไปใช้การอ่านที่สอดคล้องกันอย่างมาก ใช้การสแกนแบบขนานในลักษณะทรัพยากรต่ำ (เช่นฟังก์ชันพื้นหลังที่ไม่มีการควบคุมปริมาณ) นอกจากนี้ใช้เฉพาะกับตารางขนาดใหญ่และสถานการณ์ที่คุณไม่ได้ใช้งานการประมวลผลหรือการสแกนอย่างเต็มที่ทำให้มีประสิทธิภาพต่ำ
ดัชนีรองในท้องถิ่น
ดัชนีนำเสนอปัญหาในด้านปริมาณงานและต้นทุนการจัดเก็บและประสิทธิภาพของการสืบค้น หลีกเลี่ยงการสร้างดัชนีเว้นแต่คุณจะสอบถามแอตทริบิวต์บ่อยๆ ในการคาดการณ์ให้เลือกอย่างชาญฉลาดเพราะดัชนีขยายตัว เลือกเฉพาะที่ใช้งานหนัก
ใช้ดัชนีแบบกระจัดกระจายหมายถึงดัชนีที่คีย์การเรียงลำดับไม่ปรากฏในรายการตารางทั้งหมด ซึ่งเป็นประโยชน์ต่อการสืบค้นเกี่ยวกับแอตทริบิวต์ที่ไม่มีอยู่ในรายการตารางส่วนใหญ่
ให้ความสนใจกับการขยายการรวบรวมรายการ (รายการตารางทั้งหมดและดัชนี) การดำเนินการเพิ่ม / อัปเดตทำให้ทั้งตารางและดัชนีเพิ่มขึ้นและ 10GB ยังคงเป็นขีด จำกัด สำหรับคอลเลกชัน
ดัชนีรองทั่วโลก
ดัชนีนำเสนอปัญหาในด้านปริมาณงานและต้นทุนการจัดเก็บและประสิทธิภาพของการสืบค้น เลือกใช้คีย์แอ็ตทริบิวต์การแพร่กระจายซึ่งเช่นการอ่าน / เขียนการแพร่กระจายในตารางให้ความสม่ำเสมอของภาระงาน เลือกแอตทริบิวต์ที่กระจายข้อมูลอย่างเท่าเทียมกัน นอกจากนี้ใช้ดัชนีที่เบาบาง
ใช้ประโยชน์จากดัชนีทุติยภูมิสากลสำหรับการค้นหาอย่างรวดเร็วในแบบสอบถามที่ขอข้อมูลจำนวนพอประมาณ