Comments 21
Вообще, у KeyDB есть еще одна киллер-фича - данные могут быть больше чем RAM при настройке KeyDB on FLASH.
.
Никак не понятно зрелость этой фичи. А вот у нас в KVRocks все так и работает, под капотом самая продвинутая на сегодня rocksdb причем всегда самая последняя версия (в отличие от кучи других проектов, сидящих еще на 6-й версии иногда)
В чем недостаток версии ниже самых последних в случае RocksDB? Оно и 3 года назад годно работало.
Наверное в развитии, улучшениях, исправлениях, производительности...
Некоторые фичи могут быть просто не нужны.
Часто OSS движется мотивацией основных контрибьюторов (facebook, в случае RocksDB), поэтому совсем не факт, что новые версии отражают потребности всех пользователей (я не утверждаю, что с RocksDB все так). Возможно, что нового, вкусного, молодежного ничего и нет в части того, что KeyDB нужно.
Про ошибки ок, если фич новых нет, то ошибок становится меньше, а если есть, то не факт.
За проект спасибо, полезно.
Я с вами даже в принципе согласен (недавняя фича с флагом PORTABLE которая нам сломала всю логику). Но тут есть момент - что такое дисковое хранилище очень сложная штука, там постояно есть моменты, которые нужно развивать, нельзя остановиться просто так, зафиксировать и сказать что все, лучше быть не может. Но в целом да - поэтому я отдельно мейнтейню именно все новые версии роксдб и что они несут нам.
Более того, можно собрать KVRocks с любой другой версией и даже с альтернативными движками (speedb к примеру, хоть тесты не показали особо отличий).
Если вам нужен какой-то функционал, команды редиса или их модификация (некоторые вещи с редиса мы не только портируем, но и улучшаем и расширяем) - приходите, будем рады: https://github.com/apache/kvrocks
А вот про эту базу что думаете dragonflydb.io ? Тоже позиционирует себя как замену редиса
пробовал заменить редис на keydb. стабильно зависал примерно через неделю использования на сервере с нагрузкой в пару тысяч rps. Причину так и не нашел. Пришлось вернутся на родной редис.
А какой коннекшн-рейт? Размер ключей?
Что в keydb было - простой key/value , а может быть очереди или geohash запрашивали?
Подпишусь под каждым словом. Интереса ради подкинул KeyDB вместо Redis под Airflow. И всё. Начались казусы с непредсказуемым зависанием 1-2 раза в неделю.
сам недавно развлекался с мультимастером, итог примерно тот же, если инстансов 2, то мультимастер худо бедно работает, при увеличении инстансов начинаются чудеса. в итоге так и остался на схеме keydb + sentinel
Кстати, не увидел описание фичи мультимастера:
если одна из реплик отвалилась и подключилась, то она запрашивает у остальных набор ключей, что вроде бы логично, но самое интересное, что потом старые реплики запрашивают у "поднявшейся" реплики ее набор ключей и синхронизируют со своими, и в этот момент становятся недоступны для клиентов.( с ошибкой Database loading)
А чем вы в кубере раскатываете кейдб? где-то можно посмотреть манифест из Истории2?
В паблике нет чарта, но в общем-то за основу был взят этот https://github.com/Enapter/charts
В этом блоке были добавлены "внешние" инстансы, поднятые на hostport, добавленные тут
redis-benchmark посредственно тестирует, проверяйте с помощью memtier, особенно если накинете тредов на keydb.
KeyDB и Redis: в поисках серебряной пули — in-memory replicated DB (Replicated IMDB)