{
  "slug": "btrdb",
  "term": "BTrDB",
  "aliases": [],
  "definition": "BTrDB is a time-series database that stores versioned time-value streams in a time-partitioned copy-on-write tree with subtree summaries.",
  "note": "The FAST 2016 design stores raw points in leaves and summary statistics in internal nodes. Version annotations let it locate modified time ranges without comparing aggregate values. [btrdb-paper]\n\nPython v5.34.2 documents power-of-two aligned windows, half-open time bounds and omission of empty windows. Its annotation version is separate from the data-stream version. [btrdb-python]\n\nGo bindings v5.17.1 widen changed ranges at coarser resolution. A returned range is not a list of changed samples. Query results must be checked for terminal errors even when some values arrived. [btrdb-go]\n\nIdentical count, minimum, mean and maximum do not establish identical samples or temporal order. The linked synthetic examples demonstrate this limitation without executing BTrDB. [hesela]",
  "status": "research",
  "advantages": [],
  "limitations": [],
  "related": [
    "copy-on-write",
    "snapshot"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-14",
  "citations": [
    {
      "id": "btrdb-paper",
      "title": "Andersen and Culler. BTrDB: Optimizing Storage System Design for Timeseries Processing. FAST 2016, pp. 39-52, sections 3-4 and 6.3.",
      "url": "https://www.usenix.org/system/files/conference/fast16/fast16-papers-andersen.pdf",
      "accessed": "2026-11-14"
    },
    {
      "id": "btrdb-python",
      "title": "BTrDB Python v5.34.2 documentation: aligned_windows and stream annotations.",
      "url": "https://btrdb.readthedocs.io/en/stable/api/streams.html",
      "accessed": "2026-11-14"
    },
    {
      "id": "btrdb-go",
      "title": "BTrDB Go bindings v5.17.1: Changes, LatestVersion and query-channel completion.",
      "url": "https://pkg.go.dev/github.com/BTrDB/btrdb/v5@v5.17.1",
      "accessed": "2026-11-14"
    },
    {
      "id": "hesela",
      "title": "Hesela: time-series rollups, versioned changes and exact synthetic counterexamples.",
      "url": "https://hesela.com/analyses/time-series-rollups-versioned-changes/",
      "accessed": "2026-11-14"
    }
  ],
  "provenance": [
    "The 2016 research design and later client documentation are separate versions.",
    "Source review and synthetic arithmetic only; no BTrDB server, crash test or performance reproduction."
  ]
}
