QuestDB Logo
Watch this repo

 

[![All Contributors](https://img.shields.io/badge/all_contributors-5-orange.svg)](#contributors-)
## What is QuestDB QuestDB is an open-source NewSQL relational database designed to process time-series data, faster. Our approach comes from low-latency trading; QuestDB’s stack is engineered from scratch, zero-GC Java and dependency-free. QuestDB ingests data via HTTP, PostgreSQL wire protocol, Influx line protocol or directly from Java. Reading data is done using SQL via HTTP, PostgreSQL wire protocol or via Java API. The whole database and console fits in a < 4 MB package. ## Project goals - Treat time-series as first class citizen within a relational database framework. - Minimise hardware resources through software optimisation. Don’t waste CPU cycles, memory nor storage. - Be a reliable and trustworthy store of critical data. - Low friction operation. Empower developers with SQL. Simplify every database interaction. - Operate efficiently at both extremes: allow users to prioritise performance over data loss, and vice versa. - Be both embedded and standalone. ## Getting Started See our [My First Database](https://www.questdb.io/docs/myFirstDatabase) tutorial. The easiest way to get started is to play with our web [console](https://www.questdb.io/docs/usingWebConsole). This will allow you to import and query data using an intuitive interface. You may also take a look at our [storage model](https://www.questdb.io/docs/storageModel). In short, we are a column-oriented database, which partitions data by time intervals. Additionally, you can find our documentation [here](https://www.questdb.io/docs/documentationOverview). There are various ways of installing QuestDB. ### Binaries You can find our compiled binaries available for download on the [release page](https://github.com/questdb/questdb/releases). The archive contains both the \*nix and Windows version. ### Docker Docker images are available on [Docker Hub](https://hub.docker.com/r/questdb/questdb). You can launch a QuestDB container with: $ docker run -p 9000:9000 questdb/questdb QuestDB will now be reachable at [localhost:9000](http://localhost:9000). ### Building from source #### Prerequisites - Operating system - **x86-64**: Windows, Linux, FreeBSD and OSX / **ARM (AArch64/A64)**: Linux - Java 11 64-bit. We recommend Oracle Java 11, but OpenJDK 11 will also work (although a little slower) - Maven 3 (from your package manager on Linux / OSX ([Homebrew](https://github.com/Homebrew/brew)) or [from the jar](https://maven.apache.org/install.html) for any OS) - Node.js 12 / npm 6 (to manage your Node.js versions we recommend [nvm](https://github.com/nvm-sh/nvm) for OSX/Linux/windows WSL, and [nvm-windows](https://github.com/coreybutler/nvm-windows) for Windows) - OPTIONAL #### Building & Running ```bash git clone git@github.com:questdb/questdb.git cd questdb # Check the java version, the output should be similar to: # # openjdk 11.0.6 2020-01-14 # OpenJDK Runtime Environment (build 11.0.6+10) # OpenJDK 64-Bit Server VM (build 11.0.6+10, mixed mode) # # For OpenJDK, for Oracle JDK you should get: # # java version "11.0.6" 2019-01-14 LTS # Java(TM) SE Runtime Environment 18.9 (build 11.0.6+8-LTS) # Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.6+8-LTS, mixed mode) java -version # Maven flags: # 1. Remove 'skipTests' if you want to run all tests (3000+ unit tests, 3-5 mins) # 2. You can add the parameter '-Dprofile.install-local-nodejs' if you do not want # to rely on a local version of NodeJS, it will be pulled by maven instead mvn clean package -DskipTests # is where the data and configuration will live # replace the value with an actual directory name, example "out" mkdir java -p core/target/core-4.3.0-SNAPSHOT.jar -m io.questdb/io.questdb.ServerMain -d ``` QuestDB will start an HTTP server with the web console available at [localhost:9000](http://localhost:9000). Additionally, a PostgreSQL server will be started and available on port 8812, the default login credentials are `admin`/`quest`. Both the HTTP and PostgreSQL servers reference the database in `/db`. ## Support / Contact [Slack Channel](https://join.slack.com/t/questdb/shared_invite/enQtNzk4Nzg4Mjc2MTE2LTEzZThjMzliMjUzMTBmYzVjYWNmM2UyNWJmNDdkMDYyZmE0ZDliZTQxN2EzNzk5MDE3Zjc1ZmJiZmFiZTIwMGY) ## Roadmap [Our roadmap is here](https://github.com/questdb/questdb/projects/3) ## Contribution Feel free to contribute to the project by forking the repository and submitting pull requests. Please make sure you have read our [contributing guide](https://github.com/questdb/questdb/blob/master/CONTRIBUTING.md). ## Contributors ✨ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

clickingbuttons

πŸ’» πŸ€” πŸ““

ideoma

πŸ’» πŸ““ ⚠️

tonytamwk

πŸ’» πŸ““

sirinath

πŸ€”

igor-suhorukov

πŸ’» πŸ€”
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!