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.