README.md 7.3 KB
Newer Older
V
Vlad Ilyushchenko 已提交
1
<h4 align="center">
2
  <img src="https://raw.githubusercontent.com/questdb/questdb/master/ui/assets/images/logo-readme.jpg"/>
V
Vlad Ilyushchenko 已提交
3
</h4>
V
Vlad Ilyushchenko 已提交
4

V
Vlad Ilyushchenko 已提交
5
<p align="center">
6 7 8 9 10 11 12 13 14
  <a href="https://github.com/questdb/questdb/blob/master/LICENSE.txt">
    <img src="https://img.shields.io/github/license/questdb/questdb" />
  </a>
  <a href="https://www.codacy.com/app/bluestreak/nfsdb">
    <img src="https://api.codacy.com/project/badge/grade/83c6250bd9fc45a98c12c191af710754" />
  </a>
  <a href="https://circleci.com/gh/questdb/questdb">
    <img src="https://img.shields.io/circleci/build/github/questdb/questdb/master?token=c019f9fac8d84c0fa4896447d6073504a830e099" />
  </a>
V
Vlad Ilyushchenko 已提交
15
  <a href="https://github.com/questdb/questdb/releases/download/4.2.1/questdb-4.2.1-bin.tar.gz">
16 17 18 19 20 21 22 23 24 25 26 27 28
    <img src="https://img.shields.io/github/downloads/questdb/questdb/total" />
  </a>
  <a href="https://search.maven.org/search?q=g:org.questdb">
    <img src="https://img.shields.io/maven-central/v/org.questdb/core" />
  </a>
  <a href="https://serieux-saucisson-79115.herokuapp.com/">
    <img src="https://serieux-saucisson-79115.herokuapp.com/badge.svg" />
  </a>
</p>

<div align="center">

<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
29
[![All Contributors](https://img.shields.io/badge/all_contributors-4-orange.svg?style=flat-square)](#contributors-)
30 31
<!-- ALL-CONTRIBUTORS-BADGE:END -->
</div>
V
Vlad Ilyushchenko 已提交
32 33

## What is QuestDB
V
Vlad Ilyushchenko 已提交
34

35 36 37
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.
J
j1897OS 已提交
38

39 40 41 42
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 3.5Mb
package.
43

V
Vlad Ilyushchenko 已提交
44
## Project goals
V
Vlad Ilyushchenko 已提交
45

46 47
- Treat time-series as first class citizen within a relational database
  framework.
V
Vlad Ilyushchenko 已提交
48

49 50
- Minimise hardware resources through software optimisation. Don’t waste CPU
  cycles, memory nor storage.
V
Vlad Ilyushchenko 已提交
51

T
Tancrede 已提交
52
- Be a reliable and trustworthy store of critical data.
V
Vlad Ilyushchenko 已提交
53

54 55
- Low friction operation. Empower developers with SQL. Simplify every database
  interaction.
V
Vlad Ilyushchenko 已提交
56

57 58
- Operate efficiently at both extremes: allow users to prioritise performance
  over data loss, and vice versa.
V
Vlad Ilyushchenko 已提交
59 60

- Be both embedded and standalone.
V
Vlad Ilyushchenko 已提交
61

T
Tancrede 已提交
62 63
## Getting Started

64 65 66 67
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.
T
Tancrede 已提交
68

69 70 71
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.
T
Tancrede 已提交
72

73 74
You can find our documentation
[here](https://www.questdb.io/docs/documentationOverview)
T
Tancrede 已提交
75 76 77 78 79

## Support / Contact

- [Slack Channel](https://join.slack.com/t/questdb/shared_invite/enQtNzk4Nzg4Mjc2MTE2LTEzZThjMzliMjUzMTBmYzVjYWNmM2UyNWJmNDdkMDYyZmE0ZDliZTQxN2EzNzk5MDE3Zjc1ZmJiZmFiZTIwMGY)

T
Tancrede 已提交
80
## Roadmap
T
Tancrede 已提交
81

V
Vlad Ilyushchenko 已提交
82
[Our roadmap is here](https://github.com/questdb/questdb/projects/3)
T
Tancrede 已提交
83

84 85
## Building from source

M
Méril 已提交
86
### Prerequisites
87 88 89

- Operating system - **x86-64**: Windows, Linux, FreeBSD and OSX / **ARM
  (AArch64/A64)**: Linux
90
- Java 11 64-bit. We recommend Oracle Java 11, but OpenJDK 11 will also work
91 92 93 94 95 96 97 98 99
  (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

V
Vlad Ilyushchenko 已提交
100
### Building & Running
101

102 103
```bash
git clone git@github.com:questdb/questdb.git
V
Vlad Ilyushchenko 已提交
104 105
cd questdb

106
# Check the java version, the output should be similar to:
V
Vlad Ilyushchenko 已提交
107
#
108 109 110 111 112 113 114 115 116
# 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)
V
Vlad Ilyushchenko 已提交
117
java -version
118

119 120 121 122
# 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
V
Vlad Ilyushchenko 已提交
123
mvn clean package -DskipTests
124

M
Méril 已提交
125 126
# <root_dir> is where the data and configuration will live
# replace the value with an actual directory name, example "out"
V
Vlad Ilyushchenko 已提交
127 128
mkdir <root_dir>

M
Méril 已提交
129
java -cp core/target/core-4.3.0-SNAPSHOT.jar io.questdb.ServerMain -d <root_dir>
V
Vlad Ilyushchenko 已提交
130
```
131

132 133 134
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
M
Méril 已提交
135
`admin`/`quest`. Both the HTTP and PostgreSQL servers reference the database in
136
`<root_directory>/db`.
V
Vlad Ilyushchenko 已提交
137

T
Tancrede 已提交
138
## Contribution
V
Vlad Ilyushchenko 已提交
139

140 141 142
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).
143 144 145

## Contributors ✨

146 147
Thanks goes to these wonderful people
([emoji key](https://allcontributors.org/docs/en/emoji-key)):
148 149 150 151 152 153

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
  <tr>
154
    <td align="center"><a href="https://github.com/clickingbuttons"><img src="https://avatars1.githubusercontent.com/u/43246297?v=4" width="100px;" alt=""/><br /><sub><b>clickingbuttons</b></sub></a><br /><a href="https://github.com/questdb/questdb/commits?author=clickingbuttons" title="Code">💻</a> <a href="#ideas-clickingbuttons" title="Ideas, Planning, & Feedback">🤔</a> <a href="#userTesting-clickingbuttons" title="User Testing">📓</a></td>
M
Méril 已提交
155
    <td align="center"><a href="https://github.com/ideoma"><img src="https://avatars0.githubusercontent.com/u/2159629?v=4" width="100px;" alt=""/><br /><sub><b>ideoma</b></sub></a><br /><a href="https://github.com/questdb/questdb/commits?author=ideoma" title="Code">💻</a> <a href="#userTesting-ideoma" title="User Testing">📓</a> <a href="https://github.com/questdb/questdb/commits?author=ideoma" title="Tests">⚠️</a></td>
156
    <td align="center"><a href="https://github.com/tonytamwk"><img src="https://avatars2.githubusercontent.com/u/20872271?v=4" width="100px;" alt=""/><br /><sub><b>tonytamwk</b></sub></a><br /><a href="https://github.com/questdb/questdb/commits?author=tonytamwk" title="Code">💻</a> <a href="#userTesting-tonytamwk" title="User Testing">📓</a></td>
M
Méril 已提交
157
    <td align="center"><a href="http://sirinath.com/"><img src="https://avatars2.githubusercontent.com/u/637415?v=4" width="100px;" alt=""/><br /><sub><b>sirinath</b></sub></a><br /><a href="#ideas-sirinath" title="Ideas, Planning, & Feedback">🤔</a></td>
158 159 160 161 162 163 164
  </tr>
</table>

<!-- markdownlint-enable -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->

165 166 167
This project follows the
[all-contributors](https://github.com/all-contributors/all-contributors)
specification. Contributions of any kind welcome!