Выбор встроенной базы данных? - PullRequest
1 голос
/ 13 декабря 2008

Мы создаем приложение на встроенной платформе, для которой требуется база данных с достаточно высокой производительностью (очень низкая скорость выбора для таблиц с> 500 000 записей).

База данных должна быть в состоянии:

Хранить информацию об атомарной фиксации в NVRAM, чтобы такая информация сохранялась при сбое питания до завершения фиксации. Записываться в NAND Flash таким образом, чтобы выравнивать износ по памяти (это можно сделать, например, с помощью jffs2 или yaffs2).

В настоящее время наши параметры выглядят как подход «по-своему» или, возможно, SQLite.

Будем благодарны за любые другие варианты или указания по поводу детализации "сворачивания своего" или работы с SQLite!

Редактировать: Цель имеет 32 МБ ОЗУ, 1 МБ NVRAM и 64 МБ NAND Flash. Остальная часть кода - C, так что это предпочтительный язык. Целевым процессором является ARM. В общем, запросы, которые должны иметь наибольшую производительность, довольно просты. Сложные запросы не должны иметь одинаковый уровень производительности.

Ответы [ 4 ]

2 голосов
/ 14 декабря 2008

Я думаю это сравнение с СУБД Википедии может помочь вам сделать ваш выбор.

Но я не понимаю, почему у вас есть особые требования к NVRAM.

2 голосов
/ 13 декабря 2008

Apple iPhone (и iPod Touch) использует БД SQLite для выполнения многих своих функций, так что там определенно есть проверенная платформа на основе флэш-памяти. Однако я сомневаюсь, что объем данных в любой из этих таблиц составляет> 500 тыс. Строк.

1 голос
/ 13 декабря 2008

Если ваша встроенная система имеет доступ к .NET Framework, вы можете встроить VistaDB .

1 голос
/ 13 декабря 2008

Codebase обеспечивает надежный переносимый легкий быстрый исам с транзакциями.

...