Amazon DynamoDB คือฐานข้อมูล NoSQL ที่รองรับโมเดลข้อมูลแบบคีย์-ค่าและโมเดลข้อมูลเอกสาร นักพัฒนาสามารถใช้ DynamoDB เพื่อสร้างแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ที่ทันสมัยซึ่งสามารถเริ่มต้นได้จากขนาดเล็กและปรับขนาดเป็นระดับโลกเพื่อรองรับข้อมูลระดับเพตะไบต์และคำขอในการอ่านและเขียนกว่าสิบล้านคำขอต่อวินาที DynamoDB ถูกออกแบบมาเพื่อเรียกใช้แอปพลิเคชันประสิทธิภาพสูงในระดับอินเทอร์เน็ตที่อาจเป็นภาระที่ใหญ่เกินไปสำหรับระบบฐานข้อมูลเชิงสัมพันธ์แบบดั้งเดิม
มีอะไรใหม่:
- สร้างสคีมาข้อมูลและตารางใน DynamoDB โดยใช้เทมเพลตโมเดลข้อมูลตัวอย่างและชุดข้อมูลที่มีอยู่ใน NoSQL Workbench
- ขณะนี้ NoSQL Workbench รวมเข้ากับ DynamoDB Local เพื่อช่วยคุณตั้งค่าสภาพแวดล้อมการออกแบบและพัฒนา DynamoDB ในพื้นที่เพื่อเริ่มต้นได้เร็วขึ้น
- นำเข้าข้อมูลจาก Amazon S3 โดยตรงลงในตาราง DynamoDB ใหม่โดยไม่ต้องเขียนโค้ดหรือจัดการโครงสร้างพื้นฐานเพิ่มเติม
- AWS Glue รองรับ DynamoDB เป็นแหล่งที่มาในการรวมและทำซ้ำข้อมูลอย่างต่อเนื่องในหลายๆ ฐานข้อมูลแบบเกือบเรียลไทม์
- ใช้ PartiQL ซึ่งเป็นภาษาการสืบค้นที่สามารถเข้ากันได้กับ SQL เพื่อทำการสืบค้น แทรก อัปเดต และลบข้อมูลตารางใน DynamoDB
- ใช้ Amazon Kinesis Data Streams เพื่อบันทึกการเปลี่ยนแปลงระดับรายการในตาราง DynamoDB ของคุณ
- กู้คืนตาราง DynamoDB ได้เร็วขึ้นกว่าเดิม
- เครื่องมือคำนวณค่าบริการของ AWS รองรับ DynamoDB แล้วในขณะนี้
- ส่งออกข้อมูลจาก DynamoDB ไปยัง Amazon Simple Storage Service (Amazon S3) และใช้บริการของ AWS อื่น ๆ เช่น Amazon Athena เพื่อวิเคราะห์ข้อมูลของคุณและดึงข้อมูลเชิงลึกที่สามารถนำไปใช้ได้จริงออกมา
ประสิทธิภาพในทุกระดับ
DynamoDB คือฐานข้อมูลแบบคีย์-ค่าและแบบโครงสร้างเอกสารที่สามารถรองรับตารางเสมือนขนาดใดก็ตามที่ปรับขนาดแนวนอนได้ DynamoDB ปรับขนาดเพื่อรองรับคำขอมากกว่า 10 ล้านล้านคำขอต่อวัน และตารางที่มีคำขออ่านและเขียนมากกว่า 10 ล้านคำขอต่อวินาที ตลอดจนพื้นที่เก็บข้อมูลขนาดเพตะไบต์
โมเดลข้อมูลแบบคีย์-ค่าและแบบโครงสร้างเอกสาร
DynamoDB รองรับทั้งโมเดลข้อมูลแบบคีย์-ค่าและโมเดลข้อมูลเอกสาร จึงทำให้ DynamoDB มีสคีมาที่ยืดหยุ่น ทำให้แต่ละแถวสามารถมีจำนวนคอลัมน์เท่าใดก็ได้ที่จุดเวลาใดๆ สิ่งนี้ช่วยให้คุณปรับตารางเพื่อให้ตรงกับการเปลี่ยนแปลงความต้องการทางธุรกิจของคุณอย่างง่ายดาย โดยไม่ต้องกำหนดโครงสร้างตารางใหม่เหมือนที่ต้องทำในฐานข้อมูลเชิงสัมพันธ์
เวลาแฝงระดับไมโครวินาทีด้วย DynamoDB Accelerator
DynamoDB Accelerator (DAX) คือแคชหน่วยความจำที่มอบประสิทธิภาพการอ่านที่รวดเร็วสำหรับตารางของคุณในขนาดใหญ่โดยช่วยให้คุณสามารถใช้แคชที่มีการจัดการอย่างเต็มรูปแบบและอยู่ในหน่วยความจำได้ การใช้ DAX ช่วยให้คุณสามารถปรับปรุงประสิทธิภาพการอ่านของตาราง DynamoDB ได้สูงสุด 10 เท่า ลดเวลาที่ใช้ในการอ่านลงจากมิลลิวินาทีเป็นไมโครวินาที แม้ว่าจะมีคำขอหลายล้านรายการต่อวินาทีก็ตาม
การจำลองส่วนกลางโดยอัตโนมัติด้วยตารางส่วนกลาง
ตารางสากล DynamoDB จะจำลองข้อมูลของคุณโดยอัตโนมัติในทุกตัวเลือกภูมิภาค AWS ของคุณและจะปรับขนาดความจุเพื่อให้สอดรับกับปริมาณงานของคุณโดยอัตโนมัติ ด้วยตารางสากล แอปพลิเคชันที่กระจายอยู่ทั่วโลกของคุณจะสามารถเข้าถึงข้อมูลเฉพาะที่ภายในภูมิภาคที่เลือกเพื่อรับประสิทธิภาพในการอ่านและเขียนในระดับมิลลิวินาทีหลักเดียวได้
แอปพลิเคชันการสตรีมขั้นสูงพร้อม Kinesis Data Streams สำหรับ DynamoDB
Amazon Kinesis Data Streams สำหรับ DynamoDB บันทึกการเปลี่ยนแปลงระดับรายการในตาราง DynamoDB ของคุณเป็นการสตรีมข้อมูล Kinesis คุณสมบัตินี้ช่วยให้คุณสามารถสร้างแอปพลิเคชันการสตรีมขั้นสูงได้ เช่น การรวบรวมบันทึกแบบเรียลไทม์ การวิเคราะห์ธุรกิจแบบเรียลไทม์ และการบันทึกข้อมูลของ IoT นอกจากนี้ คุณยังสามารถใช้ Amazon Kinesis Data Firehose เพื่อส่งข้อมูล DynamoDB ไปยังบริการของ AWS อื่นๆ ได้โดยอัตโนมัติผ่าน Kinesis Data Streams ได้อีกด้วย
ไร้เซิร์ฟเวอร์
ด้วย DynamoDB ทำให้ไม่มีเซิร์ฟเวอร์ในการจัดเตรียม แพทช์ หรือจัดการ และไม่มีซอฟต์แวร์ในการติดตั้ง รักษา หรือดำเนินการ DynamoDB ปรับขนาดตารางโดยอัตโนมัติเพื่อปรับความจุและรักษาประสิทธิภาพโดยไม่ต้องมีการจัดการใดๆ ความพร้อมใช้งานและความทนทานต่อความเสียหายนั้นมีอยู่ภายในตัว เพื่อขจัดความจำเป็นในการออกแบบแอปพลิเคชันของคุณสำหรับความสามารถเหล่านี้
โหมดความจุในการอ่าน/เขียน
DynamoDB จะมอบโหมดความจุในแต่ละตาราง: ตามความต้องการและที่จัดเตรียมไว้ สำหรับปริมาณงานที่คาดเดาได้น้อยกว่า ซึ่งทำให้คุณไม่มั่นใจว่าต้องมีการใช้ความจุสูงหรือไม่ โหมดความจุตามความต้องการจะช่วยจัดการความจุให้กับคุณ และคุณจะชำระค่าบริการตามความจุที่คุณใช้เท่านั้น ตารางที่ใช้โหมดความจุที่จัดเตรียมไว้กำหนดให้คุณตั้งค่าความจุในการอ่านและเขียน โหมดความจุที่จัดเตรียมไว้นั้นประหยัดมากกว่าเมื่อคุณมั่นใจว่าจะมีการใช้งานที่เหมาะสมตามความจุที่มีการเตรียมใช้งานที่คุณระบุไว้
โหมดตามต้องการ
สำหรับตารางที่ใช้โหมดความจุตามต้องการ DynamoDB จะปรับให้เหมาะสมกับปริมาณงานของคุณโดยทันทีเมื่อปริมาณงานเพิ่มขึ้นหรือลดลงถึงระดับการใช้งานที่เคยถึงก่อนหน้านี้ หากระดับการใช้งานของปริมาณงานไปถึงจุดสูงสุดใหม่ DynamoDB จะปรับให้เหมาะสมกับปริมาณงานของคุณอย่างรวดเร็ว คุณสามารถใช้โหมดความจุตามต้องการสำหรับทั้งตารางใหม่และตารางที่มีอยู่แล้วได้ และคุณสามารถใช้งาน DynamoDB API ที่มีอยู่แล้วต่อไปได้โดยไม่ต้องเปลี่ยนแปลงโค้ด
Auto Scaling
สำหรับตารางที่ใช้ความจุที่จัดเตรียมไว้ DynamoDB จะมีการปรับขนาดโดยอัตโนมัติสำหรับปริมาณการประมวลผลและพื้นที่จัดเก็บโดยอ้างอิงจากการตั้งค่าความจุก่อนหน้านี้ด้วยการตรวจสอบประสิทธิภาพในการใช้งานของแอปพลิเคชันของคุณ หากปริมาณการใช้งานแอปพลิเคชันของคุณเติบโตขึ้น DynamoDB จะเพิ่มปริมาณการประมวลผลให้สอดคล้องกับปริมาณงาน หากปริมาณการใช้งานแอปพลิเคชันของคุณลดลง DynamoDB จะปรับขนาดลงเพื่อให้คุณจ่ายน้อยลงสำหรับความจุที่ไม่ได้ใช้งาน
การติดตามการเปลี่ยนแปลงด้วยการเรียกใช้งานอัตโนมัติ
DynamoDB ผสานรวมกับ AWS Lambda เพื่อให้เรียกใช้งานอัตโนมัติได้ การใช้การเรียกใช้งานอัตโนมัติช่วยให้คุณสามารถใช้งานฟังก์ชันแบบกำหนดเองได้เมื่อตรวจพบการเปลี่ยนแปลงในระดับรายการใน DynamoDB ด้วยการเรียกใช้งานอัตโนมัติ คุณจะสามารถสร้างแอปพลิเคชันที่ตอบสนองต่อการปรับเปลี่ยนข้อมูลในตาราง DynamoDB ได้ ฟังก์ชัน Lambda สามารถดำเนินการใดๆ ที่คุณระบุได้ เช่น การส่งการแจ้งเตือนหรือการเริ่มต้นเวิร์กโฟลว์
พร้อมสำหรับองค์กร
DynamoDB สร้างขึ้นเพื่อทำงานที่สำคัญต่อองค์กรเป็นอย่างมาก โดยประกอบด้วยการสนับสนุนธุรกรรมที่มีความเป็นอันหนึ่งอันเดียวกัน (Atomicity) ความถูกต้อง (Consistency) การแยกตัว (Isolation) ความคงทน (ACID) สำหรับแอปพลิเคชันต่างๆ ที่หลากหลายซึ่งต้องใช้ลอจิกทางธุรกิจที่ซับซ้อน DynamoDB ช่วยให้ความปลอดภัยแก่ข้อมูลของคุณด้วยการเข้ารหัสและสำรองข้อมูลของคุณเพื่อการป้องกันอย่างต่อเนื่อง ด้วยการรับประกันความน่าเชื่อถือผ่านข้อตกลงระดับการให้บริการ
ธุรกรรม ACID
DynamoDB จะให้การสนับสนุนแบบเนทีฟฝั่งเซิร์ฟเวอร์สำหรับการทำธุรกรรม เพื่อให้ง่ายต่อนักพัฒนาในการสร้างการเปลี่ยนแปลงที่เชื่อมประสานกันอย่างแม่นยำไปยังหลายๆ รายการทั้งภายในและทุกๆ ตาราง ด้วยการสนับสนุนสำหรับธุรกรรม นักพัฒนาสามารถขยายขนาด ประสิทธิภาพ และผลประโยชน์ต่อองค์กรของ DynamoDB ไปสู่งานที่สำคัญต่อองค์กรในขอบเขตที่กว้างมากขึ้นได้
เข้ารหัสอย่างง่ายดาย
DynamoDB เข้ารหัสข้อมูลที่อยู่ในพื้นที่จัดเก็บทั้งหมดของลูกค้าได้อย่างง่ายดายด้วยค่าเริ่มต้น การเข้ารหัสอย่างง่ายดายช่วยเพิ่มประสิทธิภาพในการรักษาความปลอดภัยของข้อมูลโดยใช้คีย์เข้ารหัสที่จัดเก็บใน AWS Key Management Service (AWS KMS) ด้วยการเข้ารหัสอย่างง่ายดาย คุณสามารถสร้างแอปพลิเคชันที่ให้ความสำคัญต่อการรักษาความปลอดภัยเป็นอย่างยิ่งได้ ซึ่งจะเป็นไปตามข้อกำหนดและข้อบังคับด้านการเข้ารหัสที่เข้มงวด มีการเข้ารหัสเริ่มต้นโดยใช้คีย์ KMS ที่ AWS เป็นเจ้าของโดยไม่คิดค่าใช้จ่ายเพิ่มเติมใดๆ
การกู้คืน ณ จุดใดจุดหนึ่งของเวลา
การกู้คืน ณ จุดใดจุดหนึ่งของเวลา (PITR) ช่วยป้องกันตาราง DynamoDB ของคุณจากการเขียนหรือการลบโดยไม่ตั้งใจได้ PITR จะให้การสำรองข้อมูลของข้อมูลตาราง DynamoDB ของคุณอย่างต่อเนื่อง และคุณสามารถกู้คืนตารางไปยังจุดใดจุดหนึ่งของเวลาได้สูงสุดเป็นหน่วยวินาทีในระหว่างช่วง 35 วันก่อนหน้านี้ คุณสามารถเปิดใช้งาน PITR หรือเริ่มต้นการสำรองข้อมูลและกู้คืนการปฏิบัติงานได้ด้วยการคลิกเพียงครั้งเดียวใน AWS Management Console หรือการเรียก API เพียงครั้งเดียว
สำรองข้อมูลและกู้คืนตามสั่ง
การสำรองข้อมูลและกู้คืนตามความต้องการช่วยให้คุณสามารถสร้างการสำรองข้อมูลแบบเต็มของข้อมูลตาราง DynamoDB สำหรับการเก็บข้อมูลถาวรได้ ซึ่งช่วยให้คุณสามารถปฏิบัติตามข้อกำหนดขององค์กรและของรัฐบาลได้ คุณสามารถสำรองข้อมูลของตารางตั้งแต่ขนาดไม่กี่เมกะไบต์ไปจนถึงหลายร้อยเทราไบต์ได้ และไม่ส่งผลกระทบต่อประสิทธิภาพหรือความพร้อมใช้งานของแอปพลิเคชันการผลิตของคุณ