[database] MongoDB 또는 CouchDB-프로덕션에 적합합니까? [닫은]

MongoDB 또는 CouchDB프로덕션 환경에 준비되어 있는지 누군가가 말해 줄 수 있는지 궁금 합니다.

나는 지금이 스토리지 솔루션을보고 있습니다 (현재 MongoDB를 선호합니다). 그러나이 프로젝트는 상당히 젊으므로 관리자가 우리가 이것을 채택해야한다고 확신시키기 위해 열심히 노력해야 할 것으로 예상됩니다 새로운 기술.

내가 알고 싶은 것은 :

  1. 오늘날 프로덕션 환경에서 누가 MongoDB 또는 CouchDB를 사용하고 있습니까?

  2. MongoDB / CouchDB를 어떻게 사용하고 있습니까?

  3. 이 새로운 스토리지 메커니즘을 채택했을 때 어떤 문제가 있었습니까 (그리고 어떻게 극복 했습니까)?

  4. 처리해야 할 마이그레이션 문제를 어떻게 처리 했습니까?

  5. 공유하고 싶은 솔루션 중 하나에 대해 좋은 / 나쁜 경험이 있습니까?



답변

저는 10gen (MongoDB 개발자)의 CTO이므로 약간 편향되어 있지만 프로덕션 환경에서 MongoDB를 사용하는 일부 사이트도 관리합니다.

사업자 는 현재 1 년 이상 몽고를 생산하고 있습니다. 그들은 사용자와 블로그 게시물에서 사이트의 모든 이미지에 이르기까지 모든 것을 위해 그것을 사용하고 있습니다.

shopwiki 는 실시간 분석 및 캐싱 계층을 포함한 몇 가지 용도 로이를 사용하고 있습니다. 그들은 상당히 큰 데이터베이스에 초당 1000 회 이상의 쓰기를 수행하고 있습니다.

mongodb Production Deployments 페이지 로 이동하면 프로덕션 에서 mongo 를 사용하는 사람들이 있습니다.

프로덕션 배포의 규모 나 범위에 대해 궁금한 점이 있으면 사용자 목록에 게시하면 기꺼이 도와 드리겠습니다.


답변

BBCmeebo.com는 생산에 CouchDB를 사용하고 나의 클라이언트 중 하나 않습니다. 소파를 사용하는 다른 사람들의 목록은 다음과 같습니다.CouchDB를

주요 과제는 문서를 구성하고 관계형 데이터 측면에서 생각을 멈추는 방법을 아는 것입니다.


답변

SourceForge 는 MongoDB를 사용합니다. 참조 이 프리젠 테이션을 하거나 여기에 읽기 .


답변

우리는 상점을위한 MySQL의 대용품으로 CouchDB를 운영하고 있습니다 (점당 70.0000 품목, 모든 품목의 총 4 백만 속성, 품목 간 상호 연결).

우리의 목표는 다음과 같습니다.

  1. master-db에서 다른 문서를 가진 여러 클라이언트로 쉽게 복제 할 수 있습니다.

  2. “이 속성에 해당하는 부품 수와 해당 조건에 맞는 필터 수”와 같은 빠른 사전 계산 데이터

사리:

  1. 우리 상점은 이제 MySQL보다 훨씬 빠르게 실행되고 있으며 mysql-database는 1 ~ 3 일의 사전 계산이 필요하기 때문에 (한 달에 두 번 업데이트) 데이터 계산 및 필터링 준비가 완료되었으며 CouchDB는 5 시간이 소요됩니다. 매일 밤 제품 데이터를 업데이트 할 수 있습니다)
  2. 작업장 노드에 대한 (필터링 된) 데이터 배포 및 백업 설정이 빠르고 쉽습니다.

또한 :

  1. 맵 / 축소와 조인이없는 한계를 이해하는 것은 매우 어렵습니다.
  2. 외부 프로그램없이 “where where”또는 “update where”와 같은 데이터에 대한 작업이 없습니다
  3. 문제가 없으면 복제가 잘 작동합니다. 그 이유가 무엇인지 찾기가 정말 어렵습니다 (초보자)
  4. 리눅스 괴짜가 아니라면 바이너리없이 CouchDB를 설치하는 것은 어렵습니다 (그렇습니다. 그러나 CouchDB 커뮤니티는 도움이되고 (#couchdb) 운 좋게도 무료 비즈니스에서 대기업에 이르는 서비스를 제공하는 회사가 있습니다.
  5. CouchDB는 앞으로 나아가고 있으므로 작업 방식에 변화를 줄 수있는 많은 변화 (개선)가 진행되고 있습니다. 그러나 기본적인 것은 안정적입니다.

결과 : 데이터 생성 및 유지 관리를위한 데이터베이스 인 MySQL은 신뢰할 수 있고 이해하기 쉽고 처리하기 쉽습니다. 나는 우리가 이것을 바꾸지 않을 것이라고 생각합니다. 그러나 CouchDB 뷰의 힘과 복제 설정의 용이성을 놓치지 않으려 고합니다.

프로덕션 소파는 구성 오류 및 잊어 버린 로그 로테이션 (빌딩이 너무 오래 걸리거나 중단, 복제 중지)으로 인해 수 개월 동안 작업 한 후에 문제를 일으켰지 만 데이터 손실이 없어 항상 쉽게 재설정 할 수있었습니다.


답변

프로덕션에서 CouchDB를 사용하고 있습니다. 현재는 원래 DB 스키마에 없었던 모든 ‘선택적’필드를 저장합니다. 그리고 지금은 모든 데이터를 CouchDB로 옮길 생각입니다.

매우 위험한 단계입니다. 첫째, 아직 v1.0이 아니기 때문입니다. 둘째, 드라이브 공간이 부족하기 때문입니다. 내 계산에 따르면 CouchDB 파일 (인덱스 포함)은 동일한 행을 가진 MySQL 데이터베이스보다 ~ 30 배 더 큽니다. 그러나 나는 그것이 잘 작동 할 것이라고 확신합니다.


답변

CouchDB 0.11 (3 월 말에 출시)은 1.0의 기능 정지 버전입니다. 즉, 현재 API 1.0과의 호환성을 유지할 것이므로 CouchDB를 다시 한 번 살펴 보는 것이 좋습니다.

CouchDB를 0.11 소스 코드 버전은 여기에서 확인할 수 있습니다. 바이너리 인스톨러와 다른 것들이 여기에 링크되어 있습니다.


답변

MongoDB에 대해서는 아무것도 모르지만 CouchDB FAQ는 다음과 같습니다.

CouchDB는 생산 준비가 되셨습니까?

예, CouchDB를 사용하는 부분 프로젝트 목록 은 InTheWild 를 참조하십시오 . 또 다른 좋은 개요는 CouchDB 사례 연구입니다.

또한 일부 링크 :