Go to file
Jason Wilder 920c8396c6 Use sorted merge in FileStore.WalkKeys
WalkKeys serially walked each TSM file and invoked fn for each key.
Caller needed to handle duplicate calls to fn with the same key
because the same key could exist in multiple TSM files.  The serial
execution was also slower.

Since the series keys are already sorted, we can iterate over all
files in parallel and skip duplicates using a sorted merge.  This
fixes the duplicate invocation issue as well as speeds up walking
all keys.

This can significant improve startup performance when many TSM files
exists that may not have been fully compacted.  This also has benefits
for deletes (measurements/series) since duplicates are removed saving
extra allocations and work.  This may also allow for the optimize
compaction to be removed provided startup times are fast enough.
2017-04-03 08:57:52 -06:00
.github Update ISSUE_TEMPLATE.md 2017-03-17 14:20:16 -07:00
.hooks
client Add chunked processing back into v2 client 2017-02-13 09:21:13 -07:00
cmd add chunked/chunksize as setting/options 2017-03-17 18:25:52 -05:00
coordinator Support timezone offsets for queries 2017-03-22 15:09:41 -05:00
etc Fixed typo in etc/config.sample.toml 2017-03-18 00:02:34 +01:00
importer Failed imports will now alter exit code 2017-03-14 15:57:21 +00:00
influxql Add bitwise AND, OR and XOR operators to InfluxQL. 2017-03-31 21:02:02 +01:00
internal
man
models Merge branch '1.2' into jw-merge12 2017-03-06 11:09:05 -07:00
monitor Report subset of config values in SHOW DIAGNOSTICS 2017-03-14 11:34:19 -07:00
pkg
scripts
services Reduce cost of admin user check 2017-03-20 12:04:03 +00:00
stress Merge branch '1.2' into mr-merge-12 2017-02-17 16:14:22 -08:00
tcp
tests Fix race in test helpers. Fixes #8177 2017-03-29 12:31:04 +01:00
toml
tsdb Use sorted merge in FileStore.WalkKeys 2017-04-03 08:57:52 -06:00
uuid
.dockerignore
.gitignore
.mention-bot
CHANGELOG.md Add bitwise AND, OR and XOR operators to InfluxQL. 2017-03-31 21:02:02 +01:00
CODING_GUIDELINES.md
CONTRIBUTING.md
DOCKER.md
Dockerfile
Dockerfile_build_ubuntu32
Dockerfile_build_ubuntu64
Dockerfile_build_ubuntu64_git
Dockerfile_test_ubuntu32
Godeps Update liner dependency to handle docker exec 2017-03-17 08:42:53 -05:00
LICENSE
LICENSE_OF_DEPENDENCIES.md
Makefile
QUERIES.md
README.md
TODO.md
appveyor.yml
build-docker.sh
build.py
build.sh
circle-test.sh
circle.yml
errors.go
gobuild.sh
influxdb.go
nightly.sh
node.go
package.sh
test.sh

README.md

InfluxDB Circle CI Go Report Card Docker pulls

An Open-Source Time Series Database

InfluxDB is an open source 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.
  • Data can be tagged, allowing very flexible querying.
  • SQL-like query language.
  • 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.

Installation

We recommend installing InfluxDB using one of the pre-built packages. Then start InfluxDB using:

  • service influxdb start if you have installed InfluxDB using an official Debian or RPM package.
  • systemctl start influxdb if you have installed InfluxDB using an official Debian or RPM package, and are running a distro with systemd. For example, Ubuntu 15 or later.
  • $GOPATH/bin/influxd if you have built InfluxDB from source.

Getting Started

Create your first database

curl -XPOST '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 load=42 1434055562000000000'

curl -XPOST 'http://localhost:8086/write?db=mydb' \
-d 'cpu,host=server02,region=uswest load=78 1434055562000000000'

curl -XPOST 'http://localhost:8086/write?db=mydb' \
-d 'cpu,host=server03,region=useast load=15.4 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' AND time < now() - 1d"

Analyze the data

curl -G http://localhost:8086/query?pretty=true --data-urlencode "db=mydb" \
--data-urlencode "q=SELECT mean(load) FROM cpu WHERE region='uswest'"

Documentation

Contributing

If you're feeling adventurous and want to contribute to InfluxDB, see our contributing doc for info on how to make feature requests, build from source, and run tests.

Looking for Support?

InfluxDB offers a number of services to help your project succeed. We offer Developer Support for organizations in active development, Managed Hosting to make it easy to move into production, and Enterprise Support for companies requiring the best response times, SLAs, and technical fixes. Visit our support page or contact sales@influxdb.com to learn how we can best help you succeed.