ฉันมีบางสิ่งที่เข้าใจพื้นฐานAmazon SimpleDBแต่ตามAmazon DynamoDBคำอธิบายก็น่าจะเกือบจะเหมือนกันคือการจัดเก็บ NoSQL คีย์ค่าบริการ
คนที่สามารถเพียงแค่อธิบายความแตกต่างหลักระหว่างพวกเขาและบอกในกรณีที่จะเลือกอย่างใดอย่างหนึ่งในช่วงอื่น ๆ
ฉันมีบางสิ่งที่เข้าใจพื้นฐานAmazon SimpleDBแต่ตามAmazon DynamoDBคำอธิบายก็น่าจะเกือบจะเหมือนกันคือการจัดเก็บ NoSQL คีย์ค่าบริการ
คนที่สามารถเพียงแค่อธิบายความแตกต่างหลักระหว่างพวกเขาและบอกในกรณีที่จะเลือกอย่างใดอย่างหนึ่งในช่วงอื่น ๆ
คำตอบ:
คำถามนี้ถูกแก้ไขโดยคำถามที่พบบ่อยที่เกี่ยวข้องQ: Amazon DynamoDB แตกต่างจาก Amazon SimpleDB อย่างไร ฉันควรใช้แบบไหน (ลิงก์แฮชใช้งานไม่ได้อีกต่อไป แต่ใช้ค้นหาในหน้าเพื่อค้นหาคำถามภายในหน้าเว็บ) ในระดับหนึ่งแล้วโดยมีการสรุปแบบย่อส่วนมากที่สุดในตอนท้ายของย่อหน้า:
แม้ว่า SimpleDB จะมีข้อ จำกัด ในการปรับขนาด แต่อาจเหมาะสำหรับเวิร์กโหลดขนาดเล็กที่ต้องการความยืดหยุ่นในการค้นหา Amazon SimpleDB จัดทำดัชนีคุณลักษณะของรายการทั้งหมดโดยอัตโนมัติดังนั้นจึงสนับสนุนความยืดหยุ่นในการสืบค้นที่ค่าใช้จ่ายด้านประสิทธิภาพและมาตราส่วน
ดังนั้นจึงเป็นการแลกเปลี่ยนระหว่างประสิทธิภาพ / ความสามารถในการปรับขยายและความเรียบง่าย / ความยืดหยุ่นเช่นสำหรับสถานการณ์ที่ง่ายกว่านั้นอาจยังง่ายกว่าในการเริ่มต้นใช้งาน SimpleDB เพื่อหลีกเลี่ยงความซับซ้อนของการออกแบบสถาปัตยกรรมแอปพลิเคชันของคุณสำหรับ DynamoDB (ดูด้านล่าง
อ้างอิงรายการเชื่อมโยงคำถามที่พบบ่อยเวอร์เนอร์ Vogel ของAmazon DynamoDB - บริการฐานข้อมูลได้อย่างรวดเร็วและสามารถขยาย NoSQL ออกแบบมาสำหรับการใช้งานอินเทอร์เน็ตชั่งเช่นกันซึ่งย่อมเป็นที่ซับซ้อนจึงขอแนะนำให้อ่านเกี่ยวกับประวัติความเป็นมาของ NoSQL ที่ Amazonทั่วไปและไดนาโมโดยเฉพาะอย่างยิ่ง; มันมีข้อมูลเชิงลึกอีกมากมายที่ตอบคำถามของคุณเช่นกัน
เห็นได้ชัดว่านักพัฒนา[แม้แต่วิศวกรของ Amazon]ต้องการความเรียบง่ายเป็นอย่างยิ่งในการควบคุมอย่างละเอียดเมื่อพวกเขาลงคะแนน "ด้วยเท้าของพวกเขา" และใช้โซลูชั่น AWS บนคลาวด์เช่น Amazon S3 และ Amazon SimpleDB เหนือ Dynamo [นอกจากเหมือง]
เห็นได้ชัดว่า DynamoDB ได้รับการแนะนำให้รู้จักกับเรื่องนี้และอาจมีคุณสมบัติในฐานะผู้สืบทอดของ SimpleDB มากกว่าเพียงแค่การแก้ไขข้อเสนอ NoSQL ที่มีอยู่:
เราสรุปว่าทางออกที่ดีที่สุดจะรวมส่วนที่ดีที่สุดของการออกแบบไดนาโมดั้งเดิม (ความสามารถในการขยายเพิ่มขึ้นประสิทธิภาพสูงที่คาดการณ์ได้) กับส่วนที่ดีที่สุดของ SimpleDB (ความง่ายในการดูแลระบบบริการคลาวด์ความสอดคล้องและโมเดลข้อมูลแบบตาราง ยิ่งกว่าที่เก็บคีย์ - ค่าที่บริสุทธิ์)
บทสรุปของเวอร์เนอร์แนะนำให้ DynamoDB เหมาะสำหรับการใช้งานทุกขนาดในขณะนี้:
Amazon DynamoDB ได้รับการออกแบบมาเพื่อรักษาประสิทธิภาพที่คาดการณ์ไว้สูงและมีประสิทธิภาพด้านต้นทุนที่สูงสำหรับปริมาณงานทุกขนาดตั้งแต่ขนาดเล็กไปจนถึงขนาดใหญ่ที่สุด
ใช้ SimpleDB หรือ DynamoDB ก็ขึ้นอยู่กับกรณีการใช้งานของคุณผมใช้ร่วมกันบางส่วนของประสบการณ์ของฉันโดยใช้SimpleDB ในบางกรณีแทน DynamoDB ในผลิตภัณฑ์อื่นฉันใช้ทั้ง SimpleDB และ DynamoDB เพื่อเก็บข้อมูลที่แตกต่างกัน
SimpleDB ดูเหมือนจะไม่ได้รับความรักใด ๆ จาก Amazon ทุกวันนี้มันยากที่จะหาตำแหน่งที่จะจัดเตรียมไว้ใน AWS Console ดูเหมือนว่า SimpleDB จะไม่ถูกทำซ้ำอีกต่อไป - ใช้ DynamoDB เป็นตัวเลือกแรกของคุณสำหรับฐานข้อมูลเอกสารบน AWS
SimpleDb ไม่ได้ถูก "ทำซ้ำแล้ว" อีกต่อไป หมายความว่าไม่มีการพัฒนาใหม่ในอนาคตสำหรับ simpledb มันคือ "ดูแลและสนับสนุน" แต่จะไม่ดีขึ้นไปกว่านี้
ความแตกต่างที่สำคัญ 3:
การจัดทำดัชนี
ราคา:
scalability:
หนึ่งในความแตกต่างเคยเป็น (@Mason Zhang รัฐในบทความของเขาด้านบน) ในการจัดทำดัชนี DynamoDB ใช้เพื่อ จำกัด ให้คุณสร้างดัชนีในขณะที่สร้างตาราง อย่างไรก็ตามตอนนี้ (ตั้งแต่ต้นปี 2014) มีแนวคิดของดัชนีระดับมัธยมศึกษาทั่วโลก (GSI) สามารถสร้าง GSI บนโต๊ะได้ตลอดเวลา รองรับสูงสุด 5 ดังนั้นการจัดทำดัชนีจึงไม่เป็นปัญหาสำหรับบล็อกอีกต่อไป
คุณควรทราบด้วยว่า SimpleDB มีข้อ จำกัด ด้านขนาดและประสิทธิภาพ (10GB และพูด 25 ร้องขอ / วินาที)
บางทีในที่สุด DynamoDB จะแทนที่ SimpleDB ในทุกกรณียกเว้นกรณีการใช้งานที่ง่ายที่สุด
กล่าวอย่างง่าย ๆ ว่าที่เก็บข้อมูลทั้งสองคือ NoSql
ความแตกต่างนั้นขึ้นอยู่กับความสามารถในการปรับขนาด (และด้านอื่น ๆ ไม่กี่อย่าง SimpleDB ค่อนข้างคล้ายกับ MongoDB แต่มีข้อ จำกัด มากมายเมื่อพูดถึงการปรับขนาด
แต่ DynamoDB ช่วยให้คุณจัดเตรียมขนาดเล็กและเพิ่มปริมาณงานที่คุณต้องการได้มากขึ้น และย่อขนาดเมื่อไม่ต้องการใช้ (เช่นในระหว่างการส่งเสริมการขายการอ้างอิงผู้มีชื่อเสียง ฯลฯ สถานการณ์เช่นนี้จะมีการขัดขวางความต้องการฮาร์ดแวร์ตามเวลา)
ฉันเชื่อว่าความแตกต่างที่สำคัญใน Simple DB กับ Dynamo DB คือ
นี่เป็นความแตกต่างที่สำคัญสองประการที่คุณควรระวัง
1: SimpleDB has a strict storage limitation of 10 GB. However, DynamoDB has no storage limitations for the data. It is highly scalable in terms of both storage and computation.
2:SimpleDB can handle max up to 25 Write Operations/Second. No such limit in DynamoDB.
นี่เป็นความแตกต่างที่สำคัญสองประการที่คุณควรระวัง
ด้วย DynamoDB คุณสามารถสร้างแอปพลิเคชั่นด้วยปริมาณงานและพื้นที่เก็บข้อมูลได้ไม่ จำกัด เกือบทุกกรณีนั่นคือ SimpleDB
SimpleDB มีข้อ จำกัด ด้านพื้นที่เก็บข้อมูลที่เข้มงวดที่ 10 GB อย่างไรก็ตาม DynamoDB ไม่มีข้อ จำกัด ในการจัดเก็บข้อมูล มันสามารถปรับขนาดได้อย่างมากในแง่ของการจัดเก็บและการคำนวณ
SimpleDB สามารถจัดการขึ้นสูงสุดถึง 25 เขียนงาน ไม่มีข้อ จำกัด ดังกล่าวใน DynamoDB