У меня очень просто структурированные данные, которые в настоящее время хранятся в формате файла домашнего приготовления, но мне интересно, следует ли нам перейти на что-то более современное. Данные - это просто таблица double
s, проиндексированная столбцом double
. Вот что мне нужно сделать:
- Итерация по таблице.
- Вставка и удаление произвольных записей.
- Выбор заданного количества строк до и после заданного значения ключа (где ключ может отсутствовать в базе данных).
Требования:
- Хранилище должно быть файловым без сервера.
- Нет необходимости читать весь файл в память.
- Полученный файл должен быть переносимым между различными архитектурами (относительно endian-ness ...)
- Должен быть очень стабильным проектом (данные крайне важны).
- Должен работать на Solaris / SPARC и предпочтительно также на Linux / x64.
- Время доступа должно быть максимально быстрым.
- Должен быть доступен в виде библиотеки C ++. Бонусные баллы за привязки Fortran и Python:)
- Дополнительное представление чисел с более высокой точностью, чем двойная точность, будет бонусом.
- Относительно компактный размер хранилища также будет бонусом.
Из моего ограниченного опыта, sqlite было бы интересным выбором, или, возможно, mysql в несерверном режиме, если sqlite недостаточно быстр. Но, может быть, полноценная база данных SQL излишня?
Что вы предлагаете?