Au fost publicate primele versiuni ale proiectului Redka, destinat furnizării unui protocol RESP și API compatibile cu SGBD-ul Redis, dar implementate deasupra bibliotecii SQLite. Folosirea SQLite permite, de asemenea, accesarea datelor prin intermediul limbajului SQL, de exemplu, pentru generarea de rapoarte sau analiza datelor. Este susținută utilizarea tranzacțiilor ACID. Redka poate fi lansat sub forma server, care acceptă cereri prin rețea, sau poate fi utilizat ca un modul pentru limbajul Go. Codul proiectului este scris în limbajul Go și este distribuit sub licența BSD.
În prezent, Redka a adăugat suport pentru tipuri de date pentru lucrul cu șiruri de caractere și hash-uri, precum și comenzi pentru manipularea datelor de tip șir, chei, tranzacții și hash-uri. De exemplu, sunt disponibile comenzi pentru setarea și obținerea uneia sau mai multor valori de șir legate de o cheie, stabilirea timpului de viață al cheilor, incrementarea/decrementarea valorilor, căutarea cheilor după un model, redenumirea cheilor, executarea unei serii de comenzi în cadrul unei tranzacții, anularea tranzacției, lucrul cu câmpuri în hash-uri.
În viitorul apropiat se preconizează adăugarea suportului pentru liste, colecții (sets) și colecții sortate. Pe termen lung, se așteaptă implementarea algoritmului HyperLogLog, posibilități de manipulare a coordonatelor geografice și comenzi pentru interacțiunea utilizând modelul publish/subscribe. Până acum, nu este planificată adăugarea suportului pentru scripturi în limbajul Lua, autentificare, ACL, watch/unwatch și posibilitatea de a lucra într-o server multime de baze de date. Cu siguranță nu va fi implementat suportul pentru clustere (Redis Cluster) și monitorizare (Redis Sentinel).
Testele de performanță utilizând instrumentele din proiectul Redis au arătat că Redka este cu 2-6 ori mai lent decât Redis din cauza lipsei optimizărilor specifice pentru stocarea datelor în format cheie/valoare. În particular, în cadrul mediului de testare creat, Redis a demonstrat o performanță de 133 de mii de operații SET pe secundă și 139 de mii de operații GET pe secundă, în timp ce performanța Redka a fost de 30 de mii SET pe secundă și 63 de mii GET pe secundă în situația în care baza de date era stocată în memoria RAM. Atunci când baza de date era stocată pe disc, performanța Redka a fost de 22 de mii de operații SET pe secundă și 56 de mii GET pe secundă.
Sursa: opennet.ro
