Мы создаем приложение на встроенной платформе, для которой требуется база данных с достаточно высокой производительностью (очень низкая скорость выбора для таблиц с> 500 000 записей).
База данных должна быть в состоянии:
Хранить информацию об атомарной фиксации в NVRAM, чтобы такая информация сохранялась при сбое питания до завершения фиксации.
Записываться в NAND Flash таким образом, чтобы выравнивать износ по памяти (это можно сделать, например, с помощью jffs2 или yaffs2).
В настоящее время наши параметры выглядят как подход «по-своему» или, возможно, SQLite.
Будем благодарны за любые другие варианты или указания по поводу детализации "сворачивания своего" или работы с SQLite!
Редактировать: Цель имеет 32 МБ ОЗУ, 1 МБ NVRAM и 64 МБ NAND Flash. Остальная часть кода - C, так что это предпочтительный язык. Целевым процессором является ARM. В общем, запросы, которые должны иметь наибольшую производительность, довольно просты. Сложные запросы не должны иметь одинаковый уровень производительности.