Lucene + Join == RDBMS?

2

Ora che Lucene supporta i join (al momento dell'indicizzazione e al tempo di interrogazione) si può usare Lucene come database (uno NoSQL, con coerenza finale)?

Nota: stavo riflettendo su questo per un po 'e questa è un'idea che viene di tanto in tanto e di tanto in tanto e ci sono prove che in realtà possono farlo - in una certa misura (RavenDB). Inoltre ritengo che l'integrità referenziale sia sopravvalutata: non uso mai le chiavi esterne in un RDBMS quando lavoro su un grande progetto in rapida evoluzione con un piccolo team; per esperienza è un mal di testa puramente di manutenzione e uccide la produttività.

L'unica cosa che mi sembra un ostacolo nel costruire questa mentalità è la mancanza di transazioni - e sì; puoi avere transazioni in 2 fasi (diciamo che MongoDB e Lucene lo usano per alcuni interni) ma è molto lavoro; e non so come sarebbe possibile con Lucene.

    
posta Kaveh Shahbazian 02.10.2013 - 22:37
fonte

2 risposte

3

Sì. Ho fatto progetti in passato in cui essenzialmente usavamo lucene come archivio dati al posto di un database. Questo era molto prima che NoSQL fosse caldo. In realtà non esiste una definizione fissa di ciò che si qualifica come un database NoSQL, quindi tutto ciò che memorizza e recupera i dati è sufficiente. Cose come i file dbm esistono da sempre.

    
risposta data 03.10.2013 - 00:18
fonte
3

Lo svantaggio principale che vedo sono gli aggiornamenti. L'unico modo per fare un aggiornamento nell'ecosistema Lucene era leggere l'intero documento, modificarlo, cancellare l'originale e riscrivere il contenuto come un nuovo documento. Alcuni zucchero sintattico sono stati aggiunti a Solr per semplificare la procedura. Lucene stesso non supporta gli aggiornamenti per-field, anche se sembra che si stia lavorando su alcune funzionalità di aggiornamento in pila.

Altrimenti, per i dati di sola lettura, non si otterrà un modo migliore per affettare / tagliare / analizzare i dati. Abbiamo eseguito un sacco di lavoro per i clienti in cui usano Lucene (tramite Solr) solo per il fatto che ogni colonna è indicizzata, e la sua facile ricerca / filtro / gruppo / sfaccettatura su qualsiasi cosa. Ecco perché strumenti come kibana (costruito su ElasticSearch, un altro servizio costruito su Lucene) sono così potenti anche se hanno relativamente poco a che fare con la ricerca di testo completo.

    
risposta data 03.10.2013 - 00:42
fonte

Leggi altre domande sui tag