LevelDB против std :: map

В нашем приложении мы используемstd::map хранить (ключ, значение) данные и использовать сериализацию для хранения этих данных на диске. При таком подходе мы обнаруживаем, что дисковый ввод-вывод является узким местом производительности, и поиск значений с использованием ключа не очень быстрый.

Я наткнулся на LevelDB и думаю об его использовании. Но у меня есть несколько вопросов.

Документация LevelDB говорит, что она создана для пары ключ-строка (строка, строка). Означает ли это, что я не могу использовать для пользовательских пар ключ-значение?Кажется, разница междуstd::map и LevelDB является то, что LevelDB является постоянным иstd::map работает в памяти. Значит ли это, что узкое место дискового ввода / вывода будет более проблематичным для levelDB.

Более конкретно, может кто-нибудь объяснить, может ли LevelDB быть лучшим выбором, чемstd::map?

PS: я пытался использоватьhash_mapс, но это кажется медленнее, чемstd::map

Ответы на вопрос(2)

Ваш ответ на вопрос