Что такое КейДБ?
KeyDB — это высокопроизводительный форк Redis с упором на многопоточность, эффективность использования памяти и высокую пропускную способность. В дополнение к многопоточности KeyDB также имеет функции, доступные только в Redis Enterprise, такие как Active Replication, поддержка FLASH-хранилища, а некоторые вообще недоступны, например прямое резервное копирование в AWS S3.
KeyDB поддерживает полную совместимость с протоколом, модулями и сценариями Redis. Это включает в себя гарантии атомарности для скриптов и транзакций. Поскольку KeyDB синхронизируется с разработкой Redis, KeyDB представляет собой расширенный набор функций Redis, что делает KeyDB идеальной заменой для существующих развертываний Redis.
На том же оборудовании KeyDB может выполнять в два раза больше запросов в секунду, чем Redis, с задержкой на 60% ниже. Active-Replication упрощает аварийное переключение с горячим резервированием, позволяя легко распределять записи по репликам и использовать простую балансировку нагрузки/отказоустойчивость на основе TCP. Более высокая производительность KeyDB позволяет вам делать больше на меньшем количестве оборудования, что снижает эксплуатационные расходы и сложность.
Зачем форкнуть Redis?
У KeyDB другая философия в отношении того, как должна развиваться кодовая база. Мы считаем, что простота использования, высокая производительность и подход «батареи в комплекте» — лучший способ создать хорошее взаимодействие с пользователем. Хотя мы с большим уважением относимся к сопровождающим Redis, мы считаем, что подход Redis слишком много внимания уделяет простоте базы кода за счет сложности для пользователя. Это приводит к необходимости использования внешних компонентов и обходных путей для решения общих проблем, что в целом приводит к большей сложности.
Из-за этой разницы во мнениях функции, которые подходят для KeyDB, могут не подходить для Redis. Форк позволяет нам исследовать этот новый путь разработки и реализовывать функции, которые, возможно, никогда не будут частью Redis. KeyDB синхронизируется с вышестоящими изменениями Redis, и, где это применимо, мы исправляем ошибки и вносим изменения. Мы надеемся, что два проекта смогут продолжать расти и учиться друг у друга.