Suggerirei che DBISAM, o ora probabilmente il loro nuovo ElevateDB, dovrebbe essere fortemente considerato. Dalla tua precedente esperienza, mi aspetto che tu sappia che non aggiunge molta dimensione al tuo eseguibile, è ragionevolmente veloce, affidabile, perfetta soluzione basata su Delphi e ha un eccellente supporto. Nel corso degli anni il loro dialetto SQL è stato perfezionato, quindi ora è molto bello con un alto grado di conformità ANSI SQL-2003.
DBISAM/ElevateDB è come si nota non open source, ma il costo della licenza è solo per sviluppatore (non per distribuzione), quindi se ci sono solo pochi sviluppatori coinvolti il costo è (a mio avviso) trascurabile.Il costo della licenza è particolarmente ragionevole se si considera il livello di supporto e di reattività dei newsgroup DBISAM/Elevatesoft, in cui il principale sviluppatore/proprietario (Tim Young) è coinvolto attivamente rispondendo alle domande e risolvendo i problemi. A parte il costo di una soluzione proprietaria, c'è ovviamente anche la preoccupazione sul fatto che l'azienda sopravvivrà e il prodotto continuerà a essere sviluppato e supportato in futuro. È qualcosa che devi pesare per te stesso, ma lo sviluppo sembra più forte che mai. Hanno provider .NET per i loro db e supportano lo sviluppo multipiattaforma con FreePascal/Lazarus.
Un plus alla ricerca di testo completo di DBISAM è che è strettamente integrato nell'SQL. Cioè, puoi emettere una singola istruzione SELECT che combina direttamente i criteri WHERE ordinari su alcuni campi con criteri di ricerca a testo integrale su altri. A seconda delle esigenze, questa è una bella funzionalità che rende molto semplice e veloce fare alcune cose che richiederebbero più lavoro usando una soluzione full text diversa. Penso che la maggior parte delle soluzioni aggiuntive, come Lucene e altre che potrebbero essere utilizzate con Firebird, non si integrino strettamente con SQL regolare e limitino il recupero di un set di record con solo criteri di testo completo. Qualcosa come l'add-on proprietario di Textolution per Firebird (http://www.textolution.com/ftsib_example.asp) sembra essere in grado di supportare la costruzione di query complesse (nidificate) che applichino criteri sia normali che fulltext, ma DBISAM lo fa in modo più elegante. E aggiungere un add-on proprietario ad un db sort di open source sconfigge lo scopo di andare open source, comunque.
Un difetto della ricerca di testo completo di DBISAM/ElevateDB, penso, è che supporta solo l'uso delle condizioni 'AND' e 'OR', non ha alcuna ricerca di prossimità.
Ho notato che esiste una soluzione di testo completo per SQLite, http://www.sqlite.org/cvstrac/wiki?p=FullTextIndex. Non ho mai usato SQLite, ma so che molte persone lo adorano. Un settore in cui sono abbastanza sicuro che DBISAM/Elevatesoft ha un grande vantaggio nelle applicazioni multiutente in cui è richiesta una funzionalità di blocco robusta, anche se questo non comporterebbe necessariamente alcun peso per l'app desktop per utente singolo.
fonte
2009-03-27 16:09:39
+1 Sono molto interessato a ciò che esce –
Ho ascoltato il podcast, vorrei andare con Firebird, e forse un lucene (il java lucene, o dotlucene) come un FTS (Delphi può collegarsi a qualsiasi cosa). qualcuno che utilizzi il db completo o incorporato (fb completo con più utenti potrebbe essere interessante ...) –