BTrDB: Berkeley Tree Database


The Berkeley Tree DataBase provides very fast storage of scalar-valued timeseries data. It:

  • Stores data with nanosecond-precision timestamps.
  • Boasts 16.7 million writes per second and 19.8 million reads per second on a single Intel Xeon E5-2680v2 based cloud server with 60GB of RAM (EC2 c3.8xlarge).
  • Accelerates computation of associative statistics over arbitrary time ranges, using precomputed statistics over power-of-two-aligned time ranges.
  • Delivers 2.93x compression*, including the precomputed statistical records.
  • Provides copy-on-write semantics, with versioning and efficient changeset calculation.
  • Supports Distillate Streams—streams computed from one or more existing streams—that are efficiently recomputed as data changes or arrives out-of-order.
  • Scales linearly in the number of nodes.
  • Integrates with Apache Spark.
* Compression ratio measured on synchrophasor data.