Nice programing

CouchDB를 사용하는 사람이 있습니까?

nicepro 2020. 12. 8. 19:59
반응형

CouchDB를 사용하는 사람이 있습니까?


지난 몇 년 동안 관심을 가지고 CouchDB 프로젝트를 따랐고 이제 Apache Incubator 프로젝트가되었습니다. 그 이전에는 CouchDB 웹 사이트가 프로덕션 코드 유형 면책 조항에 사용하지 않기로 가득 차 있었기 때문에 계속 주시하고있었습니다. 라이브 프로젝트 또는 기술 파일럿에 CouchDB를 사용했다면 경험을 알고 싶습니다.


18 개월의 프로토 타입, 테스트 및 CouchDb가 준비 될 때까지 기다린 후 2008 년 12 월에 내부 애플리케이션 을 CouchDB 로 옮겼습니다 . 지금까지 저는 그 움직임에 매우 만족합니다. 우리를 위해 많은 파일 시스템 객체를 제거합니다 (PDF 및 JPEG, 이제 CouchDB에 첨부 파일로 저장 됨). 이를 통해 NFS를 제거하고 프런트 엔드 웹 서버를보다 쉽게 ​​클러스터 / 복제 할 수 있습니다.

CouchDB가 어느 정도 준비되었는지는 조직의 문화에 크게 좌우됩니다. 우리는 여러 내부 Erlang 응용 프로그램을 유지 관리하는 사내 개발 팀을 보유하고 있습니다. CouchDB는 Erlang으로 작성되었고 코드베이스는 꽤 괜찮은 품질이기 때문에 필요에 따라 CouchDB에서 쇼 스토퍼 문제를 해결할 수 있다고 확신하거나 최소한 데이터를 다시 가져올 수 있습니다. 또한 만일을 대비하여 CouchDB 핵심 팀 중 한 명을 컨설턴트로 고용했습니다.

그러나 CouchDB는 아직 1.0이 아닙니다. 웹 작업자 프로세스에는 항상 충돌이 있습니다 (오용하는 경우). 복제가 중단되고 이에 대한 오류 메시지가 표시되지 않습니다. 문서는 여전히 매우 부족합니다. 그래도 데이터를 먹지 않을 것이라고 확신하며 개발은 합리적인 속도로 진행됩니다.

애플리케이션에 대한 아이디어를 제공하기 위해 : 현재 가장 큰 데이터베이스는 7.5GB의 디스크 공간을 차지하는 약 512000 개의 레코드입니다.


CouchDB를 사용하여 Facebook 애플리케이션을 구동합니다 (월간 활성 사용자 35,000 명 이상). 한동안 MySQL을 사용하고 있었지만 전체 프로젝트를 Perl에서 Erlang으로 이식 한 후 금메달을 결정하고 모든 데이터를 CouchDB로 마이그레이션하고 대신 사용하기로 결정했습니다.

CouchDB는 작업하기에 훌륭한 데이터 저장소였습니다. 웹 기반 서비스에서 메이저 플레이어가되는 길이라고 생각합니다.


얼마 전 (6 개월 정도) 작업을하고있는 사람 (1 월)을 알게되었고 그 이후로 계속 놀고 있습니다. CouchDB 주변의 커뮤니티는 지식이 풍부하고 도움이되므로 문제가 발생할 때마다 최소한 몇 분 또는 몇 시간 내에 해결되었습니다.

우리는 기본적으로 비 관계형 방식으로 데이터를 저장해야하는 프로젝트를 지난 주 막 시작했으며 CouchDB의 문서 지향 저장소로 인해이를 사용할 기술 중 하나로 선택했습니다. 그래서 실제로 프로덕션에서 실행하는 것은 이번이 처음이지만 여전히 그것에 대해 꽤 확신합니다. :)

여기 업데이트 (2009-10-25) :

첫 번째 CouchDB 설치는 20GB이며 4 천만 개의 레코드를 호스팅합니다. 2009 년 1 월부터 생산 중이며 훌륭했습니다. 읽기 ( GET) 속도는 탁월하며 복잡한 데이터의 저장소로 사용하고 끌어 당기면됩니다.

두 번째 couchdb 할부에는 두 개의 데이터베이스가 있습니다. 하나는 160,000,000 개 이상의 문서 (210GB)이며 하루에 150,000-300,000 개의 문서로 증가합니다. 다른 하나는 35,000,000 개의 문서 (7GB)에 불과 합니다. 이 설정에는 더 많은 읽기 및 쓰기가 있으며 초기 테스트가 매우 잘 수행되고 있습니다.

160,000,000 문서 데이터베이스에서 뷰를 빌드하는 데 대략 일주일이 걸렸지 만 그 이후로 더 큰 Amazon EC2 인스턴스로 업그레이드했으며이 릴리스에는 뷰 빌드에 많은 성능 개선 사항이 포함되어 있으므로 CouchDB 0.10.x(에서 0.9.1)로 업데이트 할 준비가되었습니다 .


저는 몇 가지 시나리오에서 couchdb를 http://devk.it (개발 중)에 대한 문서 저장소로 사용하고 분산 이메일 전달 시스템을위한 템플릿 저장소로 훨씬 더 큰 규모로 사용하고 있습니다.

CouchDB는 그것이하는 일에 대해 매우 매끄럽지 만 예상했던 것만 큼 높은 동시성 수준에서 실행할 수 없었습니다. 또한 mochiweb의 하드 코딩 된 최대 입력 버퍼 크기로 인해 최대 문서 크기는 1MB로 상당히 제한됩니다. 그러나 헤더 파일을 변경하고 다시 컴파일하여이 제한을 피할 수 있습니다.


저는 CouchDB를 사용하여 블로그에 기사 등급을 저장 (및 제공)하고 있습니다. 정체는 아니지만 지금까지 견고했습니다.

또한 언젠가는 CouchDB에도 저장할 코멘트를 추가 할 계획입니다.

OSX에서는 CouchDBX다운로드 하여 빠르게 시작할 수 있습니다. 저는 RestClient 와 함께 Sinatra 백엔드를 사용하여 직접적인 HTTP 동사 등을 통해 'the couch'와 상호 작용합니다.

큰 재미.


현재 저는 컴퓨터 과학 논문을 위해 CouchDB와 함께 일하고 있습니다. 내 블로그 http://metalelf0dev.blogspot.com 에서 진행 상황과 의견에 대해 쓰고 있습니다 . 프로젝트는 잘된 것 같지만 기존 문서는 제대로 정리되어 있지 않습니다. Futon 웹 인터페이스에 대한 빠른 튜토리얼은 IMHO 초보자에게 정말 유용 할 수 있습니다. :)


나는 프로덕션에서 couchdb를 두 번 사용했습니다. 첫 번째는 위키 좋아요 프로젝트 였고 나는 couchdb가 그 역할에 대한 완벽한 후보라고 생각합니다. 모든 문서의 버전을 저장하면 많은 도움이됩니다. 두 번째 프로젝트는 상당히 많은 쿼리가로드되었고 아이디어는 먼저 소셜 데이터를 덤프 한 다음 다양한 필터로 쿼리하는 것이 었습니다. 표준 CouchDB 쿼리 기능이 우리의 요구에 약간 순수 해 보이는 것처럼 보였습니다. 그러나 우리는 전체 텍스트 인덱서와 같은 Lucene을 추가하고 그 후에 Lucene 부분에서 많은 쿼리를 수행합니다. 그리고 그 솔루션은 충분히 좋아 보입니다.

참고 URL : https://stackoverflow.com/questions/28975/anyone-using-couchdb

반응형