Overview of current projects
Two projects are public today, both written in Rust and published under the MIT License. They share one engine: glacierdb is built on openglacier-core and does not fork or duplicate it.
openglacier-core
An event-first, schema-less document database engine and capability runtime written in Rust.
openglacier-core is a database engine. It includes its own query language, planner, execution engine, transactional storage abstraction and native persistent storage backend. It does not sit on top of another database.
It provides three closely related pieces:
og-core: the database kernel and execution engine;ogd: a long-lived daemon exposing database and service capabilities;ogcli: a thin interactive and command-line client.
The native persistent storage engine is called Glacier.
Its first stable release, v1.0, code name antaa palaa, means the core architecture is stable enough to build on. It came after an extended period of real-world use and hostile testing: continuous fuzzing, sustained read/write workloads, failure injection, storage corruption and I/O failure testing, crash recovery, backup and restore validation, and a large integration test suite. It runs on modest and older hardware too, from the Raspberry Pi 3 and 4 to the Odroid XU4 and a Fairphone 2: resources are valuable.
Small core, long life.
Repository: github.com/openglacier/core
glacierdb
An event-first, schema-less document database built on the openglacier engine.
glacierdb, aka openglacier-db, is a database distribution built on openglacier-core: a ready-to-run database daemon and CLI with the Glacier persistent storage backend enabled by default. It is designed to be used as a database first, and provides:
- a schema-less document model;
- a declarative, pipeline-oriented query language;
- transactional storage;
- persistent native storage through Glacier;
- authentication and identity support;
- event subscriptions;
- memory governance;
- backup and restore;
- an interactive command-line client;
- an optional terminal UI.
openglacier-core
│
└── database engine and resource runtime
glacierdb, aka openglacier-db
│
└── database distribution and user-facing binaries
Repository: github.com/openglacier/glacierdb · Downloads and the full README: the glacierdb page
The language
Both speak the same query, modeling and view language, described in its own book, The OpenGlacier Modeling Language.