База данных, которая позволяет читать и писать из изменяемого массива по индексу

Я ищу базу данных, которая позволяет мне хранить и извлекать строки по индексу. Он должен работать так же, как mutableArray, но на диске. Записи в базе данных имеют фиксированную длину, количество записей увеличивается с течением времени, примерно до 100 000 000.

Неважно, если это sql, nosql или что-то еще. Случайное чтение и запись должны быть быстрыми. Я взглянул на levelDB и Kyoto, но они хранятся по ключу, а не по индексу массива.

Любые намеки очень ценятся.

3 ответа

Добро пожаловать в предков. То, что вы ищете, реализовано в хорошей, надежной и хорошо проверенной манере старой доброй Беркли-Базы данных. http://en.wikipedia.org/wiki/Berkeley_DB. Между тем как-то под контролем Oracle, но, насколько я знаю, все еще с открытым исходным кодом.

Возможно, вы захотите взглянуть на SQLite (http://www.sqlite.org/)?

Вам нужна реляционная база данных, которая поддерживает индексацию (большинство всех RDBM поддерживают индексацию).
Он сгенерирует "индексную" таблицу, которая поможет БД наиболее эффективно получать доступ к вашим данным на основе назначенных вами полей.

Так как вы добавили тег c++Я предполагаю, что вы хотите тот, который может взаимодействовать с программой на C++. Многие из них делают.

Поищите в сети "реляционная база данных C++ (интерфейс драйвера ИЛИ)".

Редактировать 1: Частичный список баз данных (без порядка)

Другие вопросы по тегам