Elastic Database
A hierarchical object database with built-in DSL
The Elastic Database stores objects directly with automatic schema management derived from class definitions.
Key Features
- Object-Oriented Storage - Store class instances directly in the database
- Hierarchical Structure - Collections contain objects with nested subcollections
- Automatic Schema - Schema derived from class attributes
- Built-in Query DSL - SQL-like embedded language for operations
- Binary Data Support - Store and retrieve binary content
- Transaction Support - ACID-compliant operations
Schema Definition
// Schema defined via class attributes
class attrib(db_col, Users) TUser : public SB_User {
variant attrib(db, d_string) Login;
variant attrib(db, d_string) Email;
variant attrib(db, LIST) Projects; // Subcollection
}
Query DSL
elastic{
SELECT obj: user FROM Users
WHERE Login="admin"
TO &Result;
}
elastic{
INSERT TUser INTO cid:<Cid>
OBJECT &NewUser
OID_OUT &Oid;
}