influxdb/README.md

74 lines
2.7 KiB
Markdown
Raw Normal View History

2015-02-25 00:25:29 +00:00
# InfluxDB [![Build Status](https://travis-ci.org/influxdb/influxdb.png?branch=master)](https://travis-ci.org/influxdb/influxdb)
2013-09-26 14:31:11 +00:00
2015-02-25 00:25:29 +00:00
## An Open-Source, Distributed, Time Series Database
> InfluxDB v0.9.0 is now in the RC phase. If you're building a new project,
> please build against `master` or the most current RC instead of using v0.8.8.
2014-11-17 23:56:35 +00:00
InfluxDB is an open source **distributed time series database** with
**no external dependencies**. It's useful for recording metrics,
events, and performing analytics.
2013-09-27 16:37:19 +00:00
2015-02-25 00:25:29 +00:00
## Features
* Built-in HTTP API so you don't have to write any server side code to get up and running.
* Clustering is supported out of the box, so that you can scale horizontally to handle your data.
* Simple to install and manage, and fast to get data in and out.
* It aims to answer queries in real-time. That means every data point is
indexed as it comes in and is immediately available in queries that
should return in < 100ms.
## Getting Started
### Building
2013-09-27 16:37:19 +00:00
2015-02-25 00:25:29 +00:00
You don't need to build the project to use it - you can use any of our
2015-02-25 00:28:36 +00:00
[pre-built packages](http://influxdb.com/download/) to install InfluxDB. That's
2015-02-25 00:25:29 +00:00
the recommended way to get it running. However, if you want to contribute to the core of InfluxDB, you'll need to build.
For those adventurous enough, you can
[follow along on our docs](http://github.com/influxdb/influxdb/blob/master/CONTRIBUTING.md).
### Creating your first database
```JSON
2015-02-25 04:04:19 +00:00
curl -G 'http://localhost:8086/query' \
--data-urlencode "q=CREATE DATABASE mydb"
2015-02-25 00:25:29 +00:00
```
### Setting up the database's retention policy
2013-09-30 15:03:05 +00:00
2015-02-25 00:25:29 +00:00
```JSON
2015-02-25 04:04:19 +00:00
curl -G 'http://localhost:8086/query' \
--data-urlencode "q=CREATE RETENTION POLICY mypolicy \
ON mydb DURATION 7d REPLICATION 1 DEFAULT"
2015-02-25 00:25:29 +00:00
```
2015-02-25 03:58:58 +00:00
### Insert some data
```JSON
2015-02-25 04:04:19 +00:00
curl -H "Content-Type: application/json" http://localhost:8086/write -d '
{
"database": "mydb",
"retentionPolicy": "mypolicy",
"points": [
{
"name": "cpu",
"tags": {
"region":"uswest",
"host": "server01"},
"fields": {"value": 100}
}
]
}'
2015-02-25 03:58:58 +00:00
```
### Query for the data
```JSON
2015-02-25 04:04:19 +00:00
curl -G http://localhost:8086/query?pretty=true \
--data-urlencode "db=mydb" --data-urlencode "q=SELECT * FROM cpu"
2015-02-25 03:58:58 +00:00
```
2015-02-25 00:25:29 +00:00
## Helpful Links
2015-02-25 00:50:25 +00:00
* Understand the [design goals and motivations of the project](http://influxdb.com/docs/v0.9/introduction/overview.html).
2015-02-25 00:48:07 +00:00
* Follow the [getting started guide](http://influxdb.com/docs/v0.9/introduction/getting_started.html) to find out how to install InfluxDB, start writing data, and issue queries - in just a few minutes.
2015-02-25 00:49:28 +00:00
* See the [HTTP API documentation to start writing a library for your favorite language](http://influxdb.com/docs/v0.9/concepts/reading_and_writing_data.html).