11 repositorios
Techniques for grouping multiple database commands into a single network request to reduce round-trip latency.
Distinct from High-Throughput Ingestion Pipelines: Focuses on command batching in a database client rather than general ingestion pipelines or event streaming.
Explore 11 awesome GitHub repositories matching data & databases · Command Pipelining. Refine with filters or upvote what's useful.
ioredis is a performance-focused Redis client for Node.js designed to execute commands and manage data connections. It provides a specialized interface for interacting with standalone servers, sharded clusters, and high-availability setups. The library distinguishes itself with native support for Redis Cluster, featuring automatic slot discovery and network address mapping, and Redis Sentinel for master node discovery and automatic failover. It also includes a dedicated Lua scripting interface that utilizes server-side caching to ensure atomic operations. The project covers a broad set of ca
Optimizes throughput by grouping multiple commands into single network requests to minimize TCP overhead.
ioredis is a performance-focused Redis client for Node.js applications. It provides a comprehensive interface for interacting with Redis servers, including specialized clients for sharded clusters and Sentinel-based high availability environments. The project distinguishes itself through advanced networking and execution capabilities, such as automatic event-loop pipelining to reduce overhead and a system for routing read-write traffic between primary and replica nodes. It also features a dedicated Lua scripting interface that allows server-side scripts to be registered as custom client comma
Queues multiple commands in memory and sends them in a single network round-trip to increase throughput.
redis-py is a Python client library for executing Redis commands and managing in-memory data structures. It provides the necessary components to integrate Python applications with Redis for data storage and retrieval. The project includes a cluster client for monitoring health and managing automatic failover across multiple active-active database replicas. It also features a connection pool manager to maintain reusable socket connections and a dedicated pub/sub client for subscribing to real-time message channels. The library covers broad capability areas including performance optimization t
Supports grouping multiple Redis commands into a single network request to minimize round-trip latency.
redis-py is a Python client library for interacting with Redis databases to execute commands and manage key-value data. It serves as a driver for programmatic data manipulation, providing interfaces for Redis command execution and key-value storage. The project includes a dedicated cluster client that handles topology discovery, slot mapping, and request routing across distributed nodes. It further supports high availability through active-active deployment coordination, utilizing health checks and failure detection to trigger automatic failover between instances. The library incorporates ne
Groups multiple database commands into a single network request to reduce round-trip latency.
Codis is a distributed proxy system designed for scaling Redis clusters. It provides a sharding proxy that distributes data across multiple instances and a cluster manager to oversee the environment. The system enables horizontal scaling through dynamic resharding, which allows data slots to be migrated between servers without interrupting operations. It supports multi-key atomic operations using hash tags to ensure related keys are routed to the same server. The platform includes a graphical cluster management dashboard for monitoring and administration. It implements high availability prox
Reduces network latency by grouping multiple database commands into a single network request.
Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL database. It provides sub-millisecond read and write access to data stored in RAM and can operate as a vector database for indexing high-dimensional embeddings. The system supports a wide range of data storage and synchronization primitives, including the management of strings, hashes, lists, sets, and JSON documents. It enables real-time data operations through atomic transactions, hybrid persistence using snapshots and append-only logs, and high-availability configurations
Groups multiple commands into a single network request to reduce round-trip time and increase throughput.
Redigo is a Redis client library for Go applications, providing the means to execute commands, manage connections, and interact with Redis data stores. The library includes a connection pool manager to maintain a cache of reusable open connections and a pipelining tool that groups multiple commands into a single network round-trip to increase throughput and reduce latency. It also provides an implementation for broadcasting events and receiving real-time messages through Redis communication channels. The project covers broader capability areas including remote scripting for executing logic o
Groups multiple commands into a single network round-trip to increase throughput and reduce latency.
Predis is a PHP library for connecting to and executing commands against Redis and Valkey data stores. It functions as a client for managing data integration, providing dedicated implementations for cluster sharding, pub/sub messaging, and Sentinel-based service discovery. The project distinguishes itself through specialized clients for executing server-side Lua scripts with automated hash caching and a cluster client that supports gossip protocols and key distribution. It also implements a Sentinel client to manage high availability and failover within replicated environments. The library c
Implements command pipelining to group multiple database requests into a single network transmission to reduce latency.
redis-rs es una librería cliente para interactuar con almacenes de datos Redis utilizando interfaces de Rust síncronas y asíncronas. Sirve como controlador para realizar caché de datos, gestión de sesiones y almacenamiento general de datos. La librería cuenta con soporte especializado para entornos Redis Cluster, incluyendo enrutamiento de nodos consciente del clúster y gestión de datos distribuida. Se distingue por su deserialización de copia cero (zero-copy) para minimizar las asignaciones de memoria y un modelo de conexión multiplexado que permite que múltiples solicitudes concurrentes compartan una única conexión de red. El proyecto cubre una amplia superficie de capacidades, incluyendo almacenamiento de documentos JSON, canalización de comandos (pipelining) con gestión de fallos parciales y agrupación de conexiones (connection pooling). La conectividad segura se proporciona mediante cifrado TLS y autenticación basada en tokens a través de Azure Entra ID. El desarrollo se apoya en la simulación de conexiones (mocking) para pruebas unitarias y de integración.
Reduces network latency by grouping multiple Redis commands into a single network round trip.
Esta es una biblioteca cliente de Ruby y driver de protocolo utilizado para integrar aplicaciones Ruby con bases de datos Redis. Funciona como una capa de comunicación que gestiona versiones de protocolo y proporciona una interfaz consistente para ejecutar operaciones de base de datos. La biblioteca soporta una variedad de topologías de despliegue, incluyendo instancias independientes, Redis Sentinel para descubrimiento de maestros de alta disponibilidad y conmutación por error, y Redis Cluster con enrutamiento de solicitudes consciente de slots y descubrimiento de nodos. También proporciona sharding del lado del cliente utilizando hashing consistente para distribuir datos a través de servidores independientes. Las capacidades amplias incluyen gestión de transacciones atómicas y scripting en Lua para transformaciones del lado del servidor, así como soporte para tipos de datos especializados como coordenadas geoespaciales y streams. El rendimiento se optimiza mediante el pipelining de comandos y extensiones de análisis nativas, mientras que la seguridad se maneja mediante cifrado SSL/TLS y autenticación mutua por certificados. El cliente incluye herramientas para orquestar topologías de bases de datos independientes y en clúster utilizando contenedores para pruebas de integración automatizadas.
Groups multiple database commands into a single network request to significantly reduce round-trip latency.
Rueidis is a high-performance Redis client library for Go that provides a type-safe and asynchronous interface for interacting with Redis servers. It includes a full implementation of the Redis serialization protocol and a dedicated connection manager to handle pooling, multiplexing, and automatic pipelining. The library is distinguished by its support for RDMA connectivity to reduce latency and CPU overhead. It features a distributed lock manager that implements majority-based locking and optimistic concurrency control, as well as client-side caching with invalidation signals to minimize net
Groups concurrent non-blocking commands into a single network request to increase throughput.