2017-10-28 4 views
2

Microsoft Cosmos DB에는 DocumentDB API, Table API 및 기타 기능이 포함되어 있습니다. 10TB 정도의 데이터가 있으며 빠른 키 - 값 조회 (업데이트 및 쓰기가 거의없고 거의 독서)를하고 싶습니다. 마이크로 소프트 코스모스 DB에 대한 링크를 추가 https://docs.microsoft.com/en-us/azure/cosmos-db/Microsoft Cosmos DB (DocumentDB API) 대 Cosmos DB (테이블 API)

  1. 그래서 DocumentDB API와 테이블 API 사이에서 선택하는 방법?
  2. 또는 언제 DocumentDB API를 선택해야합니까? 표 API는 언제 선택해야합니까?
  3. DcoumentDB API를 사용하여 10TB의 데이터를 저장하는 것이 좋습니까?

답변

1

그럼 DocumentDB API와 Table API 중에서 어떻게 선택해야합니까?

DocumentDB APITable API 사이에서 선택하는 것은 주로 저장하려는 데이터의 종류에 따라 달라집니다. DocumentDB APIschema-less JSON database engine with SQL querying capabilities을 제공하는 반면 Table APIkey-value storage database service을 제공합니다. 데이터가 key-value을 기반으로 언급 했으므로 Table API을 사용하는 것이 좋습니다.

또는 언제 DocumentDB API를 선택해야합니까? 표 API는 언제 선택해야합니까?

위와 동일합니다.

DcoumentDB API를 사용하여 10TB의 데이터를 저장하는 것이 좋습니까?

Document DB APITable API은 모두 막대한 양의 데이터를 저장하도록 설계되었습니다.

그러나 Azure Table Storage도 살펴볼 수 있습니다. Cosmos DB를 사용하면 필요한 처리량과 강력한 인덱싱/쿼리 지원을 미세하게 조정할 수 있으며 가격도 저렴합니다. 반면 Azure Tables은 고정 된 처리량과 제한된 인덱싱/쿼리 지원을 제공하며 Cosmos DB와 비교할 때 매우 저렴합니다.

코스모스 DB에 대한 추가 정보는 https://docs.microsoft.com/en-us/azure/cosmos-db/introduction에서 찾아 볼 수 있습니다.

+0

. Cosmos Table API 또는 DocumentDB API로 이동하기로 결정했습니다. Cosmos Table API에는 SQL 쿼리 기능이 없다. 또한 데이터에 대해 몇 가지 쿼리를 실행하려고합니다. – nkhuyu

+0

프리미엄 테이블에 대한 쿼리 기능이 있습니다 (Azure 테이블과 동일 함 - 집계 등과 같은 기능). –

4

Azure Cosmos DB Table API는 Azure 테이블 스토리지 커뮤니티에서 사용할 수있는 Cosmos DB와 고급 인덱싱, 지리적 분포 등의 기능을 구현하기 위해 도입되었습니다. Cosmos DB에서만 제공하는 고급 기능을 필요로하는 Azure 테이블 스토리지를 사용하는 사용자는 문자 그대로 연결 문자열을 변경할 수 있으며 기존 코드는 Cosmos DB와 함께 사용할 수 있습니다.

그린 필드 고객이라면 Table API의 슈퍼 세트 인 SQL API (이전에는 Document DB API)를 사용하는 것이 좋습니다. Google은 Table API의 경우 몇 년 동안 변경되지 않은 Azure 테이블 스토리지의 API와의 호환성을 유지하기 위해 SQL API에 대한 고급 기능을 제공하기 위해 끊임없이 투자하고 있습니다.

보유한 데이터의 양은 선택한 API에 아무런 영향을주지 않습니다. 둘 다 동일한 다중 모델 인프라를 사용하며 동일한 크기의 데이터, 쿼리로드, 배포 등을 처리 할 수 ​​있습니다.

1

제발 논제로 신고하지 마세요.

문서 인터페이스를 고려하고 있다면 사실 DataContract 클래스 (및 다른 모든 것)가 Cosmos로 변환되는 방법에 영향을 줄 수있는 대소 문자가 구분되지 않습니다. .

아래의 링크 된 설명에서는 Newtonsoft.Json에서 사용자가 처리하거나 API에서 직접 가져 오는 개체 처리에 영향을 줄 수있는 대소 문자가 구분되어 있음을 알 수 있습니다. 코스모스에는 어떤 결함이있는 것은 아니며 사실 그것은 완전히 뛰어납니다. 하지만 문서 API를 사용하면 (나처럼) DataContract 객체를 Cosmos로 전달하기 시작할 수 있습니다 (분명히 잘못이 아니며 실제로 객체 API에서 기대할 수 있습니다). 그러나 일부 직렬 함수 및 명명 전략 처리 옵션이 있습니다. 당신은 아마 적어도 앞을 인식하고있는 것이 낫습니다.

개체 인터페이스를 사용하여이 동작을 인식하도록 메모를 추가하기 만하면됩니다. 논의는 GitHub의에 여기에 있습니다 : 우리는 현재 푸른 표 스토리지를 사용하고

https://github.com/JamesNK/Newtonsoft.Json/issues/815

관련 문제