Skip to content

High-Level API

The native high-level API is the C++ typed table layer in akkaradb/AkkaraDB.hpp. It keeps the direct AkkEngine storage model, but lets C++ code work with structs, primary keys, secondary indexes, query expressions, references, joins, and schema hooks.

Use it when you are embedding AkkaraDB Native in a C++ application and want table-like operations without manually building byte keys and byte values. Use the low-level AkkEngine API when you need exact control over the binary key layout, server/protocol integration, or internal engine behavior.

GoalPage
Open a database, define structs, and use typed table operationsHigh-Level API Usage
Understand how typed tables, indexes, refs, joins, and schema hooks map onto AkkEngineHigh-Level API Architecture
Configure the owner object and startup modeAkkaraDB
Use typed CRUD, scans, indexes, hooks, and row idsPackedTable
Write typed C++ query expressions and understand index planningQuery
Model row-id references and typed joinsRef And Join
Register schema hooks and foreign-key actionsSchema And Foreign Keys
Understand value encoding and migration boundariesBinPack And Compatibility
TypeRole
akkaradb::AkkaraDBOwns an engine::AkkEngine instance and opens typed tables.
akkaradb::PackedTable<&T::id>Stores C++ structs by primary key and exposes typed CRUD, scan, query, index, reference, and join helpers.
AKKARADB_ENTITY(Type, PrimaryKey, ...)Registers primary-key metadata and queryable fields for a struct.
AKKARADB_QUERYABLE(Type, ...)Registers fields for the C++ query proxy without declaring reference traits.
akkaradb::Ref<T>Stores a stable row-id based reference to another entity.
akkaradb::AkkaraDB::SchemaRegisters tables and foreign-key style hook behavior.

This layer is still backed by AkkEngine. WAL, memtables, SSTables, blobs, VersionLog, API server, and cluster behavior are controlled by the engine options used when the database is opened.