CouchDB Erlang View

После публикации вчера о довольно медленном couchdb design-doc / view здесь: CouchDB delay build index (CouchDB 1.5.0 на Windows Server 2008 R2), я пытаюсь выяснить, смогу ли я добиться значительной производительности, если бы переписал медленные представления в Erlang .

Будучи абсолютным новичком в Erlang, я считаю, что основа для конкретного руководства по Erlang / couch довольно тонкая. Самые свежие запросы, которые я могу найти здесь, уже старые и очень краткие: Erlang Представления в Couch DB и Переведите представления javascript CouchDB в erlang. Они относятся к версии 0.10.0.

Я действительно удивлен, что, похоже, нет более свежих документов или руководств. Если вы используете представления Erlang, какие ресурсы вы использовали для обучения? Если мне не хватает каких-либо хороших ресурсов по Erlang и представлений, укажите на них мне.

Наконец, я пытаюсь выяснить, есть ли что-нибудь еще, что мне нужно установить для их запуска, например, сам erlang.

Я использую couchdb 1.5 в Windows, но создаю прототип в Ubuntu, поэтому мне придется рассмотреть обе системы.


person Hans    schedule 10.04.2014    source источник


Ответы (1)


Это лучшее обсуждение, которое я нашел в собственных представлениях couchdb. . Они по-прежнему являются скрытой функцией couchdb, и мало кто ею пользуется.

Подводя итог обсуждения в ссылке

Представления Erlang значительно быстрее представлений javascript. Но могут возникнуть проблемы с безопасностью, поскольку они работают изначально и не изолированы от песочницы, как представления javascript.

Учебников не так много, потому что о них мало что можно узнать. Они похожи на обычные представления couchdb, переведенные на Erlang. Если вы привели пример своего представления, возможно, мы могли бы помочь вам перевести его на Erlang, но вам придется изучить основы языка, если вы хотите писать на нем свои собственные представления.

Я пытаюсь выяснить, есть ли что-нибудь еще, что мне нужно установить для их запуска, например, сам erlang.

Ничего такого. Все, что вам нужно, есть в самом couchdb.

person Akshat Jiwan Sharma    schedule 10.04.2014
comment
Привести пример представления будет сложно. Это полная библиотека с логикой для доступа к более чем 20 различным форматам файлов и более 1000 строк кода. Мы тщательно модулируем и регрессионно тестируем его во внешней среде, а затем помещаем в «пустой» вид проектной документации, в которой он используется. - person Hans; 11.04.2014
comment
Возможно, вы уже видели это, но есть начальный пример сервера представления erlang в couchdb само руководство, которое может помочь вам начать работу. - person Akshat Jiwan Sharma; 11.04.2014
comment
Я думаю, лучшее, что я могу предложить, - это создать тестовое представление erlang локально и измерить производительность. Это определенно будет быстрее по сравнению с представлениями javascript, но как только они будут созданы, я не знаю, сколько вы можете получить прирост производительности. Вы устали от техники PPP, о которой Джейсон упомянул в ссылке, которую я предоставил в своем ответе, вместо того, чтобы перестраивать представления? Подойдет ли это для вашего случая? - person Akshat Jiwan Sharma; 11.04.2014