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
2014-05-21 16:22:21 +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 ).
2015-02-25 04:11:42 +00:00
### Starting InfluxDB
* `service influxdb start` if you have installed InfluxDB using an official Debian or RPM package.
* `$GOPATH/bin/influxd` if you have built InfluxDB from source.
2015-02-25 00:25:29 +00:00
### Creating your first database
```JSON
2015-02-25 04:04:19 +00:00
curl -G 'http://localhost:8086/query' \
2015-02-25 04:14:14 +00:00
--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' \
2015-02-25 04:14:14 +00:00
--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",
2015-02-25 04:17:21 +00:00
"host": "server01"
},
2015-02-25 04:05:48 +00:00
"fields":{
"value": 100
2015-02-25 04:17:21 +00:00
}
2015-02-25 04:04:19 +00:00
}
]
}'
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
2013-11-07 05:45:20 +00:00
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 04:11:42 +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 more data, and issue more 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 ).
2013-11-06 16:01:31 +00:00