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

V
Vlad Ilyushchenko 已提交
5
<p align="center">
V
Vlad Ilyushchenko 已提交
6 7 8 9
  <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>
  <a href="https://serieux-saucisson-79115.herokuapp.com/"><img src="https://serieux-saucisson-79115.herokuapp.com/badge.svg"></a>
10
  <a href="https://github.com/questdb/questdb/releases/download/4.2.0/questdb-4.2.0-bin.tar.gz"><img src="https://img.shields.io/github/downloads/questdb/questdb/total"></a>
V
Vlad Ilyushchenko 已提交
11 12 13 14
  <a href="https://search.maven.org/search?q=g:org.questdb"><img src="https://img.shields.io/maven-central/v/org.questdb/core"></a>
</p
  
<p/>
V
Vlad Ilyushchenko 已提交
15 16

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

J
j1897OS 已提交
18
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 已提交
19

N
NicQuestDB 已提交
20
QuestDB ingests data via HTTP, PostgreSQL wire protocol, Influx line protocol or directly from Java. Reading data is done using SQL via HTTP, 
T
Tancrede 已提交
21
PostgreSQL wire protocol or via Java API. The whole database and console fits in a 3.5Mb package.
22

V
Vlad Ilyushchenko 已提交
23
## Project goals
V
Vlad Ilyushchenko 已提交
24

J
j1897OS 已提交
25
- Treat time-series as first class citizen within a relational database framework.
V
Vlad Ilyushchenko 已提交
26

J
j1897OS 已提交
27
- Minimise hardware resources through software optimisation. Don’t waste CPU cycles, memory nor storage.
V
Vlad Ilyushchenko 已提交
28

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

J
j1897OS 已提交
31
- Low friction operation. Empower developers with SQL. Simplify every database interaction.
V
Vlad Ilyushchenko 已提交
32

J
j1897OS 已提交
33
- Operate efficiently at both extremes: allow users to prioritise performance over data loss, and vice versa.
V
Vlad Ilyushchenko 已提交
34 35

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

T
Tancrede 已提交
37 38
## Getting Started

39
See our [My First Database](https://www.questdb.io/docs/myFirstDatabase) tutorial.
T
Tancrede 已提交
40
The easiest way to get started is to play with our
41
web [console](https://www.questdb.io/docs/usingWebConsole). This will allow you to import
T
Tancrede 已提交
42 43
and query data using an intuitive interface.

44
You may also take a look at our [storage model](https://www.questdb.io/docs/storageModel). In short,
T
Tancrede 已提交
45 46
we are a column-oriented database, which partitions data by time intervals.

47
You can find more documentation [here](https://www.questdb.io/docs/documentationOverview)
T
Tancrede 已提交
48 49 50 51 52

## Support / Contact

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

T
Tancrede 已提交
53
## Roadmap
T
Tancrede 已提交
54

T
Tancrede 已提交
55
Our roadmap is [here](https://www.questdb.io/docs/roadmap)
T
Tancrede 已提交
56

57 58 59 60
## Building from source

### Pre-requitites:

J
j1897OS 已提交
61
- Java 8 64-bit. We recommend Oracle Java 8, but OpenJDK8 will also work (although a little slower).
62 63 64 65 66
- 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 已提交
67
```
V
Vlad Ilyushchenko 已提交
68 69
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 已提交
70 71
```

V
Vlad Ilyushchenko 已提交
72
### Building & Running
73 74

```
V
Vlad Ilyushchenko 已提交
75 76 77 78 79 80 81 82 83 84
git clone https://github.com/questdb/questdb.git
cd questdb

# check java version
# output should be similar to:
#
# java version "1.8.0_212"
# Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
# Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)
#
J
j1897OS 已提交
85
# if your java version is above 8 you can download & install JDK8 and use absolute
V
Vlad Ilyushchenko 已提交
86
# path to java executable instead of 'java'
87

V
Vlad Ilyushchenko 已提交
88
java -version
89

J
j1897OS 已提交
90
# remove 'skipTests' if you want to run all tests (3000+ unit tests, 3-5 mins)
V
Vlad Ilyushchenko 已提交
91
mvn clean package -DskipTests
92

J
j1897OS 已提交
93
# check contents of 'core/target' directory to find QuestDB's current version number
94

J
j1897OS 已提交
95
# create QuestDB root directory if one does not exist already
V
Vlad Ilyushchenko 已提交
96 97 98
# replace <root_dir> with actual directory name
mkdir <root_dir>

J
j1897OS 已提交
99 100
# <version> is QuestDB's current version from pom.xml
# <root_dir> is the root directory created at the previous step
V
Vlad Ilyushchenko 已提交
101 102
java -cp core/target/core-<version>.jar io.questdb.ServerMain -d <dir>
```
103

J
j1897OS 已提交
104
QuestDB will start the 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's server on 0:8812, default login credentials are admin/quest. Both HTTP and PostresSQL server reference database in `<root_directory>/db`
105

V
Vlad Ilyushchenko 已提交
106

T
Tancrede 已提交
107
## Contribution
V
Vlad Ilyushchenko 已提交
108

T
TheTanc 已提交
109 110
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).