Публикувани са първите версии на проекта Redka, насочен към предоставяне на RESP-протокол и API, съвместими с СУБД Redis, но реализирани върху библиотеката SQLite. Използването на SQLite допълнително позволява достъп до данните чрез SQL, например, за генериране на отчети или анализ на данни. Поддържа се използването на ACID транзакции. Redka може да работи в режим сървър, приемайки заявки по мрежата, или да се използва като модул за езика Go. Кодът на проекта е написан на езика Go и се разпространява под лиценз BSD.
В момента в Redka е добавена поддръжка за типове за работа със низове и хешове, както и команди за манипулиране на низови данни, ключове, транзакции и хешове. Например, на разположение са команди за задаване и получаване на едно или повече свързани с ключа низови стойности, задаване на времето за живот на ключовете, инкрементиране/декрементиране на стойности, търсене на ключове по шаблон, преименуване на ключове, изпълнение на серия команди в рамките на транзакция, отменяне на транзакция и работа с полета в хешове.
В близко бъдеще се планира добавяне на поддръжка за списъци, колекции (sets) и сортирани колекции. В отдалечен план се очаква реализиране на алгоритъма HyperLogLog, възможности за манипулиране на географски координати и команди за взаимодействие с използване на модел publish/subscribe. Все още не се планира добавяне на поддръжка за скриптове на езика Lua, аутентификация, ACL, watch/unwatch и възможност за работа в един сървър с няколко БД. Определено няма да бъде реализирана поддръжка на клъстери (Redis Cluster) и мониторинг (Redis Sentinel).
Тестовете за производителност, използващи инструментите на проекта Redis, показаха, че Redka изостава с 2-6 пъти от Redis поради липсата на специфични оптимизации за съхранение на данни във формат ключ/стойност. В частност, в създадената тестова среда Redis демонстрира време за производителност от 133 хиляди операции SET в секунда и 139 хиляди операции GET в секунда, докато производителността на Redka беше 30 хиляди SET в секунда и 63 хиляди GET в секунда, в ситуация, когато БД беше разположена в оперативната памет. При съхранение на БД на диск, производителността на Redka беше 22 хиляди операции SET в секунда и 56 хиляди GET в секунда.
Източник: opennet.ru
