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;
}