2013-02-07 4 views
5

이 예를 들어 100GB의 데이터베이스를 가지고 :MongoLab 푸른 표 저장 대

푸른 보관 비용 : £ 6.05/m 을 MongoLab AWS에 1 명 노드 비용 : £ 153.18/m

내가 실종 무엇인가? 잘못 계산 된가요? 누군가 나를 위해 일을 정리할 수 있습니까? 나는 node/mongoDB를 정말 좋아하기 때문에 MongoLab을 사용하는 편이 낫다. 그러나 테이블 스토리지를 사용하는 것이 훨씬 비용 효율적인 솔루션으로 보입니다.

키/값과 문서 저장소의 차이점을 알고 있으며 후자를 선호합니다.

답변

12

ATS (Azure Table Storage)가 서비스 형 스토리지인지 고려해야합니다. 저장소 및 관련 CRUD 작업을 관리하기 위해 서버를 설정할 필요가 없습니다. ATS는 대규모 멀티 테넌트 시스템이므로 Azure에서 처리합니다. 계정을 요청하고 엔드 포인트 (기본 & 보조 키)를 받으면 GB 당 약 7 센트 (그리고 100K 트랜잭션 당 페니)를 지불하면됩니다.

MongoDB를 사용하면 AWS 또는 Azure (또는 온 - 프레미스 또는 다른 어느 곳)에서든 자신의 서버를 준비하고 스토리지를 프로비저닝해야합니다. 즉시 사용할 수있는 오늘날의 클라우드 제공 업체는 MongoDB-as-a-service를 제공하지 않습니다. 현재 비용 기준은 ATS보다 훨씬 높으며 백업/스냅 샷, MongoDB 유지 관리 등을 담당합니다. 베어곤 뼈대의 MongoDB 배치라도 최소한 두 개의 가상 시스템 인스턴스 비용이들 것입니다 (프로덕션의 독립형 서버는 바람직하지 않습니다 정기적 인 다운 타임으로 인해). 최소 Azure 인스턴스는 $ 0.02/hour 또는 약 $ 14 월간 x 2, 최소 $ 30/footprint (1GB RAM 이하의 로우 엔드 가상 머신이며 고성능 MongoDB를 제공하지는 않지만, 소규모 트래픽이있는 웹 사이트 또는 블로그에 적합합니다. 가용성을 희생 시키면 한 달에 14 달러에 스토리지 비용 (내구성 스토리지에 있어야하므로 한 달에 7 센트)을 실행할 수 있습니다.

이제 MongoLab에 대해 언급합니다. 그들은 에 MongoDB-as-a-service를 가지고 있으며 멀티 테넌트 호스팅 솔루션을 구축했으며 Azure를 포함한 여러 클라우드에서 서비스를 이용할 수 있습니다. 서버 유지 관리, 백업 전략, 지원, 고 가용성, 모니터링 등 가상 머신 인스턴스, 스토리지 및 대역폭에 대한 투자 비용을 부담합니다.

스토리지 비용에 지나치게 집중하지 않습니다. 당신의 유일한 결정 요인이되고 있습니다. ATS를 사용하여 여러 개의 인덱싱 된 필드를 필요로하는 복잡한 쿼리를 수행해야하는 경우 해당 인덱스를 제공하기 위해 추가 테이블을 구성해야합니다. 그렇지 않으면 파티션 스캔이나 테이블 스캔을 수행하여 필요한 것). MongoDB는 매우 강력한 검색 및 집계 엔진을 가지고 있습니다. 앱에이 기능이 필요한 경우 MongoDB를 사용하고 앱을 "오늘"실행하는 것과 달리 개발자 시간 엔지니어링에 더 많은 돈을 투자하고 추가 테이블 스토리지 복잡성을 유지할 수 있습니다. 반면에 테이블 스토리지에 실제로 적합한 데이터가있는 경우 (파티션 + 행 키가 대부분의 검색 케이스를 다루는 경우) 원자 업데이트에 대한 엔티티 그룹 트랜잭션을 활용할 수있는 경우 테이블 스토리지를 고려해야합니다 비용뿐 아니라 규모 (스토리지 계정 당 200TB) 및 성능에 적합합니다.

이 도움이 되었기를 바랍니다 ...

+0

또한 Storage-as-a-service (서비스로 저장)를 사용하면 일반적으로 실행 엔진을 얻지 못할 수도 있습니다. 이는 MonoDB/SQL Azure와 Azure Table Storage의 큰 차이점입니다. 실행은 클라이언트와 서버 모두에서 발생하는 반면, 스토어드 프로 시저/SQL 문을 실행하면 클라이언트의 결과에만 관심이 있습니다.그 이유는 카운트 또는 분석을 얻는 것과 같은 간단한 작업을 수행하면 데이터/메타 데이터의 일부를 클라이언트에 가져 와서 처리하는 것입니다 (일부 Azure 테이블 스토리지 작업의 경우). –