Обложка канала

Geeks

11247 @g33ks

Канал от гиков для гиков. Новости технологий и ссылки на новые каналы ИТ и научной тематики.

Geeks

4 года назад
Открыть в
Давно не слышал о dbm, но случайно увидел упоминание о нем в Твиттере. Если кратко, то это некий формат хранения “ключ-значение” данных, в котором и ключ и значение представляют из себя строки. Эдакий словарик состояние которого хранится на диске в файле т.е. это предельно простая для использования база данных. Вы только задумайтесь - формат разработан в 1979 году! Можно сказать, что dbm, в каком-то смысле является предком, и даже некоторой предтечей появившихся позже nosql решений. Есть разные реализации интерфейсов для работы с этим форматом, как совместимые между собой, так и нет. Пакеты для работы с этим форматом можно найти для всех популярных (и не очень) языков программирования. К примеру, пакет предоставляющий функции для работы с dbm можно найти в стандартной библиотеке python, а для golang имплементация легко нагугливается. К слову, в питоне вся работа с dbm объектом в python происходит как с обычным словарем - ты запрашиваешь данные, указывая в ключ строку, а возвращается всегда байтовая последовательность: import dbm with dbm.open('my_store', 'c') as db: db['key'] = 'value' print(db.keys()) # ['key'] print(db['key']) # 'value' print('key' in db) # True Ну и, что вполне ожидаемо, работа с dbm проходит достаточно быстро. remusao.github.io/posts/p…ule.html