El proyecto Redka desarrolla una implementación del protocolo y API de Redis sobre SQLite

Se han publicado los primeros lanzamientos del proyecto Redka, que se centra en proporcionar un protocolo RESP y una API compatibles con la base de datos Redis, pero implementados sobre la biblioteca SQLite. La utilización de SQLite también permite acceder a los datos mediante el lenguaje SQL, por ejemplo, para generar informes o realizar análisis de datos. Se admite el uso de transacciones ACID. Redka puede ejecutarse en forma servidores, aceptando solicitudes a través de la red, o utilizarse como un módulo para el lenguaje Go. El código del proyecto está escrito en Go y se distribuye bajo la licencia BSD.

Actualmente, Redka ha agregado soporte para tipos relacionados con cadenas y hashes, así como comandos para manipular datos de cadenas, claves, transacciones y hashes. Por ejemplo, están disponibles comandos para establecer y obtener uno o varios valores de cadena asociados con una clave, establecer la duración de vida de las claves, incrementar/decrementar valores, buscar claves por patrón, renombrar claves, ejecutar una serie de comandos dentro de una transacción y cancelar una transacción, así como trabajar con campos en hashes.

Próximamente se planea agregar soporte para listas, conjuntos (sets) y conjuntos ordenados. A largo plazo, se prevé la implementación del algoritmo HyperLogLog, capacidades para manipular coordenadas geográficas y comandos para la interacción utilizando el modelo de publish/subscribe. Por el momento, no se planea agregar soporte para scripts en Lua, autenticación, ACL, watch/unwatch y la posibilidad de operar en una servidor de múltiples bases de datos. Definitivamente no se implementará soporte para clústeres (Redis Cluster) ni monitoreo (Redis Sentinel).

Las pruebas de rendimiento utilizando herramientas del proyecto Redis han mostrado que Redka se queda atrás de 2 a 6 veces en comparación con Redis debido a la falta de optimizaciones específicas para almacenar datos en formato clave/valor. En particular, en el entorno de prueba creado, Redis demostró un rendimiento de 133 mil operaciones SET por segundo y 139 mil operaciones GET por segundo, mientras que el rendimiento de Redka fue de 30 mil SET por segundo y 63 mil GET por segundo en una situación en la que la base de datos estaba alojada en memoria. Al almacenar la base de datos en disco, el rendimiento de Redka fue de 22 mil operaciones SET por segundo y 56 mil GET por segundo.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster