13

Amazon S3와 Amazon SimpleDB의 기술적 차이점은 무엇입니까? 나의 작은 이해에서, 둘 다 키/값 쌍을 저장하고 검색하는 데 사용될 수 있습니다. 그렇다면 S3 대신 SimpleDB가 필요한 시나리오는 무엇입니까? SimpleDB는 실제로 파일 시스템, 데이터베이스 백엔드 또는 기타와 같은 더 나은 성능을 제공하도록 실제로 어떻게 설계 되었습니까?SimpleDB와 S3의 차이점


추가 생각 : SimpleDB는 키/값 쌍을 저장하는 것으로 알고 있습니다. 검색을 위해 키에서 해시 인덱스를 생성하는 방법에 대한 정보가 있습니까?

답변

8

아마존은 SimpleDB overview page에서 S3와 SimpleDB의 차이점을 설명합니다. S3 객체는 저속 저장소에 저장하고 SimpleDB 객체는 빠른 저장소에 저장합니다. 즉, S3와 동일한 양의 데이터를 SimpleDB에 저장하는 것이 더 비쌉니다.

큰 바이너리 개체를 값으로 저장하고 메타 데이터를 직접 저장하거나 원하는 개체의 키를 쉽게 파생시킬 수 있다면 S3 만 사용하면됩니다.

SimpleDB는 항목과 관련된 여러 키 - 값 쌍을 저장하고 키 - 값 쌍 중 하나를 기반으로 항목을 찾는 기능을 유지하려는 경우 S3 이상 사용됩니다.

S3를 사용하면 개체와 함께 키 - 값 메타 데이터를 저장할 수 있지만 메타 데이터를 기반으로 개체를 찾으려면 양동이의 각 개체에 대한 메타 데이터를 직접 가져 와서 어떤 항목을 결정해야합니다 (또는 항목)을 얻을 수 있습니다. 대형 버킷에는 속도가 느리고 비용이 많이들 수 있습니다. 또한 REST API를 사용하는 경우 저장 및 검색 할 수있는 메타 데이터의 양에는 제한이 있습니다.

SimpleDB는 저장된 메타 데이터로보다 유연합니다. 키 - 값 쌍이 인덱싱되므로 쿼리가 빠릅니다. 이미 SimpleDB에있는 키 - 값 쌍을 추가하고 수정할 수 있습니다. 여기서 S3의 객체를 삭제하고 다시 만들어 메타 데이터를 업데이트해야합니다. 그러나 키와 값의 크기 및 도메인 (버킷 아날로그)의 데이터 양에 대한 전반적인 제한에는 1024 바이트 제한이 있습니다. SimpleDB의 모든 제한은 SDB Developer Guide에 나열되어 있습니다.

키 - 값 메타 데이터가 많은 대형 개체를 저장하는 경우 하이브리드 방식을 사용하는 것이 좋습니다. Amazon 개요 페이지는 객체의 데이터에 대한 S3에 대한 포인터 인 키 - 값 쌍 중 하나와 함께 SimpleDB에 메타 데이터를 저장하는 것을 제안합니다.

+17

또는 단호하게 : SimpleDB는 데이터베이스이고, S3은 파일 시스템입니다. –

+2

실제로. 그게 바로 박사님입니다. –

관련 문제