Skip to content

Datanotes 3.1.0

Latest

Choose a tag to compare

@davidefornelli davidefornelli released this 14 Oct 19:10
ddb374c

Datanotes 3.1.0 makes the engine fast at scale and adds OpenTelemetry traces. It only adds to 3.0: no operation, argument or setting goes away.

Highlights, measured on a synthetic 50,000-note vault:

  • Faster writes and reads: insert_row takes 37 ms, not 662 ms; select_rows on a small table takes 2.8 ms, not 23 ms. An index of the vault in memory keeps rows, unique values, links and backlinks up to date.
  • A fast restart: an index on disk (<store>/index/vault.sqlite, Node.js's built-in SQLite) lets a restart read only the notes that changed. A restart takes about 2 s, not 40 s.
  • Faster search: search_notes looks words up in the index first. Two words found in 1,213 notes take about 14 ms, not 70 to 83 ms.
  • Writes before reads: a write under four concurrent readers takes about 35 ms, not 147 ms.
  • The whole graph in one call: from_nodes.tables takes "*" in graph_neighbors, graph_traverse and graph_path.
  • OpenTelemetry traces to any OTLP backend: one span per request and per operation, with lock, query and journal phases.
  • A safer store: datanotes store restore checks the clone before it replaces the store. The package also installs the command under the short name dnotes.

One default changes: the transaction log now writes segments. A 3.0 store needs no conversion. Read "Before you downgrade to 3.0" in the notes if you may go back.

Install: npx -y datanotes serve --database ./notes (Node.js 22 or later; on Windows 24.16+ or 26.1+).

Full notes: https://datanotes.dev/release-notes/