Comment

Comment by eliomattia

Really interesting, also diff-based, and 3.5 years in development.

On the homepage I read "An in-memory, distributed, and open-source document graph database". Do you know whether the whole database, including all documents, needs to be in memory, and what happens when the datasets exceed available memory space? Or is it perhaps in-memory per document, one-by-one?

Do you have to create diffs manually with terminusdb (CLI example below from https://terminusdb.com/products/terminusdb/), or can they be detected automatically from, e.g., SQL database tables or files in a folder, similarly to Git monitoring a working directory and committing changes based on its contents?

  # Add more philosophers to new branch
  echo '{ "name": "Plato" }' | terminusdb doc insert admin/philosophers/local/branch/changes
  echo '{ "name": "Aristotle" }' | terminusdb doc insert admin/philosophers/local/branch/changes

  # Look at the difference between branches
  terminusdb diff admin/philosophers --before-commit main --after-commit changes | jq

  # Apply the differences to main
  terminusdb apply admin/philosophers --before-commit main --after-commit changes
parent eliomattia 3 years ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton