Go to file
Jason Wilder a7fa5eb634 Propogate metadata changes from raft nodes to non-raft nodes
Non-raft nodes need to be notifified when the metastore changes. For
example, a database could be dropped on node 1 (non-raft) and node 2
would not know.  Since queries for that database would not be a cache
miss, node 2 would not get updated.

To propogate changes to non-raft nodes, each non-raft node maintains
a blocking connection to a raft node that blocks until a metadata
change occurs.  When the change is triggered, the updated metadata
is returned to the client and the client idempotently updates its local
cache.  It then reconnects and waits for another change.  This is
similar watches in zookeeper or etcd.  Since the blocking request is
always recreated, it also serves as a polling mechanism that will retry
another raft member if the current connection is lost.
2015-07-23 10:21:23 -06:00
.hooks commit hook was inaccuratly reporting vet errors due to how we ran vet 2015-02-12 11:17:41 -07:00
client Add GoDoc badge at top of Readme for quick access. 2015-07-08 16:25:59 +02:00
cluster Allow remote mapping to be forced 2015-07-20 10:44:45 -07:00
cmd Add ability to join an existing cluster 2015-07-23 10:21:22 -06:00
etc Fixed flush interval & flush delay parameters 2015-07-15 16:59:07 -04:00
influxql Added check for escaped single quote in string 2015-07-22 17:47:48 -04:00
meta Propogate metadata changes from raft nodes to non-raft nodes 2015-07-23 10:21:23 -06:00
scripts Avoid backticks and use $() instead. 2015-06-25 19:07:42 +01:00
services change for better code clarity 2015-07-21 19:40:43 -06:00
shared/admin Make different variable types print prettier. 2015-07-04 14:56:32 -07:00
snapshot Refactor backup and restore 2015-06-10 22:07:01 -06:00
statik Fix go fmt 2015-07-06 16:14:01 -06:00
tcp Make InfluxDB win32 friendly, fix unit test is failed on the windows 2015-06-10 07:29:08 +08:00
tests Update test scripts to use measurement for JSON 2015-06-02 20:44:11 -06:00
toml Fix spelling errors in comments and strings. 2015-06-28 02:54:34 -04:00
tsdb Fix typo in comment 2015-07-22 13:59:43 -07:00
uuid Replace code.google.com/p/go-uuid with TimeUUID from gocql 2015-03-30 09:02:11 -07:00
.gitignore Write path interfaces 2015-05-07 23:12:12 -06:00
CHANGELOG.md Added check for escaped single quote in string 2015-07-22 17:47:48 -04:00
CONTRIBUTING.md Minor typo in CONTRIBUTING.md 2015-07-06 08:58:56 -04:00
LICENSE update the year in the LICENSE file 2015-01-05 21:35:28 -08:00
QUERIES.md Merge pull request #2765 from influxdb/beckettsean-queriesMD-2 2015-06-25 18:28:10 -07:00
README.md Make quick start example clearer 2015-06-23 16:57:55 -07:00
balancer.go Integrate meta package. 2015-05-29 14:54:04 -06:00
balancer_test.go Integrate meta package. 2015-05-29 14:54:04 -06:00
circle-test.sh Disable race tests until hashicorp raft lib is updated 2015-07-23 10:12:16 -06:00
circle.yml Install from binary package. 2015-04-20 15:11:32 -07:00
diagnostics.go Start move to 64-bit ints 2015-04-07 12:58:44 -07:00
errors.go Return field type errors as client write errors 2015-06-10 14:52:26 -06:00
nightly.sh The nightly version is confusing - simplify it 2015-07-21 07:52:18 -07:00
package.sh Switch to target branch after 'go get' 2015-07-01 12:19:35 -04:00

README.md

InfluxDB Circle CI

An Open-Source, Distributed, Time Series Database

InfluxDB v0.9.0 is now out. Going forward, the 0.9.x series of releases will not make breaking API changes or breaking changes to the underlying data storage. However, 0.9.0 clustering should be considered an alpha release.

InfluxDB is an open source distributed time series database with no external dependencies. It's useful for recording metrics, events, and performing analytics.

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

The following directions apply only to the 0.9.0 release or building from the source on master.

Building

You don't need to build the project to use it - you can use any of our pre-built packages to install InfluxDB. That's 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.

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.

Creating your first database

curl -G 'http://localhost:8086/query' --data-urlencode "q=CREATE DATABASE mydb"

Insert some data

curl -XPOST 'http://localhost:8086/write?db=mydb' \
-d 'cpu,host=server01,region=uswest value=1.0 1434055562000000000'

Query for the data

curl -G http://localhost:8086/query?pretty=true --data-urlencode "db=mydb" \
--data-urlencode "q=SELECT * FROM cpu WHERE host='server01'"