Я пытаюсь понять, что должно определять выбор метода доступа при использовании BerkeleyDB: B-Tree по сравнению с HashTable. Hashtable обеспечивает поиск O (1), но вставки дороги (при использовании линейного / расширяемого хеширования мы получаем амортизированное значение O (1) для вставки). Но B-деревья обеспечивают время поиска и вставки журнала N (база B). B-дерево также может поддерживать запросы диапазона и разрешать доступ в отсортированном порядке.