/biggraphite

Simple Scalable Time Series Database

Primary LanguagePythonApache License 2.0Apache-2.0

Build Status Coverage Status PyPi version Supported Python versions

BigGraphite

BigGraphite is a storage layer for timeseries data. It integrates with Graphite as a plugin.

For usage information and how to contribute, please see CONTRIBUTING.md.

Usage

See USAGE.md and CONFIGURATION.md.

Contact

Backends

There is only one supported backend that provides all features: Cassandra, whose design is described in CASSANDRA_DESIGN.md.

Another backend supports metadata only, stored in Elasticsearch, see ELASTICSEARCH_DESIGN.md. Using it, it is possible to use Cassandra to store data points and Elasticsearch to store metrics metadata.

Code structure

  • biggraphite.accessor exposes the public API to store/retrieve metrics
  • biggraphite.metadata_cache implements a machine-local cache using LMDB so that one does not need a round-trip for each call to accessor
  • biggraphite.plugins.* implements integration with Carbon and Graphite
  • biggraphite.drivers.* implements the storage backends (eg: Cassandra-specific code)

Disclaimer

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.