README.md 4.2 KB
Newer Older
V
Vlad Ilyushchenko 已提交
1
[![License](https://img.shields.io/github/license/questdb/questdb)](https://github.com/questdb/questdb/blob/master/LICENSE.txt)
V
Vlad Ilyushchenko 已提交
2
[![Codacy Badge](https://api.codacy.com/project/badge/grade/83c6250bd9fc45a98c12c191af710754)](https://www.codacy.com/app/bluestreak/nfsdb)
V
Vlad Ilyushchenko 已提交
3
[![CircleCI](https://img.shields.io/circleci/build/github/questdb/questdb/master?token=c019f9fac8d84c0fa4896447d6073504a830e099)](https://circleci.com/gh/questdb/questdb)
V
Vlad Ilyushchenko 已提交
4
[![Slack Status](https://serieux-saucisson-79115.herokuapp.com/badge.svg)](https://serieux-saucisson-79115.herokuapp.com/)
V
Vlad Ilyushchenko 已提交
5
[![Downloads](https://img.shields.io/github/downloads/questdb/questdb/total)](https://github.com/questdb/questdb/releases/download/4.0.0/questdb-4.0.0-bin.tar.gz)
V
Vlad Ilyushchenko 已提交
6
[![Maven Central](https://img.shields.io/maven-central/v/org.questdb/core)]
V
Vlad Ilyushchenko 已提交
7

8
## About QuestDB
V
Vlad Ilyushchenko 已提交
9

T
Tancrede 已提交
10
QuestDB is a relational database built to provide ultimate performance for time-series data.
11 12

Our technology is born from low-latency trading and built around fully zero-GC java and off-heap data structures.
J
j1897OS 已提交
13
We provide the highest performance, use SQL and offer one binary, which is portable across architectures.
V
Vlad Ilyushchenko 已提交
14

J
j1897OS 已提交
15 16
We don't use third-party libraries, and our design may seem unorthodox. This is because we challenge the status-quo across the full stack.
Our approach is a different take on high performance databases and was born from low latency trading principles. We elevate database performance to new heights. 
V
Vlad Ilyushchenko 已提交
17

18
All code is licensed under the Apache 2.0 Open Source license.
V
Vlad Ilyushchenko 已提交
19

20 21 22 23
## Building from source

### Pre-requitites:

J
j1897OS 已提交
24
- Java 8 64-bit. We recommend Oracle Java 8, but OpenJDK8 will also work (although a little slower).
25 26 27 28 29
- Maven 3
- Compatible 64-bit Operating System: Windows, Linux, OSX or ARM Linux
- Configure JAVA_HOME environment variable
- Add Maven "bin" directory to PATH environment variable

V
Vlad Ilyushchenko 已提交
30
```
V
Vlad Ilyushchenko 已提交
31 32
Note: Java versions above 8 are not yet supported. It is possible to build QuestDB with Java 11,
but this requires backward incompatible source code changes.
V
Vlad Ilyushchenko 已提交
33 34
```

35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
### Building

```
mvn clean package
```


### Running

Main class: `io.questdb.ServerMain`

Program arguments: `-d <home_directory>`

QuestDB will start HTTP server on 0:9000, which you can visit from your browser: http://localhost:9000. HTTP server is constrained by directory specified as program argument (-d). Additionally QuestDB will start PostgreSQL server on 0:8812, default login credentials are admin/quest. Both HTTP and PostresSQL server reference database in `home_directory/db`

## Getting Started
V
Vlad Ilyushchenko 已提交
51

T
Tancrede 已提交
52 53
[Install](https://www.questdb.io/docs/install) and [run](https://www.questdb.io/docs/run) QuestDB.
Then, the easiest way to get started is to play with our
54
web [console](https://www.questdb.io/docs/console). This will allow you to import
T
Tancrede 已提交
55
and query data using an intuitive interface.
V
Vlad Ilyushchenko 已提交
56

T
Tancrede 已提交
57
You may also take a look at our [storage model](https://www.questdb.io/docs/storagemodel). In a nutshell,
J
j1897OS 已提交
58
we are a column-oriented database, which partitions data by time intervals.
V
Vlad Ilyushchenko 已提交
59

T
Tancrede 已提交
60
You can find more documentation [here](https://www.questdb.io/docs/documentation)
V
Vlad Ilyushchenko 已提交
61

62
## Support / Contact
V
Vlad Ilyushchenko 已提交
63

T
Tancrede 已提交
64
- [Slack Channel](https://join.slack.com/t/questdb/shared_invite/enQtNzk4Nzg4Mjc2MTE2LTEzZThjMzliMjUzMTBmYzVjYWNmM2UyNWJmNDdkMDYyZmE0ZDliZTQxN2EzNzk5MDE3Zjc1ZmJiZmFiZTIwMGY)
V
Vlad Ilyushchenko 已提交
65

T
Tancrede 已提交
66
### Roadmap
V
Vlad Ilyushchenko 已提交
67

T
Tancrede 已提交
68
We have built the ultimate performance for read and write on a single-thread.
J
j1897OS 已提交
69
But we still have some work to do.
T
Tancrede 已提交
70
Elements on our roadmap include:
V
Vlad Ilyushchenko 已提交
71

72
- Query and aggregates optimisation. Currently, we run aggregates through linear scans.
J
j1897OS 已提交
73 74
While our scans are highly efficient, our current implementations of aggregates are somehow naive.
Further optimisation will take performance to new levels.
75 76
- Multithreading. Currently, we use one single thread. While this is good for certain use cases
(you can limit QuestDB to one thread and leave resources for other programs), we will provide
J
j1897OS 已提交
77
the ability to distribute load/query work over several cores to benefit from parallelisation.
T
Tancrede 已提交
78
- High-availability. Working on providing out-of-the-box high-availability with extreme simplicity.
V
Vlad Ilyushchenko 已提交
79

T
Tancrede 已提交
80
### Contribution
V
Vlad Ilyushchenko 已提交
81

T
TheTanc 已提交
82 83
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).