Almost all components of RisingWave are developed in rust, and they are split to several crates:
config
contains default configurations for servers.proto
contains generated protobuf rust code, e.g. grpc definition and message definition.stream
contains our stream compute engine, read Stream Engine for more details.batch
contains our batch compute engine for queries against materialized views.frontend
contains our SQL query planner and scheduler.storage
contains our cloud native storage engine, read State Store Overview for more details.meta
contains our meta engine, read Meta Service for more details.util
contains several independent util crates which helps to simplify development. We plan to publish them to crates.io in future when they are more mature.cmd
contains all binaries, andcmd_all
contains the all-in-one binaryrisingwave
.risedevtool
is an awesome developer tool for RisingWave, read RiseDev Guide for more details.