Ich würde vorschlagen, dass DBISAM, oder jetzt wahrscheinlich ihre neuere ElevateDB, stark in Betracht gezogen werden sollte. Von Ihrer vorherigen Erfahrung erwarte ich, dass Sie wissen, dass es Ihrer ausführbaren Datei nicht viel hinzufügt, dass es eine relativ schnelle, zuverlässige, perfekte Delphi-basierte Lösung ist und exzellenten Support bietet. Im Laufe der Jahre wurde ihr SQL-Dialekt verfeinert, so dass sie jetzt sehr schön ist und einen hohen Grad an ANSI SQL-2003-Konformität aufweist.
DBISAM/ElevateDB ist, wie Sie beachten, nicht Open Source, aber die Lizenzkosten sind pro Entwickler nur (nicht pro Bereitstellung), wenn es nur ein paar Entwickler beteiligt sind die Kosten (meiner Meinung nach) vernachlässigbar.Die Lizenzkosten sind besonders angemessen, wenn Sie die Unterstützung und Reaktionsfähigkeit von DBISAM/Elevatesoft Newsgroups in Betracht ziehen, in denen der Hauptentwickler/Eigentümer (Tim Young) aktiv an der Beantwortung von Fragen und der Lösung von Problemen beteiligt ist. Neben den Kosten für eine proprietäre Lösung gibt es natürlich auch Bedenken, ob das Geschäft überleben wird und Produkte in Zukunft weiter entwickelt und unterstützt werden. Das ist etwas, was Sie für sich selbst abwägen müssen, aber die Entwicklung scheint so stark wie immer. Sie haben .NET-Provider für ihre Datenbanken und unterstützen Cross-Plattform-Entwicklung mit FreePascal/Lazarus.
Ein Plus zu DBISAMs Volltextsuche ist, dass es eng in SQL integriert ist. Das heißt, Sie können eine einzelne SELECT-Anweisung ausgeben, die gewöhnliche WHERE-Kriterien für einige Felder direkt mit Volltextsuchkriterien für andere kombiniert. Abhängig von Ihren Bedürfnissen ist dies eine nette Funktion, die es wirklich einfach und schnell macht, Dinge zu tun, die mehr Arbeit mit einer anderen Volltextlösung erfordern. Ich denke, die meisten Add-On-Lösungen, wie Lucene und andere, die mit Firebird verwendet werden können, integrieren sich nicht so gut mit regulärem SQL und beschränken Sie darauf, nur Datensätze mit Volltext-Kriterien abzurufen. Etwas wie das proprietäre Add-on für Firebird (http://www.textolution.com/ftsib_example.asp) von Textolution sieht so aus, als könnte es die Konstruktion einer einzelnen komplexen (verschachtelten) Abfrage ermöglichen, die sowohl reguläre als auch Volltextkriterien anwendet, aber DBISAM macht es eleganter. Und das Hinzufügen eines proprietären Add-ons zu einer Open-Source-Datenbank verhindert sowieso den Zweck, Open Source zu werden.
Ein Nachteil der Volltextsuche von DBISAM/ElevateDB ist meiner Meinung nach, dass nur die Verwendung von 'AND' und 'OR' Bedingungen unterstützt wird, es gibt keine Proximity Suche.
Ich stelle fest, dass es eine Volltextlösung für SQLite gibt, http://www.sqlite.org/cvstrac/wiki?p=FullTextIndex. Ich habe noch nie SQLite benutzt, aber ich weiß, dass viele Leute es lieben. Ein Bereich, in dem ich mir ziemlich sicher bin, dass DBISAM/Elevatesoft große Vorteile hat, sind Multi-User-Anwendungen, bei denen eine robuste Sperrfunktionalität erforderlich ist, die jedoch für Einzelplatz-Desktop-Apps nicht unbedingt Gewicht haben.
+1 Ich bin sehr daran interessiert, was herauskommt. " –
Ich hörte den Podcast, ich würde mit Firebird gehen, und vielleicht eine Lucene (die Java Lucene oder Dotlucene) als FTS (Delphi kann mit irgendetwas verbinden). Firebird würde erlauben jemand, der entweder die volle oder die eingebettete db verwendet (full fb mit mehreren Benutzern könnte interessant werden ...) –