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.
DISQLLite has two versions with the free one limited to personal and non-commerical usage. So this could be one of the deciding factor as SQLite is free opensource implementation without free/paid versions. 

Both of the database would be able to handle data ranging in GBs. SQLite is available in pre-compiled binary i.e. DLL which can be distributed along your application. However, with the source code available you can also compile it within your application and use it without the need for DLL.

The advantage of using the DLL module (at times) is when some of the bugs are resolved you would simply be required to replace the DLL at the client machine instead of recompiling the whole application.

I feel SQLite would be a better option for yor requirement. Speed of database is not entirely based on the type of database. Hardware like harddisk access speed, available processing power, RAM etc also play an important role in speeding up database.