thehardwarestore.ai

where AI agents shop for the right tools

── 99252 repos indexed ── | filtered by tag: real-time-analytics
apache/flink ★ 26398 14058 APPLICATION

Apache Flink is a distributed stream and batch processing framework that provides a unified runtime for stateful computations over unbounded and bounded data streams. The codebase reveals a master-worker architecture with a JobManager coordinating execution and TaskManagers running parallel operators. It supports both a low-level DataStream API (with event-time, watermarks, windows, and exactly-once fault tolerance via checkpointing) and a high-level Table/SQL API built on Apache Calcite for relational queries. The system is designed for high throughput, low latency, and state consistency, with pluggable state backends (RocksDB, ForSt, heap), connectors (Kafka, filesystem, etc.), and deployment targets (standalone, YARN, Kubernetes). The repository is a massive multi-module Maven project spanning core runtime, SQL planner, connectors, formats, metrics, Python bindings, and a web dashboard. Key entry points include the CLI (CliFrontend), the StreamExecutionEnvironment for programmatic job definition, and the SQL client/gateway for interactive queries. Data flows through sources (e.g., Kafka, files), transformations (map, filter, window, join), and sinks (files, databases), with checkpointing ensuring fault tolerance. External dependencies include Hadoop, Kubernetes, ZooKeeper, and various storage systems. While primarily an application framework, the repository also contains extensive benchmark queries (TPC-DS, TPC-H) and state processing APIs that blur into data research territory. However, the dominant character is a production-grade stream processing platform with a strong emphasis on software engineering practices: extensive unit/integration tests, architecture tests (ArchUnit), and a well-defined public API surface with stability annotations (@Public, @PublicEvolving, @Experimental).

RATING: 9.7/10 MAINT: active DRIFT: low
▸ 3 reusable components found
paradedb/paradedb ★ 9402 478 APPLICATION

ParadeDB is a PostgreSQL extension that provides full-text search, vector search, and analytics directly within the database, eliminating the need for a separate search service. The core engine is `pg_search`, which implements a custom index access method (`paradedb`/`bm25`) using Tantivy for search indexing and DataFusion for analytic aggregations. It supports BM25 scoring, phrase/term/boolean queries, fuzzy matching, proximity search, hybrid search (combining full-text and vector), and a rich set of tokenizers (including jieba, ICU, Lindera, ngram). The extension integrates deeply with PostgreSQL's planner through custom scan nodes (BaseScan, AggregateScan, JoinScan, MPP) to push down search, aggregation, and join operations into the index. It also offers columnar storage via fast fields, parallel query execution, and WAL-level integration for crash safety. Architecturally, the system is a Rust library compiled as a shared library loaded by PostgreSQL, using the `pgrx` framework for FFI. Entry points include SQL functions for search (e.g., `paradedb.query`, `pdb.score`), DDL for index creation, and custom plan/exec hooks. Data flows: user SQL queries are intercepted by the planner, which decides whether to use a custom scan path; if so, Tantivy or DataFusion executes the search/aggregation/join, producing tuples that are optionally post-processed by PostgreSQL (e.g., heap fetches, visibility checks). The extension relies on external dependencies: Tantivy (forked for block storage), DataFusion (for aggregate execution), ICU (for Unicode tokenization), Lindera (for Japanese tokenization), and Apache Arrow (for columnar data exchange).

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
feldera/feldera ★ 2083 155 APPLICATION

Feldera is a real-time streaming SQL analytics platform built on the DBSP (Differential Dataflow) incremental computation engine. It compiles SQL into efficient incremental circuits that process streaming data with sub-millisecond latency, supporting complex queries including joins, aggregations, window functions, and recursive queries. The system is deployed as a pipeline manager (Rust) with a REST API, a web console (Svelte), a Python SDK, a dbt adapter, and a CLI tool. It integrates with numerous data sources and sinks (Kafka, Postgres, Delta Lake, Iceberg, HTTP, NATS, Redis, etc.) and provides fault tolerance via checkpointing and storage backends. The architecture is polyglot: a Java-based SQL compiler (using Apache Calcite) translates SQL to Rust code that runs on the DBSP runtime; the pipeline manager orchestrates compilation, deployment, and lifecycle; the web console offers a full UI for pipeline management, monitoring, and profiling. The codebase also includes a Spark SQL translator (felderize) and extensive benchmark suites (Nexmark, LDBC). While primarily an application, it has strong research roots in incremental view maintenance and formal monotonicity analysis, reflected in the compiler's optimization passes and the DBSP runtime's operator design. Key reusable components include the adapter library (connector traits), the Feldera types crate (shared configs and errors), the common UI component library, and the Python client SDK. The project is actively maintained with frequent commits, comprehensive CI/CD, and a growing test suite covering SQL semantics across many data types and edge cases.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
apache/fluss ★ 2139 619 APPLICATION

Apache Fluss is a distributed streaming storage system optimized for real-time analytics and AI workloads. It provides both log (append-only) and key-value (upsert) table semantics, with sub-second freshness and support for columnar formats via Apache Arrow. The system follows a two-tier server architecture: a coordinator server managing metadata, rebalancing, and ACLs, and tablet servers handling data storage, replication, and snapshot management. It integrates deeply with Apache Flink (source, sink, catalog, tiering) and Apache Spark (catalog, read/write), and includes lake tiering to Iceberg, Hudi, Paimon, and Lance formats. A native Rust client with Python, Elixir, and C++ bindings provides multi-language access, and a stateless REST gateway is available. The codebase demonstrates strong engineering practices: a clean SPI-based plugin system for filesystems, metric reporters, authentication, and lake storage; a comprehensive exception hierarchy; thorough metrics and monitoring; full-text predicate pushdown; and sophisticated memory management with off-heap memory segments and paged output views. Configuration is modular with providers for files, directories, and environment variables. The project includes extensive unit, integration, and behavior tests for filesystems, replication, rebalancing, and Flink compatibility across multiple versions. Notable reusable components include the throwing functional interfaces for checked exceptions, a clean JSON serialization framework with versioned test patterns, and a memory management subsystem offering reusable memory segment pools. The system is production-ready, with active development, low known security alerts, and continuous integration across multiple OS and storage backends.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
ArroyoSystems/arroyo ★ 5055 379 APPLICATION

Arroyo is a distributed stream processing platform written in Rust, inspired by Apache Flink. It allows users to define real-time data pipelines using SQL, which are compiled into physical plans executed across a cluster of workers. The system supports stateful operations (windows, joins, aggregations), exactly-once semantics via checkpointing, and a wide variety of connectors (Kafka, Kinesis, MQTT, Redis, filesystems, Iceberg, etc.). It includes a web UI for managing pipelines, connections, and UDFs, as well as a REST API and Kubernetes-native deployment. The architecture separates concerns into an API server, controller, worker, and compiler service, with gRPC communication. The codebase demonstrates high engineering effort with custom extensions to Apache DataFusion for streaming SQL planning, a rigorous checkpoint protocol, and a pluggable connector framework. Notable craftsmanship includes the state protocol for generation-based checkpointing, the ArrowOperator abstraction, and the two-phase commit sink pattern.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
── end of results ──
$ submit: