Amazon SimpleDB กับ Amazon DynamoDB


204

ฉันมีบางสิ่งที่เข้าใจพื้นฐานAmazon SimpleDBแต่ตามAmazon DynamoDBคำอธิบายก็น่าจะเกือบจะเหมือนกันคือการจัดเก็บ NoSQL คีย์ค่าบริการ

คนที่สามารถเพียงแค่อธิบายความแตกต่างหลักระหว่างพวกเขาและบอกในกรณีที่จะเลือกอย่างใดอย่างหนึ่งในช่วงอื่น ๆ

คำตอบ:


179

คำถามนี้ถูกแก้ไขโดยคำถามที่พบบ่อยที่เกี่ยวข้อง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 ได้รับการออกแบบมาเพื่อรักษาประสิทธิภาพที่คาดการณ์ไว้สูงและมีประสิทธิภาพด้านต้นทุนที่สูงสำหรับปริมาณงานทุกขนาดตั้งแต่ขนาดเล็กไปจนถึงขนาดใหญ่ที่สุด


27

ใช้ SimpleDB หรือ DynamoDB ก็ขึ้นอยู่กับกรณีการใช้งานของคุณผมใช้ร่วมกันบางส่วนของประสบการณ์ของฉันโดยใช้SimpleDB ในบางกรณีแทน DynamoDB ในผลิตภัณฑ์อื่นฉันใช้ทั้ง SimpleDB และ DynamoDB เพื่อเก็บข้อมูลที่แตกต่างกัน


27
ชอบโพสต์ - ไม่เจ็บที่จะสรุปได้ที่นี่
nik.shornikov

ชอบโพสต์เช่นกัน @ Mason คุณคิดอย่างไรกับ SimpleDCB ที่หายไปจากคอนโซลผลิตภัณฑ์ของ AWS อย่างช้าๆ คุณยังคงใช้ SimpleDB อยู่หรือไม่
David Robbins

1
@DavidRobbins SimpleDB อาจเลิกใช้แล้วโดย AWS แต่ก็ยังอยู่ที่นั่นและพอดีกับข้อมูลของฉันอย่างสมบูรณ์แบบ ฉันยังไม่ได้โยกย้ายรหัสของฉันและยังไม่มีแผนที่จะทำเช่นนั้น แต่สำหรับผลิตภัณฑ์ใหม่ฉันเลือกฐานข้อมูลอื่นเช่น dynamodb หรือ mysql
Mason Zhang

ไซต์ที่เชื่อมโยงถูกทำเครื่องหมายว่าเป็นมัลแวร์โดย Sophos ใช้ความระมัดระวัง
IanGilham

1
@IanGilham ขอบคุณสำหรับการเตือน ฉันตรวจสอบรายงานการสแกน ( virustotal.com/th/url/… ) อีกครั้ง: 1/68 ทำเครื่องหมายไซต์ว่าเป็นมัลแวร์ นั่นอาจเป็นสิ่งที่ผิดกับโซรอส BTW: ไซต์นี้ได้รับการจัดการโดย google blogspot
Mason Zhang

18

SimpleDB ดูเหมือนจะไม่ได้รับความรักใด ๆ จาก Amazon ทุกวันนี้มันยากที่จะหาตำแหน่งที่จะจัดเตรียมไว้ใน AWS Console ดูเหมือนว่า SimpleDB จะไม่ถูกทำซ้ำอีกต่อไป - ใช้ DynamoDB เป็นตัวเลือกแรกของคุณสำหรับฐานข้อมูลเอกสารบน AWS

SimpleDb ไม่ได้ถูก "ทำซ้ำแล้ว" อีกต่อไป หมายความว่าไม่มีการพัฒนาใหม่ในอนาคตสำหรับ simpledb มันคือ "ดูแลและสนับสนุน" แต่จะไม่ดีขึ้นไปกว่านี้


2
ไม่สามารถปรับปรุงได้อย่างสมบูรณ์แบบ!
dividebyzero

10

ความแตกต่างที่สำคัญ 3:

  1. การจัดทำดัชนี

    • SimpleDB สร้างดัชนีสำหรับเขตข้อมูล "ทุกคน" ในตาราง
    • DynamoDB คุณต้องตั้งค่าการทำดัชนีฟิลด์ก่อนที่จะสร้างฐานข้อมูลและไม่สามารถแก้ไขได้
  2. ราคา:

    • การกำหนดราคา SimpleDB ขึ้นอยู่กับชั่วโมงของเครื่องและความจุ
    • DynamoDB เรียกเก็บเงินตามความสามารถของบันทึกอ่าน / เขียนต่อวินาที
  3. scalability:

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

5

หนึ่งในความแตกต่างเคยเป็น (@Mason Zhang รัฐในบทความของเขาด้านบน) ในการจัดทำดัชนี DynamoDB ใช้เพื่อ จำกัด ให้คุณสร้างดัชนีในขณะที่สร้างตาราง อย่างไรก็ตามตอนนี้ (ตั้งแต่ต้นปี 2014) มีแนวคิดของดัชนีระดับมัธยมศึกษาทั่วโลก (GSI) สามารถสร้าง GSI บนโต๊ะได้ตลอดเวลา รองรับสูงสุด 5 ดังนั้นการจัดทำดัชนีจึงไม่เป็นปัญหาสำหรับบล็อกอีกต่อไป

คุณควรทราบด้วยว่า SimpleDB มีข้อ จำกัด ด้านขนาดและประสิทธิภาพ (10GB และพูด 25 ร้องขอ / วินาที)

บางทีในที่สุด DynamoDB จะแทนที่ SimpleDB ในทุกกรณียกเว้นกรณีการใช้งานที่ง่ายที่สุด


0

กล่าวอย่างง่าย ๆ ว่าที่เก็บข้อมูลทั้งสองคือ NoSql

ความแตกต่างนั้นขึ้นอยู่กับความสามารถในการปรับขนาด (และด้านอื่น ๆ ไม่กี่อย่าง SimpleDB ค่อนข้างคล้ายกับ MongoDB แต่มีข้อ จำกัด มากมายเมื่อพูดถึงการปรับขนาด

แต่ DynamoDB ช่วยให้คุณจัดเตรียมขนาดเล็กและเพิ่มปริมาณงานที่คุณต้องการได้มากขึ้น และย่อขนาดเมื่อไม่ต้องการใช้ (เช่นในระหว่างการส่งเสริมการขายการอ้างอิงผู้มีชื่อเสียง ฯลฯ สถานการณ์เช่นนี้จะมีการขัดขวางความต้องการฮาร์ดแวร์ตามเวลา)


0

ฉันเชื่อว่าความแตกต่างที่สำคัญใน Simple DB กับ Dynamo DB คือ

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

0

นี่เป็นความแตกต่างที่สำคัญสองประการที่คุณควรระวัง

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.

0

นี่เป็นความแตกต่างที่สำคัญสองประการที่คุณควรระวัง

ด้วย DynamoDB คุณสามารถสร้างแอปพลิเคชั่นด้วยปริมาณงานและพื้นที่เก็บข้อมูลได้ไม่ จำกัด เกือบทุกกรณีนั่นคือ SimpleDB

  • 1: ข้อ จำกัด การเก็บรักษาอย่างเข้มงวด 10GB

SimpleDB มีข้อ จำกัด ด้านพื้นที่เก็บข้อมูลที่เข้มงวดที่ 10 GB อย่างไรก็ตาม DynamoDB ไม่มีข้อ จำกัด ในการจัดเก็บข้อมูล มันสามารถปรับขนาดได้อย่างมากในแง่ของการจัดเก็บและการคำนวณ

  • 2: การดำเนินการเขียนได้สูงสุดถึง 25 / วินาที

SimpleDB สามารถจัดการขึ้นสูงสุดถึง 25 เขียนงาน ไม่มีข้อ จำกัด ดังกล่าวใน DynamoDB

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.