The app demonstrates the performance differences between SingleStore, MySQL, and PostgreSQL on a dataset of over 110 million records. It is a demo application built using the SingleStore Free Dev image, as well as MySQL and PostgreSQL images.
- Install and launch Docker Desktop.
- Open a terminal in the root directory of the project and install dependencies by running:
npm i
. - In the
./apps/db
directory, create a.env
file based on.env.example
. - Start the Docker containers by running:
make up
. - Wait 5–10 seconds, then initialize the
singlestore
image by running:make singlestore-init
. - In the
./packages/singlestore
,./packages/mysql
, and./packages/postgres
directories, create.env
files based on the corresponding.env.example
files. - From the root directory of the project, push the database schemas by running:
npm run db:push
.
- In the
./apps/data-generator
directory, create a.env
file based on.env.example
. - Generate data (100M+ records) by running:
npm run generate:start
. - Load the data by running:
npm run load:start
. - Create indexes by running:
npm run indexes:create
.
- In the
./apps/client
directory, create a.env
file based on.env.example
. - Build and start the app by running:
npm run build && npm run start
. - Open http://localhost:3000 in your browser.