Распределённая NoSQL-база данных типа «ключ—значение» на RocksDB с поддержкой протокола Redis, к которой можно подключаться существующими Redis-клиентами.
OpenAtomFoundation/pikiwidb
Хранилище «ключ—значение» с поддержкой протокола Redis и хранением данных в RocksDB для наборов данных, превышающих объём памяти.
Open source альтернатива:Redis
- Звёзды
- 6,136
- Форки
- 1,170
- Открытые issues
- 89
- Последний коммит
- 23 дня назад
Что это?
PikiwiDB (Pika) — система хранения данных «ключ—значение», которая поддерживает протокол Redis и распространённые типы данных Redis: string, hash, list, zset, set, geo, hyperloglog, pubsub, bitmap и stream. Вместо того чтобы хранить все данные в памяти, она сохраняет их в RocksDB и кэширует часто используемые данные, поэтому объём хранилища ограничен размером диска, а не RAM.
Система задумана как прямая замена Redis для нагрузок, при которых затраты на память или ограничения однопоточной обработки становятся проблемой. Развёртывание можно настроить с одним master и репликами с помощью команды slaveof: она поддерживает полную и инкрементальную синхронизацию. Также доступен кластер Codis, который масштабируется добавлением и удалением групп. В репозитории есть инструменты для миграции данных из Redis.
Проект собирается из исходного кода на CentOS, Ubuntu и macOS с использованием C++17; также доступны официальные Docker-образы. Метрики для мониторинга предоставляет сопутствующий exporter.
Ключевые возможности
- 01Поддерживает протокол Redis и распространённые структуры данных Redis
- 02Сохраняет данные в RocksDB и кэширует часто используемые данные
- 03Поддерживает репликацию master-slave с полной и инкрементальной синхронизацией
- 04Масштабируется в кластере Codis за счёт добавления и удаления групп
- 05Предоставляет Docker-образы и скрипты сборки для Linux и macOS
Сценарии использования
- Хранение наборов данных, которые слишком велики, чтобы поместиться в памяти Redis
- Снижение затрат на оборудование с большим объёмом памяти для крупных нагрузок с данными «ключ—значение»
- Миграция существующего развёртывания Redis на хранилище с данными на диске без изменения кода приложения
Быстрый старт
- 1
Клонируйте исходный код
git clone https://github.com/OpenAtomFoundation/pikiwidb.git - 2
Скомпилируйте с помощью скрипта сборки
./build.sh - 3
Запустите PikiwiDB с примером конфигурации
./output/pika -c ./conf/pika.conf
Что важно знать
- Для сборки из исходного кода требуется gcc/g++ версии 9 или новее с поддержкой C++17, а также cmake версии 3.18 или новее.
- В README в качестве поддерживаемых платформ указаны только CentOS, Ubuntu и macOS.
Темы
Частые вопросы
- Что такое pikiwidb?
- Хранилище «ключ—значение» с поддержкой протокола Redis и хранением данных в RocksDB для наборов данных, превышающих объём памяти. PikiwiDB (Pika) — система хранения данных «ключ—значение», которая поддерживает протокол Redis и распространённые типы данных Redis: string, hash, list, zset, set, geo, hyperloglog, pubsub, bitmap и stream. Вместо того чтобы хранить все данные в памяти, она сохраняет их в RocksDB и кэширует часто используемые данные, поэтому объём хранилища ограничен размером диска, а не RAM.
- pikiwidb можно использовать бесплатно? Какая у него лицензия?
- pikiwidb распространяется с открытым исходным кодом под лицензией BSD-3-Clause. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- pikiwidb всё ещё поддерживается?
- Активно поддерживается. Последний коммит в pikiwidb — 16 окт. 2026 г..
- Для чего можно использовать pikiwidb?
- Хранение наборов данных, которые слишком велики, чтобы поместиться в памяти Redis Снижение затрат на оборудование с большим объёмом памяти для крупных нагрузок с данными «ключ—значение» Миграция существующего развёртывания Redis на хранилище с данными на диске без изменения кода приложения
- Как установить pikiwidb?
- Клонируйте исходный код: git clone https://github.com/OpenAtomFoundation/pikiwidb.git Скомпилируйте с помощью скрипта сборки: ./build.sh Запустите PikiwiDB с примером конфигурации: ./output/pika -c ./conf/pika.conf
- Где скачать pikiwidb?
- Исходный код и инструкции по установке — на GitHub: https://github.com/OpenAtomFoundation/pikiwidb
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Высокопроизводительный сервер структур данных «ключ — значение», совместимый с Redis и созданный как форк Redis для кэширования и задач реального времени.
Низколатентный кэширующий сервер на C с поддержкой протоколов Memcache, Redis/Valkey, HTTP и Postgres, который можно встроить в программу как один C-файл.
In-memory хранилище данных, совместимое по API с Redis и Memcached и задуманное как их прямая замена.
Хранилище данных в памяти для кэширования, работы со структурами данных и документами, векторного поиска и обмена сообщениями.
Клиентская библиотека .NET для подключения к Redis и другим RESP-совместимым серверам, таким как Valkey, Garnet и AWS ElastiCache.