2014-04-10 15 views
5

Dopo aver postato ieri circa un lento designdd doc/view ieri: CouchDB delay building index (CouchDB 1.5.0 on Windows Server 2008 R2), sto cercando di indagare se potrei ottenere prestazioni significative se dovessi riscrivere le viste lente in Erlang.CouchDB Erlang View

Essendo un novellino di Erlang, trovo che il terreno del tutorial specifico per erlang/couch sia piuttosto sottile. Le query più aggiornate che riesco a trovare qui sono già vecchie e estremamente brevi: Erlang Views in Couch DB e Translate CouchDB javascript views to erlang. Si riferiscono alla versione 0.10.0.

Sono davvero sorpreso che non ci siano documenti o tutorial più recenti. Se stai usando viste Erlang, quali risorse hai usato per insegnare a te stesso? Se mi mancano delle buone risorse su Erlang e sui punti di vista, si prega di indicarmele.

Infine, sto cercando di capire se c'è qualcos'altro che ho bisogno di installare per eseguire questi come erlang stesso.

Sto eseguendo couchdb 1.5 su Windows, ma la prototipazione su Ubuntu, quindi dovrei considerare entrambi i sistemi.

risposta

5

This è la migliore discussione che ho trovato sulle viste native di couchdb. Sono ancora una caratteristica nascosta di couchdb e non ci sono molte persone che lo usano.

riassumere la discussione nel link viste

Erlang sono significanly più veloce di javascript vista. Ma potrebbero esserci implicazioni di sicurezza dal momento che sono eseguite in modo nativo e non sono sandbox come viste javascript.

Non ci sono molti tutorial perché non c'è molto da imparare su di loro. Sono proprio come normali viste couchdb tradotte in erlang. Se hai dato un esempio del tuo punto di vista forse potremmo aiutarti a tradurlo in erlang, ma dovrai imparare le basi del linguaggio se vuoi scrivere le tue opinioni in esso.

sto cercando di capire se c'è qualcosa che devo installare per eseguire questi come Erlang stesso

Niente. Ogni cosa che ti serve è fornita dallo stesso divanodb.

+0

Sarà difficile fornire un esempio della vista. È una libreria completa con logica per accedere a oltre 20 diversi formati di file e oltre 1000 righe di codice. L'unità e la regressione lo testiamo attentamente in un ambiente esterno, quindi lo posizioniamo in una vista 'vuota' del documento di progettazione che lo utilizza. – Hans

+0

Forse l'hai già visto, ma c'è un esempio iniziale di erlang view server nel file couchdb [manuale stesso] (http://couchdb.readthedocs.org/en/latest/config/query-servers.html#native-erlang -query-server) che può aiutarti a iniziare. –

+0

Penso che il meglio che posso suggerire è che si crea una vista di test erlang localmente e si misura la performance. Sarà sicuramente più veloce rispetto alle viste javascript, ma una volta che sono state costruite non so quante prestazioni si ottengono. Invece di ricostruire le visualizzazioni, sei stanco della tecnica 'PPP' che Jason ha menzionato nel link che ho fornito nella mia risposta? Funzionerebbe per il tuo caso? –