У меня много объектов (1000 - 30 тыс.), Которые могут состоять из данных с плавающей вершиной, целочисленных индексов и т. Д. В среднем они могут составлять от 600 Кб до 6+ Гб. Также у меня есть bmp текстуры и другие данные.
Я хочу сохранить их в одной базе данных или что-то в этом роде.
Я пробовал различные базы данных NoSQL, такие как BerkeleyDB, RocksDB, они не могут хранить такие большие объекты 4 ГБ + и работают так медленно с моими данными.
Я просмотрел различные форматы архивов, но ни один из них не соответствовал моим потребностям.
Что мне нужно из хранилища:
- Быстрая запись и чтение (желательно параллельно)
- Многоядерное сжатие / декомпрессия (ZSTD был бы идеальным)
- Произвольный доступ (чтение, изменение, удаление и вставка)
- Предпочтительнее, если он хранит все в одном файле
- Удобное и простое использование
- C / C ++ API
Я также пробовал TileDB, но в настоящее время он очень глючит, все было почти нормально, но производительность чтения ужасна, например, получение 1 Мб данных вершин занимает 3 секунды, что для меня неприемлемо, может быть, это ошибка или что-то такое, чего я не делаю. не знаю.
У меня закончились идеи, поэтому мне нужна помощь, может быть, есть что-то, что идеально соответствует потребностям, но я этого не заметил.