13

Tôi tự hỏi sự khác biệt về kỹ thuật thực sự giữa Amazon S3 và Amazon SimpleDB là gì. Từ sự hiểu biết nhỏ của tôi, cả hai có thể được sử dụng để lưu trữ và lấy các cặp khóa/giá trị. Vì vậy, trong kịch bản nào tôi sẽ cần SimpleDB thay vì S3? Làm thế nào là SimpleDB thực sự được kiến ​​trúc để cung cấp hiệu suất tốt hơn (là nó một hệ thống tập tin, cơ sở dữ liệu phụ trợ hay khác)?Sự khác biệt giữa SimpleDB và S3


Tư tưởng bổ sung: Tôi biết rằng SimpleDB là lưu trữ cặp khóa/giá trị. Có bất kỳ thông tin nào về cách nó tạo chỉ mục băm từ khóa để tra cứu không?

Trả lời

8

Amazon mô tả sự khác biệt giữa S3 và SimpleDB trên SimpleDB overview page. Chúng lưu trữ các đối tượng S3 trong lưu trữ chậm hơn và các đối tượng SimpleDB trên lưu trữ nhanh hơn, có nghĩa là nó đắt hơn để lưu trữ cùng một lượng dữ liệu trong SimpleDB so với trong S3.

Nếu bạn chỉ lưu trữ các đối tượng nhị phân lớn làm giá trị và bạn tự lưu trữ siêu dữ liệu hoặc có thể dễ dàng lấy được khóa cho đối tượng bạn muốn, thì có thể bạn chỉ cần sử dụng S3.

SimpleDB sẽ được sử dụng trên S3 trong trường hợp bạn muốn lưu trữ nhiều cặp khóa-giá trị được liên kết với một mục và muốn giữ lại khả năng tìm các mục dựa trên bất kỳ cặp khóa-giá trị nào.

S3 cho phép bạn lưu trữ siêu dữ liệu khóa-giá trị cùng với đối tượng, nhưng để tìm đối tượng dựa trên siêu dữ liệu, bạn phải truy xuất siêu dữ liệu cho từng đối tượng trong nhóm của mình và sau đó quyết định mục nào (hoặc các mặt hàng) bạn muốn nhận. Điều đó có thể chậm và tốn kém cho các nhóm lớn. Ngoài ra, có một giới hạn về số lượng siêu dữ liệu bạn có thể lưu trữ và truy xuất nếu bạn đang sử dụng API REST.

SimpleDB linh hoạt hơn với siêu dữ liệu được lưu trữ. Cặp khóa-giá trị được lập chỉ mục, do đó việc truy vấn có thể nhanh chóng. Bạn có thể thêm và sửa đổi cặp khóa-giá trị đã có trong SimpleDB, nơi bạn cần xóa và tạo lại các đối tượng trong S3 để cập nhật siêu dữ liệu. Tuy nhiên, có giới hạn 1024 byte đối với kích thước của khóa và giá trị và giới hạn tổng thể đối với lượng dữ liệu trong một tên miền (tương tự nhóm). Tất cả các giới hạn của SimpleDB được liệt kê trong SDB Developer Guide.

Nếu bạn đang lưu trữ các đối tượng lớn có nhiều siêu dữ liệu có giá trị khóa, bạn có thể sử dụng phương pháp kết hợp. Trang tổng quan của Amazon đề xuất lưu trữ siêu dữ liệu trong SimpleDB với một trong các cặp khóa-giá trị là con trỏ tới S3 cho dữ liệu của đối tượng.

+17

Hoặc, nhưng nó thẳng thắn: SimpleDB là một cơ sở dữ liệu, S3 là một hệ thống tệp. –

+2

Thật vậy. Đó là tl; dr. –

Các vấn đề liên quan