Repolode
dgraph-io

dgraph-io/badger

Встраиваемая персистентная key-value база данных на чистом Go с ACID-транзакциями и архитектурой, рассчитанной на SSD.

Звёзды
15,786
Форки
1,334
Открытые issues
76
Последний коммит
вчера

Что это?

BadgerDB — встраиваемое персистентное key-value хранилище, полностью написанное на Go. Оно работает внутри процесса приложения, а не как отдельный сервер, и служит движком хранения для графовой базы данных Dgraph.

Badger построен на LSM-дереве с отдельным журналом значений и основан на архитектуре WiscKey, в которой значения хранятся отдельно от индекса ключей, чтобы снизить усиление записи на SSD. Поддерживаются конкурентные ACID-транзакции с сериализуемой изоляцией снимков, итераторы для сканирования по префиксу и диапазону ключей, версии для каждого ключа и TTL. Поскольку Badger не использует Cgo, для сборки достаточно стандартного инструментария Go.

В проект также входит CLI для таких операций, как автономное резервное копирование и восстановление. Библиотека доступна как Go-модуль по адресу github.com/dgraph-io/badger/v4.

Ключевые возможности

  • 01Встраиваемое key-value хранилище на чистом Go без зависимости от Cgo.
  • 02Конкурентные ACID-транзакции с сериализуемой изоляцией снимков.
  • 03Разделение ключей и значений с отдельным журналом значений для снижения усиления записи на SSD.
  • 04Итераторы для сканирования по префиксу и диапазону ключей, а также доступ к нескольким версиям каждого ключа.
  • 05Поддержка TTL для автоматического истечения срока действия ключей.
  • 06Инструмент командной строки для автономного резервного копирования и восстановления.

Сценарии использования

  • Встраивание быстрого локального персистентного хранилища в сервис или CLI-инструмент на Go.
  • Использование в качестве слоя хранения для распределённой системы или графовой базы данных.
  • Создание Raft-журнала или хранилища метаданных в приложениях на Go.
  • Хранение больших наборов данных на SSD, когда важна скорость чтения и записи.

Быстрый старт

  1. 1

    Установите библиотеку в проект Go

    go get github.com/dgraph-io/badger/v4
  2. 2

    Установите инструмент командной строки Badger из клонированного репозитория

    cd badger go install .

Что важно знать

  • Требуется Go версии 1.23 или выше.

Темы

Частые вопросы

Что такое badger?
Встраиваемая персистентная key-value база данных на чистом Go с ACID-транзакциями и архитектурой, рассчитанной на SSD. BadgerDB — встраиваемое персистентное key-value хранилище, полностью написанное на Go. Оно работает внутри процесса приложения, а не как отдельный сервер, и служит движком хранения для графовой базы данных Dgraph.
badger можно использовать бесплатно? Какая у него лицензия?
badger распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
badger всё ещё поддерживается?
Активно поддерживается. Последний коммит в badger — 20 окт. 2026 г..
Для чего можно использовать badger?
Встраивание быстрого локального персистентного хранилища в сервис или CLI-инструмент на Go. Использование в качестве слоя хранения для распределённой системы или графовой базы данных. Создание Raft-журнала или хранилища метаданных в приложениях на Go. Хранение больших наборов данных на SSD, когда важна скорость чтения и записи.
Как установить badger?
Установите библиотеку в проект Go: go get github.com/dgraph-io/badger/v4 Установите инструмент командной строки Badger из клонированного репозитория: cd badger go install .
Где скачать badger?
Исходный код и инструкции по установке — на GitHub: https://github.com/dgraph-io/badger

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты