VGrabko
@VGrabko
Golang, Php, Js

Как работает boltDB?

У меня возникло несколько вопросов.
1. Болт хранит данные в озу и если до то какие?
2. Если происходит изменение данных то они будут гарантированно сохранены?
3. С каким размером данных ему будет комфортно ?
  • Вопрос задан
  • 3492 просмотра
Решения вопроса 1
bitver
@bitver
Вот, погуглил за вас - https://github.com/boltdb/bolt , читайте.

Не за что.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@ivahaev
Программист, связист и просто хороший человек
1. Данные хранит на диске, мапит в ОЗУ.
2. Если транзакция завершена, данные на диске.
3. Есть ограничения на размер ключа и размер значения (в доке есть). В Readme пишут, что работает в продакшене с базой в несколько ТБ. Верить или нет – дело каждого. В моих проектах с базами до гигабайта всё вполне работает.
Ответ написан
Комментировать
@awesomer
из интересного в доке написано что:

  1. оптимизирован для чтения (то есть записи достаточно редки должны быть; для частных записей прямо в доке к Болту есть рекомендации использовать другие СУБД, их список приведен).
  2. надежно записывает на диск. то есть в памяти не хранит.
  3. мапирует файл в оперативную память, что строго говоря, не лучшее решение по производительности. но на моих задача тормозов не наблюдалось.


лично мне нравится, то, что это Pure Go, то есть без каких либо заморочек по компиляции на любых платформах.
другие СУБД (в том числе и рекомендованные в документации к BoltDB как альтернативы более пригодные для интенсивных операций записи) рассматривал - не понравилось то, что приходится заморачиваться с кусками на С. а это потенциальные грабли.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы