Я использовал DBISAM и kbMemTable в разных случаях.
Что мне нравится в DBISAM, так это то, что он обладает отличными функциями и, как правило, очень надежен. Я использовал его в больших базах данных, полнотекстовом поиске, режиме только для чтения, CGI и многих других ситуациях.
Это довольно большой размер по сравнению с компонентами на основе kbMemTable или SQLite. И вы не можете иметь один файл на базу данных (или даже таблицу) - в зависимости от ситуации это является серьезным недостатком.
kbMemTable крошечный и отлично подходит для небольших объемов данных. Поскольку он работает в памяти, он, конечно, должен быть небольшим объемом данных.
Еще один вариант, который я выбрал для нескольких своих настольных приложений, - это выгрузка данных напрямую из / в мою иерархию объектов с использованием TWriter / TReader. Это, безусловно, самый маленький вариант, и он абсурдно быстр по сравнению с использованием базы данных. Файлы данных тоже крошечные.
Однако у него есть все виды недостатков - вам придется кодировать версии, если вы захотите когда-либо добавить / изменить поля, если только они не находятся в памяти, они еще более сложны, никакой многопользовательской поддержки вообще и т. Д.