sourcecode

MongoDB와 CouchDB는 완벽한 대체물입니까?

codebag 2023. 5. 8. 22:11
반응형

MongoDB와 CouchDB는 완벽한 대체물입니까?

카우치DB몽고DB도 아직 손을 더럽히지 않았지만, 곧 그렇게 하고 싶습니다...두 시스템에 대해서도 조금 읽었는데, 제가 보기에는 두 시스템이 동일한 사례를 다루고 있는 것 같습니다.아니면 중요한 구별 기능이 누락되었습니까?

다음 프로젝트에서는 기존 RDBMS 대신 문서 기반 스토리지를 사용하고 싶습니다.또한 데이터스토어가 필요합니다.

  • 큰 이진 개체(비디오 및 비디오) 처리
  • 물리적으로 분리된 노드에 자동으로 복제
  • 추가 RDBMS의 필요성을 불필요하게 만듭니다.

두 가지 모두 이러한 요구 사항에 동일하게 적합합니까?

감사합니다!

저는 사실 이 두 가지를 매우 다양한 프로젝트에 매우 광범위하게 사용했습니다.

저는 그것들이 당신이 열거한 요구 사항에 똑같이 잘 맞는다고 말하고 싶지만, 둘 사이에는 꽤 많은 차이가 있습니다.IMO의 가장 큰 장점은 쿼리 능력입니다.CouchDB에는 RDBMS 의미의 '쿼리'(...에서 * 선택)가 없고 대신 저장 프로시저(기본적으로 데이터베이스(1)정의된 정적 쿼리)에 가까운 ''를 사용합니다.MongoDB는 훨씬'일반적인' 쿼리를 가지고 있습니다.

기본적으로 애플리케이션 요구사항에 따라 결정됩니다.만약 당신이 더 많은 정보를 주신다면, 저는 그 상황에서 무엇이 중요한지에 대해 좀 더 밝힐 수 있을 것입니다.

: CouchDB에서 일시적으로 정적이지 않은 쿼리를 사용할 수 있지만 프로덕션 용도로는 권장되지 않습니다.

Mongo는 더 많은 "전통적인" 쿼리를 사용합니다.키 단위로 인덱싱을 설정하고 SQLish 쿼리 구문을 사용합니다.

CouchDB의 보기는 훨씬 더 심층적인 인덱싱 및 관계를 수행할 수 있지만, 조금 더 많은 작업을 수행하고 쿼리를 수행하기 위한 키 정렬의 작동 방식을 이해해야 합니다.

복제 시스템에도 큰 차이가 있습니다.Mongo의 복제는 마스터와 슬레이브가 있는 대부분의 RDBMS 솔루션과 매우 유사합니다.CouchDB의 복제는 피어 투 피어(peer to peer)이며 마스터/슬레이브가 없으며 모든 CouchDB는 노드입니다.

CouchDB의 복제는 지리적으로 서로 다른 사이트를 동기화하기 위해 만들어졌습니다.중단된 위치에서 복제를 다시 시작하여 네트워크 및 기타 오류를 정상적으로 처리합니다.참여 노드는 의도적으로 오프라인으로 전환될 수도 있습니다.

MongoDB를 사용하기 전에 http://groups.google.com/group/mongodb-user/browse_thread/thread/460dbd49a5b6b267 을 참조하는 것이 좋습니다.MongoDB는 각 쓰기에 대한 fsync가 부족하기 때문에 데이터가 손상될 가능성이 적습니다.

http://nosql.mypopescu.com/post/298557551/couchdb-vs-mongodb

개발자 관점에서 가장 큰 차이점은 몽고 라이브 쿼리와 카우치 뷰("컴파일"해야 함)입니다.운영 측면에서 카우치는 http-rest에서 완전히 작동하고 있습니다.http 서버를 구성할 수 있는 경우 코치를 설정하는 방법을 알고 있습니다.대신 Mongo를 사용하여 구성 서버, 복제본 세트 및 mongos(밸런서의 일종)를 설정하는 방법을 배워야 합니다.

언급URL : https://stackoverflow.com/questions/1990086/are-mongodb-and-couchdb-perfect-substitutes

반응형