ตารางสากลของ Amazon DynamoDB

ทำไมต้องใช้ตารางสากลของ Amazon DynamoDB

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

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

สำหรับเวิร์กโหลดแบบหลายรีเจี้ยน ขณะนี้คุณสามารถเลือกระหว่างความสอดคล้องที่น่าเชื่อถือ NEW (เวอร์ชันทดลองใช้) หรือความสอดคล้องในตอนท้าย ความสอดคล้องที่น่าเชื่อถือช่วยให้คุณสามารถสร้างแอปพลิเคชันที่มีจุดที่ย้อนกลับไปกู้คืนข้อมูลได้จากศูนย์ หรือที่เรียกว่า RPO จากศูนย์ นอกจากนี้ยังช่วยให้มั่นใจได้ว่าแอปพลิเคชันของคุณจะอ่านข้อมูลล่าสุดอยู่เสมอ

การเริ่มต้นใช้งานตารางสากลเป็นขั้นตอนที่ง่ายดาย เนื่องจากใช้ DynamoDB API เดียวกันกับตารางแบบรีเจี้ยนเดียว ไม่มีค่าใช้จ่ายล่วงหน้าหรือภาระผูกพันในการใช้ตารางสากล และคุณชำระค่าบริการเฉพาะทรัพยากรที่คุณใช้เท่านั้น คุณสามารถกำหนดค่าตารางสากลในคอนโซลการจัดการของ AWS ด้วย AWS Command Line Interface (AWS CLI) หรือ AWS CloudFormation ได้ และคุณสามารถเรียนรู้เพิ่มเติมได้ในคู่มือนักพัฒนา Amazon DynamoDB สำหรับข้อมูลเกี่ยวกับการกำหนดราคาตารางสากล โปรดดูตัวเลือกราคาของ Amazon DynamoDB แบบตามความต้องและแบบจัดเตรียมไว้

วิธีทำงาน

ตารางสากลของ DynamoDB ประกอบด้วยตารางจำลองหลายตาราง ตารางจำลองแต่ละตารางจะอยู่ในรีเจี้ยนที่แตกต่างกัน แต่ตารางจำลองทั้งหมดจะมีชื่อและคีย์หลักเหมือนกัน เมื่อมีการเขียนข้อมูลลงในตารางจำลอง DynamoDB จะจำลองข้อมูลดังกล่าวไปยังตารางจำลองอื่น ๆ ทั้งหมดในตารางสากลโดยอัตโนมัติ

ตัวอย่างเช่น สมมติว่าแอปพลิเคชันของคุณให้บริการฐานลูกค้าขนาดใหญ่ที่กระจายอยู่ทั่วพื้นที่ทางภูมิศาสตร์สามแห่ง ได้แก่ ชายฝั่งตะวันออกของสหรัฐอเมริกา แคนาดา และยุโรปตะวันตก หากไม่มีตารางสากล คุณจะต้องสร้างตารางในแต่ละ AWS Region และเขียนโค้ดเพื่อจำลองการเปลี่ยนแปลงข้อมูลในแต่ละตารางของแต่ละรีเจี้ยน

เมื่อใช้ตารางสากล คุณจะสามารถสร้างตารางสากลด้วยตารางจำลองในรีเจี้ยนสามแห่งที่ใกล้เคียงกับแต่ละพื้นที่ทางภูมิศาสตร์ได้ DynamoDB จะจำลองการเปลี่ยนแปลงจากแบบจำลองใด ๆ ไปยังแบบจำลองในรีเจี้ยนอื่น ๆ โดยอัตโนมัติ

ตารางสากลช่วยให้ผู้ใช้แอปพลิเคชันสามารถเข้าถึงข้อมูลที่มีเวลาแฝงต่ำได้จากทุกที่ หากการประมวลผลแอปพลิเคชันหยุดชะงักในรีเจี้ยนเดียว ลูกค้าของคุณยังคงสามารถเข้าถึงตารางแบบจำลองในรีเจี้ยนอื่น ๆ ได้

วิธีทำงาน

ประโยชน์ของตารางสากลจาก Amazon DynamoDB

ตารางสากลได้รับการออกแบบให้มีความพร้อมใช้งาน 99.999% หากรีเจี้ยนเดียวถูกแยกออกหรือลดระดับลง แอปพลิเคชันของคุณสามารถเปลี่ยนเส้นทางไปยังรีเจี้ยนอื่นและดำเนินการอ่านและเขียนกับตารางจำลองอื่นได้ คุณสามารถใช้ตรรกะทางธุรกิจที่กำหนดเองเพื่อกำหนดเวลาที่จะเปลี่ยนเส้นทางคำขอไปยังรีเจี้ยนอื่น ๆ ได้ 

นอกจากนี้ Amazon DynamoDB ยังติดตามการเขียนใด ๆ ที่ได้ดำเนินการแล้วแต่ยังไม่ได้เผยแพร่ไปยังตารางจำลองทั้งหมด เมื่อรีเจี้ยนกลับมาออนไลน์ Amazon DynamoDB จะดำเนินการแพร่กระจายการเขียนที่รอดำเนินการจากรีเจี้ยนนั้นไปยังตารางจำลองในรีเจี้ยนอื่น ๆ และในทางกลับกัน

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

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

ตารางสากลช่วยให้คุณสามารถอ่านและเขียนข้อมูลของคุณในเครื่องได้ โดยให้เวลาแฝงเพียงหลักมิลลิวินาทีเดียวสำหรับแอปพลิเคชันที่กระจายทั่วโลกในทุกระดับ สิ่งนี้สามารถช่วยเพิ่มประสิทธิภาพสำหรับแอปพลิเคชันระดับโลกขนาดใหญ่ได้

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

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

หัวข้อของหน้า

ข้อมูลทั่วไป

ข้อมูลทั่วไป

ตารางสากลคือคอลเลกชันของตารางจำลองอย่างน้อยหนึ่งตาราง ซึ่งทั้งหมดเป็นของบัญชี AWS เดียว ตารางสากลของ Amazon DynamoDB หนึ่งรายการสามารถมีตารางจำลองได้เพียงตารางเดียวต่อ AWS Region เท่านั้น

ตารางจำลองเป็นตาราง DynamoDB รายการเดียว ตารางจำลองแต่ละตารางจะเก็บชุดข้อมูลเดียวกัน มีชื่อตารางเดียวกัน และมีโครงสร้างคีย์หลักเดียวกัน เมื่อแอปพลิเคชันเขียนข้อมูลไปยังตารางจำลองในรีเจี้ยนเดียว Amazon DynamoDB จะจำลองการเขียนไปยังตารางจำลองอื่น ๆ ใน AWS Region อื่น ๆ โดยอัตโนมัติ

ใช่ ตารางสากลของ Amazon Dynamo ช่วยเพิ่มความต่อเนื่องทางธุรกิจเนื่องจากเพิ่มความยืดหยุ่นของแอปพลิเคชันและให้ความสอดคล้องที่แข็งแกร่งสำหรับรีเจี้ยนเดียว ด้วยความสอดคล้องระดับสูงในหลายรีเจี้ยน คุณจะสามารถสร้างแอปพลิเคชันที่มี RPO เป็นศูนย์และความยืดหยุ่นสูงสุดได้

คุณสามารถสร้างตารางสากลโดยใช้คอนโซล Amazon DynamoDB, AWS CLI หรือ AWS CloudFormation ด้วยคู่มือโดยละเอียดนี้

ก่อนที่จะเพิ่มแบบจำลองเพิ่มเติมในรีเจี้ยนอื่นไปยังตารางสากลของ Amazon DynamoDB ตารางจะต้องมีการเปิดใช้งาน DynamoDB Streams มีชื่อเดียวกับแบบจำลองอื่นๆ ทั้งหมด มีคีย์พาร์ติชันเดียวกันกับแบบจำลองอื่นๆ และมีการตั้งค่าความสามารถในการเขียนแบบเดียวกัน

ตารางจำลองทั้งหมดในตารางสากลของ Amazon DynamoDB ต้องมีชื่อเดียวกัน

Amazon DynamoDB จัดเก็บข้อมูลในตาราง ซึ่งคล้ายกับฐานข้อมูลอื่นๆ ตารางคือคอลเลกชันของรายการ และแต่ละรายการเป็นคอลเลกชันของแอตทริบิวต์ Amazon DynamoDB ใช้คีย์หลักเพื่อระบุแต่ละรายการในตารางโดยเฉพาะ และมีดัชนีรองเพื่อให้มีความยืดหยุ่นในการสอบถามมากขึ้น

ในทางตรงกันข้าม ตารางสากลของ Amazon DynamoDB เป็นคอลเลกชันของตารางจำลองอย่างน้อยหนึ่งตารางที่เป็นเจ้าของโดยบัญชี AWS เดียว ซึ่งตารางจำลองแต่ละตารางมีโครงสร้างเหมือนกับตาราง Amazon DynamoDB ทั่วไป

มี คุณสามารถเปิดใช้งานการกู้คืนข้อมูลในจุดเวลาที่กำหนดในแต่ละแบบจำลองของตารางสากลได้

  • Zoom

    เมื่อการแพร่ระบาดของ COVID-19 เริ่มขึ้น ความต้องการด้านบริการเสียงและวิดีโอของเราก็เพิ่มขึ้นอย่างล้นหลาม ในช่วงต้นปี 2020 เราพบว่าการใช้งานเพิ่มขึ้นอย่างไม่เคยมีมาก่อนจากผู้เข้าร่วมการประชุมรายวัน 10 ล้านคนเป็น 300 ล้านคน โดยเป็นลูกค้าใหม่และลูกค้าเดิมที่ต้องการเชื่อมต่อแบบเสมือนจริง ในส่วนแบ็กเอนด์ เราสามารถจัดการความต้องการเพิ่มขึ้นนี้ได้ด้วย Amazon DynamoDB สำหรับ Zoom Meetings การนำตารางส่วนกลางของ DynamoDB มาใช้ร่วมกับโหมดแบบออนดีมานด์เปิดโอกาสให้เราสามารถปรับขนาดได้แทบจะไม่มีที่สิ้นสุดโดยไม่มีปัญหาด้านประสิทธิภาพ แม้ในกรณีที่มีการใช้งานที่เพิ่มขึ้นอย่างกะทันหัน

    Yasin Mohammed ผู้จัดการฝ่ายวิศวกรรมประจำฝ่ายปฏิบัติการด้านระบบคลาวด์ที่ Zoom Video Communications, Inc.
  • Disney

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

    บุ๊กมาร์กหลายพันล้านรายการที่นำเข้าในหนึ่งวันผ่าน Amazon Kinesis และนำเข้าสู่ Amazon DynamoDB

    Attilio Giue ผู้อำนวยการฝ่ายค้นพบเนื้อหาของ Disney+
    อ่านข่าวประชาสัมพันธ์ »
  • Snap Inc.

    Snap Inc. ประหยัดค่าใช้จ่ายด้านโครงสร้างพื้นฐานรายปีได้เป็นอย่างมากและเปิดใช้งานโครงสร้างพื้นฐานที่รวดเร็วและเชื่อถือได้สำหรับแอปส่งข้อความมัลติมีเดียอย่าง Snapchat โดยใช้ Amazon DynamoDB

    ความสามารถของ Amazon DynamoDB มอบให้และนวัตกรรมที่ต่อเนื่องที่มีอยู่นั้นทำให้เรามั่นใจว่าเราสามารถพึ่งพาและสร้างสรรค์นวัตกรรมต่อไปได้

    Saral Jain ผู้อำนวยการฝ่ายวิศวกรรมและหัวหน้าฝ่ายโครงสร้างพื้นฐานของ Snap Inc.
    อ่านกรณีศึกษา »