2010-12-30 4 views
2

웹 응용 프로그램을 구축 중입니다. 어떤 문서 지향 DBMS와 erlang 응용 프로그램이 섞여 있습니까?

Yaws, Nitrogen and Mnesia

이제 키 - 값 저장소가 필요하며 시스템의 다른 부분과 분리하면 효율성과 가용성이 향상 될 것입니다. 또 다른 요구 사항은 문서 저장소 DBMS에 넣은 정보에 PHP, Java, Python, 심지어 Ruby와 같은 다른 기술에서 액세스 할 수 있어야한다는 것입니다. CouchDB를가 부하 변동?, 무엇 재해 복구 기술의 시간에 수행 않습니다 얼마나 잘

Option1: CouchDB

는 보관, 백업, 파일 관리 등 에 대해 나는 내가로부터 CouchDB를 데이터에 액세스하는 것이었다 무엇 CouchDB를의 서비스를? 않습니다 다음과 같은 메커니즘 중 더 나은 응용 프로그램에서의 erlang 응용 프로그램

Using: curl -X [HTTP METHOD] [URI] [REQUEST]
또는
Using Erlang CouchDB drivers [e.g benoitc-couchbeam from github e.t.c]. {do
these drivers require couchDb to be on the same host as the driver?,
Which mechanisms do they use to access CouchDb, i.e.
[do they use its HTTP access APIs?, or built-in Erlang RPC mechanisms?,
TCP/IP sockets?]}
Is there a CouchDb erlang driver that can give me Erlang terms direct?
i.e. if i create a document, can i use any erlang terms in both the Key and
Value?, The JSON data format forces us to use
strings,integers,floats and binaries only

CouchDb로 작업 할 때 선택한 액세스 방법에 따라 성능이 어떻게 영향을 줍니까?

, couchDB에서 저장할 수있는 레코드 수 또는 키 - 값 쌍 수는 제한이 있습니까? Mnesia에있는 것처럼 CouchDb에 파일 크기 제한이 있습니까?
 
We have MongoDB running and sofar we are accessing it using an Erlang driver
(unofficial) called "erlmongo" from github.But there is a second one called
"emongo". Looking at the implementation of these two shows that both offer
record or property lists (data structures in erlang). We have sofar
tested erlmongo and it is quite fast compared to couchDb
(Perhaps due to Mongo's being implemented in C++).
How much data can mongo handle? is there a limit on file size?
Which erlang driver can be trusted before we go into production with MongoDB?

Now the problem is choosing between these two. MongoDB appears to be stable, 
fast, and multi-platform.CouchDB being implemented in Erlang makes one
think that it provides direct semantics to Erlang programmers to store or even
retrieve Erlang Terms from CouchDB. The biggest problem is which Data store
can give me the highest percentage of assurance that my data is stable,
permanent, and safe.......Help me guys


Option2: MongoDB


/ [email protected] 우리는 150K 동시 접속 사용자가 요청을 가진 얼랑 앱 소파를 사용하고

답변

1

Couchdb의 원시 erlang 드라이버에 대한 Chris Andersen의 호버 크래프트 라이브러리를 살펴볼 수 있습니다.

https://github.com/jchris/hovercraft

나는 호버 크래프트를 시도하지 않았습니다.나는 내 질소 기반 웹 응용 프로그램에 대해 ecouch (https://github.com/JackDanger/ecouch)를 사용하고 있으며 ecouch를 사용한 경험이 지금까지는 좋았습니다.

inaka 이상 제안한 것처럼, 이불 설계 문서, 뷰, 데이터베이스 복제 등, 데이터베이스를 관리 만들기위한 편리한 오는

루씬을 기반으로 CouchDB를위한 전체 텍스트 인덱서 및 seracher이 있습니다. (https://github.com/rnewson/couchdb-lucene)

현재 Couchdb의 문서 크기 제한은 4GB입니다.

다음 스레드가 어떤 가치 입력이

Anyone using CouchDB?

4

. 사실 우리는 별도의 erlang 노드에서 실행하고 액세스를 위해 CouchBeam을 사용하는데, 이는 HTTP 요청을 만들고 있기 때문에 Erlang으로 작성되었다는 사실에 실질적인 이점은 없습니다.

우리는 Couch와 Erlang에 만족하며 CouchBeam에 대한 변경 사항을 프로젝트에 다시 기부했습니다. 아바타를 지원하는 한, 이불로 인해 관리가 쉽고 복제를 다루는 것이 쉽습니다.

편집 추가 : 우리는 원래 Couch 대신 mnesia를 사용했지만 노드가 불명확하게 내려간 경우 시작 시간이 길어서 건망증이 금지됩니다.

우리는 Mongo가 최대 1 분 동안 쓰기를 보장하지 않으며 신뢰성을 보장하는 수단으로 복제를 권장한다는 사실 때문에 데이터 손실의 위험 때문에 Mongo를 고려하지 않았습니다 (우리는 ' 별도의 전원으로 별도의 하드웨어에서 두 개의 노드를 실행해야 함).

2

Riak을 살펴보십시오. Erlang으로 작성되어 일부 회사에서 제작에 사용되었습니다.

4

... 내 데이터는 안정적이고, 영구적이며, 안전합니다.

계속 진행하기 전에 MongoDB의 지속성 보장을 매우 신중하게 확인해야 할 것입니다. MongoDB가 "빠름"으로 인식되는 이유가 있습니다. 면책 조항 : MongoDB는 활성 프로젝트입니다. 몇 분의 한 번만 동기화하면됩니다.

관련 문제