2011-03-21 5 views
0

커밋이 특정 기준을 충족 할 때마다 특정 "메타"키를 가져오고 업데이트하는 riak에 대한 사전 커밋 훅을 구현했습니다. 그러나 나는 클라이언트를 수행하는 것이 "메타"키를 가져 오는 데 오랜 시간이 걸리고 커밋이 심각하게 느려지는 것을 느꼈습니다 (약 20 배 느린). 이 작업을 올바르게 수행하는 방법에 대한 조언이 있습니까? 나는 현재 riak : local_client를 commit hook에서 호출하고 riak_client : get을한다.효율적으로 리치 프리 커밋 (hook pre-commit) 훅을 구현합니다.

+0

코드하시기 바랍니다. 그렇지 않으면 당신을 도울 것입니다. –

+0

나는 천천히 일으키는 원인을 발견했다. 그것은 내가 pre-commit 후크에서 동일한 필드를 가져 오거나 put하고 매번 다른 local_client()를 사용할 때 발생합니다. 나는 그것을 어떻게 해결할 지 아직 확실하지 않다. – user650842

+0

코드에 질문에 대답 할 수 있습니다. 나는 정말로 그것을보고 싶어 할 것입니다. :) – balu

답변

0

pre-commit 후크에서 riakc_client를 사용하면 클라이언트를 다시 사용하더라도 속도가 느려집니다.

커밋중인 레코드에서 사용자 메타 데이터를 업데이트하는 경우 pre-commit 훅에 전달 된 개체를 수정하고 riakc_client를 전혀 사용할 필요가 없어야합니다.

그러나 커밋되는 레코드를 기반으로 다른 "메타"레코드를 업데이트하는 경우 대기 시간이 줄어들 기 때문에 포스트 커밋 후크에서 대신이 업데이트를 수행하는 것이 좋습니다.

관련 문제