2012-03-12 3 views
2

Erlang에 Couch DB를 조회 할 수 있습니다. Erlang으로 작성된보기는 JavaScript로 작성된보기보다 빠르다고합니다. 이 Article은 이러한 가능성을 보여줍니다. 그러나 Erlang fun을 임시보기로 직접 입력 할 수 있습니다. futon: CouchDB Web interface

질문 1 : Erlang으로 작성된 Couch DB보기의 예제를 찾을 수 있습니까? 아니면 이렇게해야하는지에 대한 자습서가 어디 있습니까? 당신의 대답으로, 나는지도를위한 모든 기본적인 기술을 보여주고 Erlang으로 작성된보기의 예를 고맙게 생각할 것입니다.

질문 2 : 또한 Erlang Couch DB 클라이언트 인 Hover craft은 매우 많이 faster because it avoids HTTP overhead as well as JSON conversion overheads이라고합니다. HTTP 오버 헤드를 어떻게 피할 수 있습니까?얼룩보기 in 소파 DB

답변

2

대답 한 : 여기 는 local.ini 파일 가장 중요한 것은 [native_query_servers] 얼랑 =입니다 http://wiki.apache.org/couchdb/EnableErlangViews을 설정하는 방법 "튜토리얼"에 대한 링크 {couch_native_process, START_LINK, []} 입니다 이 쿼리 서버를 사용하도록 설정 한 곳입니다.

답변 2 : 일반 Query Server는 json에서 데이터를 가져 와서 처리하는 독립 실행 형 프로세스이므로 HTTP 오버 헤드가 발생하지 않습니다. Couchdb는 이것을 json으로 직렬화 한 다음 임베디드 erlang 뷰를 사용하여이 단계를 건너 뛰기 만하면 프로세스의 응답을 deserialize해야한다. 그리고 이것이 "더 빠름"의 주된 이유입니다. 그가 내부적으로 컴파일 된 뷰를 저장하고 있는지는 모르지만 어쨌든 훨씬 빠릅니다.

1

두 번째 질문에 대한 대답은 couchdb를 호출하면 VM을 떠나지 않으므로 호버크라프트가 빠릅니다. 호버크라프트를 사용하려면 couchdb가 실행될 때와 동일한 노드에서 빔을로드하고 호버크라프트는 erlang 호출을 couchdb에 직접 보내고 노드를 떠나지 않습니다.

물론 이것은 json/eterms간에 앞뒤로 변환해야 할 때 특히 http를 통해 통신하는 것보다 훨씬 빠릅니다.

하나의 단점은 couchdb에 erlang api가 없으므로 호버 크래프트가 http-api 아래의 비 api 함수를 호출해야한다는 것입니다.

오류보기에 대한 질문에서 경험을 추가 할 수 있습니다. 몇 년 전 얼랭 (Erlang)보기를 시험해 보았고 자바 스크립트와 비교할 때 속도가 빠르다는 것에 정말 감탄했습니다. 내가 정확히 기억한다면 5x의 순서로되어서 정말 좋습니다. 또한 디버깅보기가 좀 더 편해졌습니다

+0

감사합니다! @selle –