stoneatom/stonedb
stoneatom/stonedb has 883 GitHub stars and 141 forks. GitHot measured 0 stars in 24 hours, -1 in 7 days, and 0 in 15 days. Last checked 2026-11-09 19:12 UTC. Last push 2026-09-21.
https://github.com/Shannon-Data/ShannonBase
Measured star growth
- in 24h
- 0
- in 7 days
- -1
- in 15 days
- 0
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalStoneDB
Notice: This repository is no longer maintained.
The StoneDB project has been migrated to a new repository and is now under active development as ShannonBase:
https://github.com/Shannon-Data/ShannonBase
All future updates, bug fixes, and new features will be made in the new repository. This repository is archived and will not receive any further maintenance.
If you are interested in real-time HTAP databases, you are more than welcome to follow the new repository, try ShannonBase, and join the community. We look forward to your feedback and contributions!
Thank you for your support of StoneDB.
- What is StoneDB
- Getting Started
- Documentation
- Contribution
- Discussion
- Join StoneDB Wechat Group
- Code of Conduct
What is StoneDB
StoneDB is a MySQL-compatible high-performance hybrid transaction/analytical processing (HTAP) database. It provides analytical processing (AP) abilities to MySQL. The running systems can be seamlessly migrated to StoneDB without any code changed. Compared to InnoDB, StoneDB provides 10 times the query performance as well as 10 times the load performance. StoneDB also provides 10:1 to 40:1 compression ratio.
Overview
Architecture 2.0
For more information about StoneDB, see stonedb.io.
Getting Started
The Getting Started part provides information about StoneDB supported platforms, installation (including creating your first table), and migrating from the running MySQL databases to StoneDB.
Supported Platform
The officially supported subsets of platforms are:
- CentOS 7.x or higher
- Ubuntu 20.04 or higher
- Red Hat Enterprise Linux 7 (RHEL 7.x)
Compiler toolsets we verify our builds with:
- GCC 7.3 or higher
The following packages we verify our builds with:
- Make 3.82 or later
- CMake 3.7.2 or later
- marisa 0.77
- RocksDB 6.12.6
- Boost 1.66
Build StoneDB from Source Code in a Docker Container
For more information, see Compile StoneDB in a Docker Container.
Of course, you can also quickly install and deploy StoneDB directly from Dockershub in just two minutes. See our documentation for details.
Build StoneDB from the Source Code
On Ubuntu 20.04
For more information, see Compile StoneDB on Ubuntu 20.04.
On CentOS 7.X
For more information, see Compile StoneDB on CentOS 7.x.
On RedHat 7.X
For more information, see Compile StoneDB on RedHat 7.x.
Configure StoneDB
After StoneDB is installed, you need to configure at least the following parameters in the my.cnf file:
#the stonedb configuration options are listed as following.
#for an example.
[mysqld]
# For version 5.7 or later, the engine should be set to tianmu
default-storage-engine=tianmu
# For version 5.6, the engine should be set to stonedb
# default-storage-engine=stonedb
default-tmp-storage-engine=MyISAM
binlog-format=STATEMENT
Initialize the Database
# For version 5.6
cd /path/to/your/path/bin && ./mysql_install_db --basedir=/stonedb/install/ --datadir=/stonedb/install/data/ --user=mysql
# For version 5.7 or later
cd /path/to/your/path/bin && ./mysqld --initialize --basedir=/stonedb/install/ --datadir=/stonedb/install/data/ --user=mysql
Start the Database Instance
mysqld_safe --defaults-file=/path/to/my.cnf --user=mysql &
Create a StoneDB Table
--The example code for creating a table with 'tianmu' engine.(For version 5.7 or later)
CREATE TABLE `example_table` (
`id1` bigint(20) NOT NULL DEFAULT '0',
`id1_type` int(10) NOT NULL DEFAULT '0',
`id2` bigint(20) NOT NULL DEFAULT '0',
`id2_type` int(10) NOT NULL DEFAULT '0',
`data` varchar(255) NOT NULL DEFAULT '',
`time` bigint(20) NOT NULL DEFAULT '0',
`version` int(11) NOT NULL DEFAULT '0',
) ENGINE=tianmu;
-- For version 5.6, the engine should be set to 'stonedb'
The example shows some important features and limitations in StoneDB. For more information about limitations, please see StoneDB Limitations.
- StoneDB data is stored in Column format and persist to RocksDB. All data is compressed, and the compression ratio can be 10:1 to 40:1.
- StoneDB can achieve a competitive performance when processing ad-hoc queries, even without any indexes created. For more details, click here.
Now, let's exprience your StoneDB
Switch from MySQL to StoneDB in Production
If you want to use both InnoDB and StoneDB within the same instance to run a join query, set stonedb_ini_allowmysqlquerypath to 1 in file my.cnf.
Online migration tools to move data between storage engines are not currently developed, but you obviously want this to happen without downtime, data loss, or inaccurate results. To achieve this, you need to move data logically from the source MySQL server that uses the InnoDB engine and load it into StoneDB to do analytical processing. The detailed procedure is as follows:
- Create a StoneDB instance and tables.
- Copy all the database and table schemas from the source to the destination.
- Dump each table to a file by executing
SELECT … INTO OUTFILE. - Send the files to the destination and load them using
LOAD DATA … INFILE.
Documentation
Documentation can be found online at https://stonedb.io. The documentation provides you with StoneDB basics, extensive examples of using StoneDB, as well as other information that you may need during your usage of StoneDB.
Contribution
StoneDB welcomes all kinds of contributions, such as contributing code to the code base, sharing your experience on how to use StoneDB, and providing insights in the community on the Forums, or contributing to projects that make StoneDB a better project. For more specifics, see the contributing guide for more specifics.
Discussion
The GitHub Discussions is the home for most discussions and communications about the StoneDB project. We welcome your participation. Every single opinion or suggestion of yours is welcomed and valued. We anticipate StoneDB to be an open and influential project.
Code of Conduct
When participating in the StoneDB project, please ensure all your behavior complies with the Code of Conduct.
Explore related projects
Asabeneh/30-Days-Of-Python
The 30 Days of Python programming challenge is a step-by-step guide to learn the Python programming language in 30 days. This challenge may take more than 100 days. Follow your own pace. These videos may help too: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,423 starsgrafana/grafana
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
77,790 starsredis/redis
For developers, who are building real-time data-driven applications, Redis is the preferred, fastest, and most feature-rich cache, data structure server, and document and vector query engine.
77,309 starsapache/superset
Apache Superset is a Data Visualization and Data Exploration Platform
75,455 stars


