README.md 4.0 KB
Newer Older
T
Tancrede 已提交
1

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

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

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

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

J
j1897OS 已提交
14 15
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 已提交
16

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

19 20 21 22
## Building from source

### Pre-requitites:

J
j1897OS 已提交
23
- Java 8 64-bit. We recommend Oracle Java 8, but OpenJDK8 will also work (although a little slower).
24 25 26 27 28
- 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 已提交
29
```
V
Vlad Ilyushchenko 已提交
30 31
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 已提交
32 33
```

34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
### 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 已提交
50

T
Tancrede 已提交
51 52
[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
53
web [console](https://www.questdb.io/docs/console). This will allow you to import
T
Tancrede 已提交
54
and query data using an intuitive interface.
V
Vlad Ilyushchenko 已提交
55

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

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

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

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

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

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

71
- Query and aggregates optimisation. Currently, we run aggregates through linear scans.
J
j1897OS 已提交
72 73
While our scans are highly efficient, our current implementations of aggregates are somehow naive.
Further optimisation will take performance to new levels.
74 75
- 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 已提交
76
the ability to distribute load/query work over several cores to benefit from parallelisation.
T
Tancrede 已提交
77
- High-availability. Working on providing out-of-the-box high-availability with extreme simplicity.
V
Vlad Ilyushchenko 已提交
78

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

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