De eerste uitgaven van het Redka-project zijn gepubliceerd, dat is gericht op het bieden van een RESP-protocol en API die compatibel zijn met de Redis-database, maar zijn geĆÆmplementeerd bovenop de SQLite-bibliotheek. Het gebruik van SQLite maakt het daarnaast mogelijk om gegevens te benaderen met SQL-taal, bijvoorbeeld voor het genereren van rapporten of data-analyse. ACID-transacties worden ondersteund. Redka kan draaien als de server, die netwerkverzoeken accepteert, of worden gebruikt als een module voor de programmeertaal Go. De code van het project is geschreven in Go en wordt verspreid onder de BSD-licentie.
Momenteel heeft Redka ondersteuning toegevoegd voor types voor het werken met tekenreeksen en hashes, evenals commando's voor het manipuleren van tekenreeksgegevens, sleutels, transacties en hashes. Bijvoorbeeld, commando's voor het instellen en ophalen van ƩƩn of meerdere aan een sleutel gekoppelde tekenreekswaarden, het instellen van de levensduur van sleutels, het inkrementeren/decrementeren van waarden, het zoeken naar sleutels op basis van patronen, het hernoemen van sleutels, het uitvoeren van een reeks commando's in het kader van een transactie, het annuleren van een transactie, en het werken met velden in hashes.
Binnenkort wordt ondersteuning voor lijsten, verzamelingen (sets) en gesorteerde verzamelingen aan het plan toegevoegd. Op de lange termijn wordt de implementatie van het HyperLogLog-algoritme verwacht, mogelijkheden voor het manipuleren van geografische coördinaten en commando's voor interactie op basis van het publish/subscribe-model. Voorlopig is er geen plan om ondersteuning voor Lua-scripts, authenticatie, ACL, watch/unwatch en het werken met meerdere de server databases toe te voegen. Ondersteuning voor clusters (Redis Cluster) en monitoring (Redis Sentinel) zal zeker niet worden geïmplementeerd.
Prestatietests met behulp van tools van het Redis-project hebben aangetoond dat Redka 2-6 keer trager is dan Redis door het ontbreken van specifieke optimalisaties voor het opslaan van gegevens in het key/value-formaat. In het gemaakte testmilieu toonde Redis een prestatie aan van 133.000 SET-bewerkingen per seconde en 139.000 GET-bewerkingen per seconde, terwijl de prestatie van Redka 30.000 SET-bewerkingen en 63.000 GET-bewerkingen per seconde bereikte in een situatie waarin de database in het RAM was geplaatst. Bij het opslaan van de database op de schijf bedroeg de prestatie van Redka 22.000 SET-bewerkingen per seconde en 56.000 GET-bewerkingen per seconde.
Bron: opennet.ru
