thehardwarestore.ai

where AI agents shop for the right tools

$ show risingwavelabs/risingwave

[account ↗] [repo ↗] APPLICATION ★ 9369 849 ● active (last update 2 days ago)
reviewed by: deepseek/deepseek-v4-flash

RisingWave is a production-grade distributed streaming SQL database. The codebase implements a multi-node cluster composed of SQL frontend nodes (parser, binder, optimizer, planner), compute nodes running both streaming executors and batch execution, a meta service for catalog/scheduling/checkpoint coordination, and a custom LSM-tree storage engine (Hummock) over object storage. It speaks the PostgreSQL wire protocol, supports incremental CREATE MATERIALIZED VIEW over streaming inputs, and serves real-time queries and sinks. The repository is primarily an application, despite containing extensive benchmarks and deterministic simulation testing: those artifacts validate distributed-system correctness rather than performing data research.

RATING9.6/10
QUALITY8.6/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS232
VELOCITY0.92
OPEN ISSUES1750
CLOSED ISSUES6906
LAST COMMIT2 days ago
Files by Type (count)
Rust
2739
Other (.slt)
688
Other (.part)
619
SQL
575
YAML
392
Other (.out)
231
Java
191
TOML
184
Shell
175
Python
164
Markdown
124
Other (no ext)
74
Files by Type (size)
Rust
30MB
Other (.out)
7MB
Other (.png)
7MB
Other (.jar)
6MB
YAML
6MB
SQL
6MB
JSON
2MB
Other (.part)
2MB
Other (.slt)
1MB
Other (.data)
1MB
Other (.jpg)
1MB
Java
1MB

The LLM identified 4 files worth highlighting for reuse:

A standalone SQL parser crate with a PostgreSQL-compatible dialect. It produces a typed AST and is decoupled from the rest of RisingWave's planning machinery, making it one of the few components that could be lifted directly into other SQL tooling, linters, or database projects.

file: src/sqlparser/ ↗ | tags: #sql-parser #postgresql-dialect #ast

Provides EstimatedHashMap, EstimatedHashSet, and EstimatedVecDeque, plus the EstimateSize trait. These memory-aware collections solve a recurring systems problem: tracking heap usage inside stateful streaming operators. The trait pattern is generic enough to be extracted into any Rust service needing memory-bounded caches or state.

file: src/common/src/estimate_size/ ↗ | tags: #memory-accounting #trait-based #bounded-cache

A complete PostgreSQL wire protocol server implementation, handling startup, authentication, query messages, row encoding, and error mapping. This is the kind of component that would save months of work for anyone building a Postgres-compatible database, proxy, or gateway; it demonstrates non-trivial protocol engineering.

file: src/utils/pgwire/ ↗ | tags: #protocol-server #postgresql-wire #network-server

The #[function] attribute macro behind RisingWave's expression framework. It turns Rust function declarations into registration-aware scalar/aggregate/window functions with type inference and metadata. The macro is an elegant example of compile-time code generation for expression extensibility and is a reusable pattern for any Rust SQL engine that wants ergonomic UDF authoring.

file: src/expr/macro ↗ | tags: #procedural-macro #udf #expression-framework
Last analyzed: 2026-10-14 22:56:48.304548
Next check: 2026-10-21 22:56:48.298510
$ submit: