Question: What are the differences between [SQLite](http://www.sqlite.org/) and [DISQLite](http://www.yunqa.de/delphi/doku.php/products/sqlite3/index) and why would I want to pick one over the other?

My context is that I am dealing with a large database (could be up to 10 GB), the critical part of which is in one very simple table with a single indexed field and one text field up to a few KB in size. My development tool is Delphi 2009 and the database will be embedded in my .exe.

My main criteria is speed. This would be for a software application running on a typical Windows computer, say with Windows 7 and 4 GB of RAM.

If you want to suggest another database tool, please tell me why it would be better than these two for my application, especially on the speed frontier.

Answer: 
AFAIR, DISQLite uses the obj files of Sqlite, and compile them with Delphi and produce more features than the original one, and using the same sqlite DB format, hence you can read the DISQLite database file by it by other languages that has support for Sqlite drivers.

Also one more feature with DISQLite you don't have to distribute the Sqlite DLL.

DISQLite support database size up to 2TB, so it could handle your requires without problems.

Another options I would consider is FireBird embedded version,and if you would like to scale it more, you can change to full FireBird server without much effort.

But I think both Sqlite & DISQLite will perform better than Firebird.

I use [Audcom Sqlite components](http://www.aducom.com/cms/news.php) to access Sqlite databases, and you can compile it with Sqlite objs file so you will not have deploy sqlite dll.
I can suggest you writing your own implementation. If you don't need complex SQL queries, the simplest (and probably the fastest) implementation is file-based storage.