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