6 repository-uri
Structures for managing high-volume data flow between multiple producers and consumers.
Distinct from Shared Memory Data Exchange: Distinct from shared memory exchange: focuses on the pipeline management aspect of lock-free queues rather than raw memory buffers.
Explore 6 awesome GitHub repositories matching data & databases · Concurrent Data Pipelines. Refine with filters or upvote what's useful.
Vector is a high-performance observability data pipeline designed to collect, transform, and route logs, metrics, and traces across distributed infrastructure. It functions as a modular engine that decouples data ingestion from processing and transmission, utilizing a component-based architecture to connect diverse sources to multiple destinations. The project distinguishes itself through a focus on reliability and flow control. It implements backpressure-aware data movement to prevent data loss during traffic spikes and utilizes disk-backed event buffering to ensure durability during network
Distributes incoming data across parallel workers to automatically adapt throughput to varying volumes.
Sarama is a Go client library for producing and consuming messages from Apache Kafka clusters. It provides dedicated interfaces for a message producer to send typed data packets and a message consumer to read and process continuous data streams from Kafka topics. The library includes a mocking framework and simulation layer that mimics Kafka broker behavior. These tools allow for the testing of client applications and messaging logic without requiring a live cluster. The project handles cluster connectivity and integration through the implementation of the Kafka binary protocol over TCP. It
Utilizes Go channels to asynchronously dispatch messages to different partition leaders across concurrent routines.
ConcurrentQueue is a header-only C++ template library that provides a lock-free data structure for multi-producer multi-consumer thread communication. It functions as a synchronization primitive designed to coordinate data flow between concurrent execution units using atomic operations rather than traditional mutex locking. The library distinguishes itself through a design that minimizes contention and synchronization overhead. It utilizes sub-queue token mapping to distribute workloads across partitioned internal queues and supports bulk operations to transfer multiple data elements in singl
Manage high-performance data exchange between multiple producers and consumers by using a lock-free queue structure that removes the requirement for manual locking.
This project is a Go shell scripting library and framework designed for writing automation scripts and CLI tools. It provides a concurrent data pipeline system for chaining sources, filters, and sinks to process text and JSON streams. The library distinguishes itself through a comprehensive toolkit for shell-like operations, including a text processing engine for regular expression filtering and frequency analysis, a filesystem utility toolkit for recursive search and path manipulation, and an integrated HTTP client wrapper for building data pipelines that fetch web content. The capability s
Implements a concurrent data pipeline system for chaining sources, filters, and sinks to process text and JSON streams.
kafka-python is a pure-Python client library for Apache Kafka that implements the Kafka wire protocol directly, without any native bindings or JVM dependencies. It provides the core capabilities of a Kafka client: producing messages to topics, consuming records from topics, and administering cluster resources such as topics and partitions, all through a Pythonic API or command-line tools. The library distinguishes itself through its comprehensive support for advanced Kafka features. It includes an asynchronous producer with background batching for throughput, a consumer group rebalance protoc
Buffers outgoing records in memory and sends them in batches on a background thread for high throughput.
Streem este un limbaj de programare bazat pe fluxuri (stream-based) și un orchestrator de pipeline-uri de date. Oferă un limbaj specific domeniului (DSL) pentru definirea fluxurilor de date concurente, permițând utilizatorilor să lege sursele de date la destinații printr-o secvență de operațiuni care transformă și filtrează elementele individuale ale fluxului. Sistemul utilizează o sintaxă de script personalizată pentru a defini conexiunile fluxului de date și definițiile pipeline-ului. Acest lucru permite orchestrarea procesării concurente a datelor, unde mai multe etape ale pipeline-ului se execută simultan pentru a muta elementele de date prin sistem. Platforma acoperă transformarea funcțională a datelor și compoziția bazată pe etape, aplicând funcții specifice pentru a modifica sau filtra elementele pe măsură ce trec printr-un lanț secvențial de operațiuni legate.
Moves data through multiple simultaneous stages to increase throughput via functional transformations.