다른 NoSQL 데이터베이스와 관련하여 DynamoDB의 장단점은 무엇입니까?
SaaS 제품은 Heroku에서 MongoDB 데이터베이스 추가 기능을 사용합니다.아마존이 클라우드 데이터베이스 서비스인 DynamoDB를 출시한 지금, 저는 그것이 NoSQL 오퍼링 환경을 어떻게 변화시키는지 궁금했습니다.
특히 클라우드 기반 서비스나 SaaS 공급업체의 경우, DynamoDB를 MongoDB와 비교하여 어떻게 사용하는 것이 더 낫거나 더 나쁠까요?다른 것과 비교하여 비용, 성능, 확장성, 안정성, 드라이버, 커뮤니티 등의 이점이 있습니까?
우선, 아마존의 전문가 팀에서 완벽하게 관리할 것이기 때문에 최종 사용자(개발자)의 입력이 거의 없어도 매우 잘 확장될 것이라고 장담할 수 있습니다.
또한 Amazon에서 구축하고 관리하기 때문에 인프라스트럭처와 매우 잘 작동하도록 설계되어 성능이 최고라고 가정할 수 있습니다.인프라를 위해 특별히 제작된 것 외에도 SSD를 스토리지로 사용하기로 결정했기 때문에 처음부터 디스크 처리량은 HDD를 지원하는 AWS의 다른 데이터 저장소보다 훨씬 더 높습니다.
저는 아직 드라이버를 본 적이 없고 커뮤니티가 이것에 대해 어떻게 반응할지 말하기에는 너무 이르다고 생각합니다. 하지만 아마존은 가장 인기 있는 모든 언어를 위한 드라이버를 가지고 있고 커뮤니티는 이것을 잘 받을 것이라고 생각합니다. 그리고 그 결과 추가 드라이버와 도구를 만들 것입니다.
Heroku용 애드온을 통해 MongoDB를 사용하면 MongoDB도 SaaS 제품으로 효과적으로 전환됩니다.
실제로는 하나의 내성 솔루션을 다른 솔루션과 비교하는 대신 선택한 공급자가 제공하는 서비스와 아마존이 제공할 수 있는 서비스를 비교하는 것입니다.
이것은 매우 어렵습니다.각 공급업체는 다양한 가격대의 다양한 서비스 레벨을 제공하며, 개발 목적으로 로컬에서 자체 하드웨어에서 서비스를 실행하는 옵션은 환영할 만한 옵션이라고 생각할 수 있습니다.
고려해야 할 중요한 차이점은 MongoDB는 어디서나 설치할 수 있는 소프트웨어(AWS, 기타 클라우드 서비스 또는 사내 포함)인 반면, DynamoDB는 Amazon(AWS)의 호스팅 서비스로만 제공되는 SaaS입니다.사내에서 애플리케이션을 호스팅하는 옵션을 유지하려면 DynamoDB를 선택할 수 없습니다.AWS 외부에서 호스팅하는 것이 고려 대상이 아니라면, DynamoDB를 기본으로 선택해야 합니다.
다음 링크에는 DynamoDB와 Cassandra의 특성을 요약한 표가 있습니다.
http://www.datastax.com/dev/blog/amazon-dynamodb
사용 가능성을 높이기 위해 DynamoDB에 대한 개선이 필요한 것은 기본 키가 아닌 다른 열을 인덱싱할 수 있는 가능성입니다.
업데이트 1(06/04/2013)
2013년 4월 18일, Amazon은 로컬 2차 인덱스 지원을 발표하여 DynamoDB f***를 크게 만들었습니다.
솔직히 말해서, 저는 새로운 DynamoDB에 대해 들었을 때 매우 흥분했고 어제 웨비너에 참석했습니다.하지만 그들이 말한 모든 것이 여전히 모호했기 때문에 지금 당장 결정을 내리기는 너무 어렵습니다. 그들의 서비스를 통해 어떤 기능이 허용/사용될 지 전혀 모르겠습니다.
제가 아는 한 가지는 확장이 자동으로 처리된다는 것입니다. 꽤 놀랍지만, 아직도 알려지지 않은 것들이 너무 많아서 모든 사실을 파악하고 사용할 수 있을 때까지 훌륭한 분석을 하는 것은 어렵습니다.
지금까지 저는 mongo가 제가 진행해온 프로젝트에서 (개인적으로) 훨씬 더 잘 일하고 있다고 생각합니다.
대부분의 DB 결정과 마찬가지로 프로젝트 결정을 통해 고객의 요구에 가장 적합한 것이 무엇인지를 결정할 수 있습니다.
저는 제품에 대한 더 많은 정보를 애타게 기다리고 있습니다. 지금은 베타 버전이기 때문에 시험관이 되기 위해서만 최신의 가장 훌륭한 제품을 채택하기 위해 뛰어들지는 않을 것입니다. :)
DynamoDB와 다른 NoSQL 제품 간의 주요 차이점 중 하나는 프로비저닝된 처리량입니다. 즉, 테이블의 특정 처리량 수준에 대해 비용을 지불하고 데이터를 잘 분할하면 항상 해당 처리량이 충족될 것으로 기대할 수 있습니다.따라서 애플리케이션 로드가 증가함에 따라 성능을 다소 일정하게 유지하고 스케일업할 수 있습니다.
Amazon DynamoDB는 꽤 괜찮은 NoSQL 솔루션인 것 같습니다.그것은 빠르고, 사용하기에 꽤 쉽습니다.AWS 계정을 가지고 있는 것 외에는 실제로 필요한 설정이나 유지보수가 없습니다.MongoDB/CouchDB/Cassandra에 비해 현재 기능 세트와 API는 상당히 작지만, 개발자 커뮤니티의 피드백이 수신되면 시간이 지남에 따라 증가할 것으로 예상합니다.현재 모든 공식 AWS SDK에는 DynamoDB 클라이언트가 포함되어 있습니다.
장점
- LightningFast(내부적으로 SSD 사용)
- 정말 믿을 만합니다.(쓰기 실패 확률이 더 낮음)
- 원활한 확장(수동 샤딩 필요 없음)
- 웹 서비스로 작동(서버, 구성, 설치 없음)
- 다른 AWS 기능과 쉽게 통합(전체 테이블을 S3로 저장하거나 EMR 등을 사용할 수 있음)
- 복제는 내부적으로 관리되므로 실수로 데이터가 손실될 가능성은 무시할 수 있습니다.
단점
- 매우(매우) 제한된 쿼리입니다.
- 검색은 고통스럽습니다(Java를 통한 검색이 6시간 동안 실행된 적이 있는 것으로 기억합니다).
- 사전 정의된 처리량, 즉 설정된 처리량을 초과하는 급격한 증가는 조절됩니다.
- 테이블이 내부적으로 셰이딩될 때 처리량이 분할됩니다.(즉, 1000에 대한 처리량이 있고 두 개로 분할되어 있고 (한 부분에서) 최신 데이터만 읽는 경우 판독 처리량은 500만입니다.)
- 조인 없음, 제한된 인덱싱 허용(기본적으로 2).
- 보기, 트리거, 스크립트 또는 저장 프로시저가 없습니다.
확장 가능한 애플리케이션에서 세션 스토리지의 대안으로 매우 유용합니다.또 다른 유용한 용도는 광범위한 시스템에서 로깅/감사입니다.기능 향상이나 변경이 잦은 기능이 풍부한 애플리케이션에는 적합하지 않습니다.
언급URL : https://stackoverflow.com/questions/8925719/what-are-the-pros-and-cons-of-dynamodb-with-respect-to-other-nosql-databases
'programing' 카테고리의 다른 글
LockModeType Jpa 간의 차이 (0) | 2023.05.22 |
---|---|
소멸자에서 이벤트 핸들러를 제거해야 합니까? (0) | 2023.05.22 |
명령줄을 사용하여 지정된 경로에서 node_modules 폴더를 재귀적으로 삭제합니다. (0) | 2023.05.17 |
Mac + virtualenv + pip + postgresql = 오류: pg_config 실행 파일을 찾을 수 없습니다. (0) | 2023.05.17 |
npm 설치와 npm 실행 빌드의 차이점은 무엇입니까? (0) | 2023.05.17 |