Amazon SimpleDB vs Amazon DynamoDB


203

Tôi có một số hiểu biết cơ bản về Amazon SimpleDB là gì, nhưng theo mô tả của Amazon DynamoDB, nó dường như gần giống nhau: một dịch vụ lưu trữ giá trị khóa NoQuery .

Ai đó có thể đơn giản giải thích sự khác biệt chính giữa chúng và cho biết trong trường hợp nào để chọn cái khác .

Câu trả lời:


178

Điều này được giải quyết bằng Câu hỏi thường gặp tương ứng Q: Amazon DynamoDB khác với Amazon SimpleDB như thế nào? Tôi nên sử dụng cái nào? (liên kết băm không còn hoạt động, nhưng sử dụng Tìm trong trang để tìm câu hỏi trong trang) ở một mức độ nào đó, với tóm tắt nhỏ gọn nhất ở cuối đoạn:

Mặc dù SimpleDB có các giới hạn mở rộng, nhưng nó có thể phù hợp với các khối lượng công việc nhỏ hơn đòi hỏi tính linh hoạt của truy vấn. Amazon SimpleDB tự động lập chỉ mục tất cả các thuộc tính mục và do đó hỗ trợ tính linh hoạt của truy vấn với chi phí hiệu suất và tỷ lệ.

Vì vậy, đó là một sự đánh đổi giữa hiệu năng / khả năng mở rộng và tính đơn giản / tính linh hoạt, tức là đối với các kịch bản đơn giản hơn, vẫn có thể dễ dàng hơn khi bắt đầu với SimpleDB để tránh sự phức tạp trong việc kiến ​​trúc ứng dụng của bạn cho DynamoDB (xem bên dưới để biết một góc nhìn khác).

Mục nhập Câu hỏi thường gặp được liên kết tham khảo Amazon DynamoDB của Werner Vogel - Dịch vụ cơ sở dữ liệu NoQuery nhanh và có thể mở rộng được thiết kế cho các ứng dụng quy mô Internet , đây thực sự là một công phu và do đó rất được khuyến khích đọc về Lịch sử của NoQuery nói chung và Amazon nói riêng; nó cũng chứa nhiều thông tin chi tiết giải quyết câu hỏi của bạn, vd

Rõ ràng là các nhà phát triển [ngay cả các kỹ sư của Amazon] rất thích sự đơn giản đối với kiểm soát chi tiết khi họ bỏ phiếu "bằng chân" và áp dụng các giải pháp AWS dựa trên đám mây, như Amazon S3 và Amazon SimpleDB, trên Dynamo. [thêm của tôi]

Rõ ràng là DynamoDB đã được giới thiệu để giải quyết vấn đề này và do đó có thể đủ điều kiện là người kế thừa của SimpleDB thay vì "chỉ" sửa đổi việc cung cấp NoQuery hiện tại của họ:

Chúng tôi đã kết luận rằng một giải pháp lý tưởng sẽ kết hợp các phần tốt nhất của thiết kế Động lực ban đầu (khả năng mở rộng gia tăng, hiệu suất cao có thể dự đoán) với các phần tốt nhất của SimpleDB (dễ quản trị dịch vụ đám mây, tính nhất quán và mô hình dữ liệu dựa trên bảng phong phú hơn một cửa hàng khóa-giá trị thuần túy).

Tóm tắt của Werner cho thấy DynamoDB phù hợp với các ứng dụng ở mọi quy mô hiện nay:

Amazon DynamoDB được thiết kế để duy trì hiệu suất cao có thể dự đoán được và có hiệu quả chi phí cao cho khối lượng công việc ở mọi quy mô, từ nhỏ nhất đến các ứng dụng quy mô internet lớn nhất.


26

sử dụng SimpleDB hoặc DynamoDB, tùy thuộc vào trường hợp sử dụng của bạn, tôi đã chia sẻ một số kinh nghiệm của mình khi sử dụng SimpleDB trong một số trường hợp thay vì DynamoDB . Trong một sản phẩm khác, tôi đã sử dụng cả SimpleDB và DynamoDB để lưu trữ dữ liệu khác nhau.


26
thích bài đăng - sẽ không đau để tóm tắt nó ở đây
nik.shornikov

thích bài viết là tốt. @Mason, suy nghĩ của bạn về cách SimpleDCB đã dần biến mất khỏi bảng điều khiển sản phẩm của AWS? Bạn vẫn đang sử dụng SimpleDB hoặc bạn đã di chuyển?
David Robbins

1
@DavidRobbins SimpleDB có thể đã bị AWS phản đối, nhưng nó vẫn ở đó và phù hợp với phương thức dữ liệu của tôi một cách hoàn hảo. Tôi chưa di chuyển mã của mình và không có kế hoạch làm như vậy. Nhưng đối với các sản phẩm mới, tôi chọn các cơ sở dữ liệu khác như máy phát điện hoặc mysql.
Mason Zhang

Trang web được liên kết đã được đánh dấu là phần mềm độc hại của Sophos. Sử dụng thận trọng.
IanGilham

1
@IanGilham cảm ơn bạn đã nhắc nhở. Tôi kiểm tra lại báo cáo quét ( virustotal.com/en/url/ - ): 1/68 đánh dấu trang web là phần mềm độc hại. Vì vậy, đó có thể là một cái gì đó sai với Sophos. BTW: trang web này thực sự được quản lý bởi google blogspot.
Mason Zhang

18

SimpleDB dường như không nhận được bất kỳ tình yêu nào từ Amazon trong những ngày này - thật khó để tìm thấy nơi cung cấp nó trong Bảng điều khiển AWS. Có vẻ như SimpleDB không còn được lặp đi lặp lại nữa - hãy sử dụng DynamoDB làm lựa chọn đầu tiên của bạn cho Cơ sở dữ liệu tài liệu trên AWS.

SimpleDb không còn thực sự "lặp đi lặp lại". Có nghĩa là không có sự phát triển mới trong tương lai cho đơn giản. Nó được "duy trì và hỗ trợ", nhưng nó sẽ không trở nên tốt hơn.


2
Không thể cải thiện hoàn hảo!
splititherzero

10

3 điểm khác biệt chính:

  1. Lập chỉ mục

    • SimpleDB tạo chỉ mục cho trường "MERYI" trong một bảng.
    • DynamoDB bạn phải đặt các trường lập chỉ mục trước khi tạo cơ sở dữ liệu và không thể sửa đổi.
  2. Giá cả:

    • Giá SimpleDB dựa trên giờ máy và dung lượng lưu trữ
    • DynamoDB tính tiền theo khả năng của các bản ghi Đọc / Ghi mỗi giây.
  3. Khả năng mở rộng:

    • SimpleDB yêu cầu phân vùng thủ công nếu lưu trữ dữ liệu vượt quá 10GB.
    • DynamoDB tự động phân phối dữ liệu dưới mui xe, do đó cung cấp khả năng mở rộng rất cao.

5

Một trong những khác biệt từng là (như @Mason Zhang nêu trong bài viết của mình ở trên) trong việc lập chỉ mục. DynamoDB được sử dụng để giới hạn bạn tạo các chỉ mục tại thời điểm tạo bảng. Tuy nhiên, bây giờ (kể từ đầu năm 2014), có khái niệm Chỉ số phụ toàn cầu (GSI). GSI có thể được tạo trên bàn bất cứ lúc nào. Tối đa 5 được hỗ trợ. Vì vậy, lập chỉ mục không còn là vấn đề chặn đối với nhiều trường hợp sử dụng.

Bạn cũng nên biết rằng SimpleDB có giới hạn kích thước và hiệu suất. (10 GB và nói, 25 yêu cầu / giây)

Có lẽ cuối cùng, DynamoDB sẽ thay thế SimpleDB trong tất cả các trường hợp sử dụng đơn giản nhất.


0

Nói một cách đơn giản, cả hai cửa hàng dữ liệu là NoSql.

Sự khác biệt nằm ở khả năng mở rộng (và một vài khía cạnh khác, nhưng tỷ lệ mang giá trị lớn nhất theo ý kiến ​​của tôi). SimpleDB khá giống với MongoDB nhưng có một loạt các hạn chế khi mở rộng.

Nhưng DynamoDB cho phép bạn cung cấp quy mô nhỏ và tăng quy mô như nhiều Thông lượng được cung cấp mà bạn cần. Và giảm quy mô khi không cần thiết. (vd


0

Tôi tin rằng sự khác biệt lớn trong Simple DB so với Dynamo DB là

  1. Hiệu suất có thể dự đoán về độ trễ và có thể xử lý khối lượng lớn mà không ảnh hưởng đến độ trễ và thông lượng. DynamoDB đạt được điều này bằng cách sử dụng khóa phân vùng
  2. Đọc, viết tối ưu hóa có thể được tùy chỉnh
  3. Mô hình nhất quán cuối cùng tốt hơn vì sử dụng thuật toán băm nhất quán

0

Đây là hai điểm khác biệt chính, bạn nên chú ý

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

Đây là hai sự khác biệt lớn, bạn nên lưu ý.

Với DynamoDB Bạn có thể xây dựng các ứng dụng với lưu lượng và lưu lượng gần như không giới hạn . Điều đó không xảy ra với SimpleDB.

  • 1: GIỚI HẠN BẢO QUẢN 10 GB

SimpleDB có giới hạn lưu trữ nghiêm ngặt là 10 GB. Tuy nhiên, DynamoDB không có giới hạn lưu trữ cho dữ liệu. Nó có khả năng mở rộng cao về cả lưu trữ và tính toán.

  • 2: TỐI ĐA ĐẾN 25 HOẠT ĐỘNG VIẾT / THỨ HAI

SimpleDB có thể xử lý tối đa 25 Thao tác ghi / giây . Không có giới hạn như vậy trong DynamoDB.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.