Projekat Redka razvija implementaciju Redis protokola i API-ja na vrhu SQLite-a

Objavljena su prva izdanja projekta Redka, čiji je cilj pružanje RESP protokola i API-ja kompatibilnog sa Redis DBMS-om, ali implementiranih na vrhu SQLite biblioteke. Korištenje SQLite-a dodatno vam omogućava pristup podacima koristeći SQL jezik, na primjer, za generiranje izvještaja ili analizu podataka. Podržana je upotreba ACID transakcija. Redka se može pokrenuti kao server koji prihvata zahtjeve preko mreže ili koristiti kao Go modul. Kod projekta je napisan u Go i distribuiran pod BSD licencom.

Trenutno je Redka dodala podršku za tipove za rad sa stringovima i hešovima, kao i komande za manipulaciju string podacima, ključevima, transakcijama i hešovima. Na primjer, dostupne su komande za postavljanje i dobivanje jedne ili više vrijednosti niza povezanih s ključem, postavljanje životnog vijeka ključeva, povećanje/smanjenje vrijednosti, traženje ključeva po šablonu, preimenovanje ključeva, izvršavanje niza naredbi unutar transakcije , otkazivanje transakcije, rad sa poljima u hashovima.

U bliskoj budućnosti planiramo dodati podršku za liste, kolekcije (skupove) i sortirane kolekcije. Dugoročno gledano, očekuje se implementacija HyperLogLog algoritma, mogućnost manipulacije geografskim koordinatama i komandama za interakciju korištenjem publish/subscribe modela. Još nema planova za dodavanje podrške za skripte na jeziku Lua, autentifikaciju, ACL, gledanje/odgledanje i mogućnost rada na jednom serveru sa nekoliko baza podataka. Podrška za klastere (Redis Cluster) i nadzor (Redis Sentinel) definitivno neće biti implementirana.

Testiranje performansi pomoću alata iz Redis projekta pokazalo je da Redka zaostaje 2-6 puta za Redis-om zbog nedostatka specifičnih optimizacija za pohranjivanje podataka u formatu ključ/vrijednost. Konkretno, u kreiranom testnom okruženju, Redis je pokazao performanse od 133 hiljade SET operacija u sekundi i 139 hiljada GET operacija u sekundi, dok je učinak Redka bio 30 hiljada SET u sekundi i 63 hiljade GET u sekundi u situaciji kada je baza podataka nalazio se u memoriji sa slučajnim pristupom. Prilikom čuvanja baze podataka na disku, Redkine performanse su bile 22 hiljade SET operacija u sekundi i 56 hiljada GET operacija u sekundi.

izvor: opennet.ru

Dodajte komentar