/risinglight

An OLAP database system for educational purpose

Primary LanguageRustApache License 2.0Apache-2.0

RisingLight

CI RisingLight on dbdb.io crates.io docs.rs

RisingLight is an OLAP database system for educational purpose. It is still in rapid development, and should not be used in production.

Quick Start

Currently, RisingLight only supports Linux or macOS. If you are familiar with the Rust programming language, you can start an interactive shell with:

cargo run           # start in debug mode
cargo run --release # or start in release mode

If you meet with any build issues, see Install, Run, and Develop RisingLight for more information. We provide step-by-step guide on how to compile and run RisingLight from scratch.

After successfully building RisingLight, you may import some data and run SQL queries. See Running TPC-H Queries.

Documentation

All documentation can be found in docs folder.

At the same time, dev docs are also available in make docs (latest) or crates.io (stable).

Roadmap

We plan to release RisingLight v0.2 this year, as well as a tutorial on how to build an OLAP database from scratch. See the pinned Roadmap issue for more information.

License

RisingLight is under the Apache 2.0 license. See the LICENSE file for details.

Community

Governance

See GOVERNANCE for more information.

Communication

RisingLight developers are active in a variety of places:

Slack Channel

You can join the RisingLight Slack community with the invitation link, and then join the following channels:

If the Slack invitation link expires (which normally should not happen), please create an issue :-)

Other Messaging Apps

If you want to join our active communication group in messaging apps including Discord, Telegram, and WeChat, please send an email to contact at singularity-data.com with your user ID. We will then manually invite you to the group.

Scrum Meeting

The RisingLight scrum meeting is a place where RisingLight project members bring up topics to discuss online. The meeting will be held by default every Wednesday 11am UTC+8 on Zoom if there are topics to discuss.

  • The topics should be decided at least 24 hours before the scrum meeting. All topics should be available in one of: (1) GitHub Issue (2) Pull Request for RFC (3) GitHub Discussion.
  • Meeting information will be sent to #risinglight or #risinglight-cn on Slack, based on the preferred language for this week's meeting, at least 24 hours before the scrum meeting.
  • The scrum meeting will generally end in 30 minutes.
  • If there are no topics to discuss, the meeting will be canceled.

Contributing

If you have a bug report or feature request, welcome to open an issue.

If you have any question to discuss, just ping us in Slack channel or other messaging apps, or directly start a discussion on GitHub Discussions.

If you want to contribute code, see CONTRIBUTING for more information. Generally, you will need to pass necessary checks for your changes and sign DCO before submitting PRs. We have plenty of good first issues. Feel free to ask questions either on GitHub or in our chat groups if you meet any difficulty.

Acknowledgement

The RisingLight project was initiated by a group of college students who have special interests in developing database systems using modern programming technologies. The project is generously sponsored by Singularity Data, a startup innovating the next-generation database systems. Singularity Data is hiring top talents globally to build a cloud-native streaming database from scratch. If interested, please send your CV to hr at singularity-data.com.

Welcome to the RisingLight community!