Python: key value database on-disk, чтобы хранить на одном компьютере?
Привет, Всем!
Всё очень просто: ищу базу данных, доступную из python 2.7 на Windows.
Чтобы складывать в неё (на диск), как в бездонный мешок пары:
ключ (строковый)
и значение (словарь строк и массивов строк).
Нужно разместить 16-ГБ текстовый файл на жёстком диске в нормальном формате у себя на машине,
чтобы потом по строке соответственно искать и доставать. Всё должно было максимально просто и надёжно.
В общем, история такая, я начал с pickleDB (осознал, что - in-memory), попробовал стандартный shelve (слишком медленно), unqlite db (непонятно - то работает, то нет), leveldb (не устанавливается на windows) и CodernityDB (вроде работает, быстро НО какое-то переполнение счётчика и требуются настройки индексов...) - всё не то.
Что-то я определённо делаю не так... Устал.
Неудачано, что key-value storage называются и серверные, и распределённые, и маленькие домашние БД.
Можно использовать memcacheDB ( есть сборки для windows ). Если не устраевает mamcacheDB так же есть встроенный модуль в python dbm (за быстродействие не отвечаю :-) ).
Установите elasticsearch. В него загрузите свой файл построчно, один документ - одна строка, ключом - номер строки. И ищите сколько влезет.
А если просто нужно прогнать весь файл через сотню-другую алгоритмов, то загрузите в перколатор свои поисковые запросы и обрабатывайте весь файл за раз!