База данных, которая позволяет читать и писать из изменяемого массива по индексу
Я ищу базу данных, которая позволяет мне хранить и извлекать строки по индексу. Он должен работать так же, как 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: Частичный список баз данных (без порядка)
- оракул
- MySQL
- SQLite
- парадокс
- MS Access
- Foxpro
- http://www.opensitesolutions.com/services/databases.php