# stonedb-dev **Repository Path**: adofsuaron/stonedb-dev ## Basic Information - **Project Name**: stonedb-dev - **Description**: https://github.com/adofsauron/stonedb-dev - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: stonedb-5.7 - **Homepage**: https://github.com/adofsauron/stonedb-dev - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-07-10 - **Last Updated**: 2022-08-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
Architecture
[](https://stonedb.io/docs/about-stonedb/architecture) For more information about StoneDB, see [stonedb.io](https://stonedb.io/). # 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](https://stonedb.io/community/main) for more specifics. # 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.9 or higher - Ubuntu 20.04 or higher Compiler toolsets we verify our builds with: - GCC 7.3 or higher The following packages we verify our builds with: - CMake 3.16.3 or higher - RocksDB 6.12.6 or higher - marisa 0.2.6 or higher ## Build StoneDB from the Source Code **On a fresh Ubuntu 20.04 instance:** For more information, see [Compile StoneDB on Ubuntu 20.04](https://stonedb.io/docs/developer-guide/compiling-methods/compile-using-ubuntu20.04). **On CentOS 7.9:** For more information, see [Compile StoneDB on CentOS 7](https://stonedb.io/docs/developer-guide/compiling-methods/compile-using-centos7). ## Build StoneDB from Source Code in a Docker Container For more information, see [Compile StoneDB in a Docker Container](https://stonedb.io/docs/developer-guide/compiling-methods/compile-using-docker). ## 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] default-storage-engine=stonedb default-tmp-storage-engine=MyISAM binlog-format=STATEMENT ``` ## Initialize the Database ```bash cd /path/to/your/path/bin && ./mysql_install_db --basedir=/stonedb/install/ --datadir=/stonedb/install/data/ --user=mysql ``` ## Start the Database Instance ```bash mysqld_safe --defaults-file=/path/to/my.cnf ``` or ```bash cp /path/to/your/path/support-files/mysql.server /etc/init.d/ service mysql start ``` ## Create a StoneDB Table ```sql --The example code for creating a table with 'stonedb' engine. CREATE TABLE `example_table` ( `id1` bigint(20) unsigned NOT NULL DEFAULT '0', `id1_type` int(10) unsigned NOT NULL DEFAULT '0', `id2` bigint(20) unsigned NOT NULL DEFAULT '0', `id2_type` int(10) unsigned NOT NULL DEFAULT '0', `data` varchar(255) NOT NULL DEFAULT '', `time` bigint(20) unsigned NOT NULL DEFAULT '0', `version` int(11) unsigned NOT NULL DEFAULT '0', ) ENGINE=stonedb DEFAULT COLLATE=utf8mb4_general_ci; ``` The example shows some important features and limitations in StoneDB. For more information about limitations, please see [StoneDB Limitations](https://stonedb.io/docs/about-stonedb/limits). - StoneDB data is stored in Column format and persist to RocksDB, and RocksDB plays as a disk to store the formatted data by column. 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.](http://stonedb.io/) ---