GithubHelp home page GithubHelp logo

cybernetics / questdb Goto Github PK

View Code? Open in Web Editor NEW

This project forked from questdb/questdb

0.0 1.0 0.0 367.59 MB

An open source SQL database designed to process time series data, faster

Home Page: https://questdb.io

License: Apache License 2.0

Java 81.00% HTML 0.09% CMake 0.09% C 4.35% JavaScript 0.49% CSS 0.56% Shell 0.05% Objective-C 0.10% C++ 12.42% TypeScript 0.83%

questdb's Introduction

QuestDB Logo

 

All Contributors

What is QuestDB

QuestDB is an open source database designed to make time series lightning fast and easy.

It uses a column-oriented approach, vectorized execution, SIMD instructions, and a whole array of low-latency techniques. The whole code base is built from scratch and without dependencies, in the name of performance. We are 100% free from garbage collection.

QuestDB implements SQL, and augments it for time-series. It exposes a Postgres wire protocol, a high-performance REST API, and even supports ingestion with InfluxDB line protocol. It supports both relational and time-series joins, which makes it easy to correlate data over time. Writes are durably committed to disk, meaning that the data is safe - yet instantly accessible.

Live demo

Query our demo dataset with 1.6 billion rows in milliseconds.

Web Console

Interactive console to import data (drag and drop) and start querying right away. Check our Web Console guide to get started:

Performance figures

Raw figures

Number operations per second per thread. Writes are durable and written to disk.

Operation 64-bit double 32-bit int
Read 120 Million /s 240 Million /s
Write 240 Million /s 480 Million /s

On a CPU with 6 memory channels, QuestDB can scan through 117GB of data per second.

Queries

Execution time on a c5.metal instance using 16 of the 96 threads available.

Query Runtime
SELECT sum(double) FROM 1bn 0.061 secs
SELECT tag, sum(double) FROM 1bn 0.179 secs
SELECT tag, sum(double) FROM 1bn WHERE timestamp='2019' 0.05 secs

Getting Started

The easiest way to get started is with Docker:

docker run -p 9000:9000 -p 8812:8812 questdb/questdb

You can more information about Docker usage here.

Alternative methods

Connecting to QuestDB

You can interact with QuestDB using:

Both the HTTP and PostgreSQL servers reference the database in <root_directory>/db.

You can connect to the Postgres server as follows. The default password is quest:

psql -h localhost -p 8812 -U admin -W -d qdb

Building from source

(a) Prerequisites

  • Java 11 64-bit
  • Maven 3
  • Node.js 12 / NPM 6
java --version
mvn --version
node --version

(b) Clone the Repository

git clone [email protected]:questdb/questdb.git

(c) Build the Code

cd questdb
mvn clean package -DskipTests

The build should take around 2 minutes. You can remove -DskipTests to run the 3000+ unit tests. The tests take 3-5 minutes to run.

(d) Run QuestDB

# Create a database root directory and run QuestDB
mkdir <root_directory>
java -p core/target/questdb-5.0.3-SNAPSHOT.jar -m io.questdb/io.questdb.ServerMain -d <root_directory>

Resources

Complete references are available in the Documentation. There are also several guides to get started.

Quick-start guides:

Usage guides:

Concepts:

Support / Contact

Slack Channel

Roadmap

Our roadmap is here

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.

Contributors ✨

Thanks to these wonderful people (emoji key):


clickingbuttons

💻 🤔 📓

ideoma

💻 📓 ⚠️

tonytamwk

💻 📓

sirinath

🤔

igor-suhorukov

💻 🤔

mick2004

💻 📦

rawkode

💻 🚇

solidnerd

💻 🚇

solanav

💻 📖

shantanoo-desai

📝 💡

This project follows the all-contributors specification. Contributions of any kind welcome!

questdb's People

Contributors

bluestreak01 avatar mpsq avatar ideoma avatar jaugsburger avatar patrickspacesurfer avatar thetanc avatar allcontributors[bot] avatar tris0laris avatar alexprut avatar clickingbuttons avatar igor-suhorukov avatar mick2004 avatar dependabot[bot] avatar bluestreak02 avatar sirinath avatar apjanke avatar rberrelleza avatar gitter-badger avatar chenrui333 avatar tonytamwk avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.