Альтернатива LevelDB, которая позволяет вам читать подраздел записи данных.

Мне нравится внешний вид LevelDB как базы данных для моего приложения, но есть одна проблема.

Я хотел бы хранить данные в базе данных, но когда я читаю данные, иногда мне нужен только определенный раздел данных. Как и leveldb_get(db, readOptions, key, keySize, &size, &err), я бы хотел что-то вроде leveldb_get_subsection(db, readOptions, key, keySize, offset, size, &err), но этого не существует.

Я мог бы, конечно, индексировать данные в более мелкие разделы, но мне было интересно, есть ли хорошая альтернатива LevelDB, которая позволяет мне читать подраздел записи/значения, что имеет гораздо больше смысла. Есть ли рекомендации?

Мне нужны атомарные операции, которые безопасно синхронизируются с диском, поскольку важна целостность данных. Также мне нужен интерфейс C.

Спасибо.


person Matthew Mitchell    schedule 09.11.2012    source источник


Ответы (1)


Решение состояло в том, чтобы написать свой собственный код базы данных ключ-значение. То, что я сделал до сих пор, находится здесь: https://github.com/MatthewLM/cbitcoin/tree/master/dependencies/storage

person Matthew Mitchell    schedule 29.11.2012
comment
Этот вопрос и ответ все еще актуальны? - person nurettin; 15.02.2015