A zero-installation, single-binary, do-everything database.
A simple way to test TiDB.
A drop-in replacement for MySQL.
A database that scales from a single node, to huge workloads across hundreds of nodes.
Note: This project is not implemented yet. It does nothing.
- What is it?
- Why?
- Installation
- Use cases
- Configuration
- Future work
- Building from source
- Contributing
- License
BeastDB is a single binary that contains
- TiDB, a MySQL-compatible query engine,
- TiKV, the key/value storage engine that underlies TiDB,
- Placement Driver, the coordinator between TiKV and its query engines.
It essentially runs an entire distributed database cluster in a single process.
TiDB is a badass distributed database, but it is difficult to set up and run — its production configuration typically consists of many nodes. As such, it has a limited audience of developers with big data needs, and who are motivated to work through the setup process of a distributed database.
BeastDB puts all the components of TiDB into a single executable, making it trivial to apply TiDB to single-node MySQL workloads, whether for evaluation, development or production.
Download the latest binary. The easiest way is to run this command:
curl -O https://TODO
Run the binary:
./beast-db
[beast] The Beijing Beast, version 0.1.0
[beast] components: TiDB, TiKV, PD
[beast] initializing database in ./beast-db
[beast] The beast is listening
[beast] ... for TiKV connections on port TODO
[beast] ... for PD connections on port TODO
[beast] ... for MySQL connections on port TODO
[beast] ... for Spark connections on port TODO
[beast] visit the dashboard at `http://localhost:4000`
[beast] run `mysql todo` to connect to TiDB
At this point you can use the standard MySQL client to interact with the database.
TODO
TODO
- Release builds
- Include Prometheus
- Include Grafana
- Include TiSpark
- Include TiFlash
- Include mysql client
- Include tikv-ctl
- Include tipb-ctl
- MySQL server frontend emulation
- Autogeneration of frontend symlinks
- In-process embedding ala SQLite
- Make included components configurable
TODO
TODO
Apache-2.0 / MIT / BSL-1.0 / CC0-1.0
The code in this repository is distributed under any or all of the above licenses, at your option. Any contributions to this repository are contributed under all of the above licenses. Depencies on are distributed under their own terms.