Official developer documentation for eeCLOUD. This reference describes the full public API, execution model and data structures used by the engine.
eeCLOUD is a memory-oriented cloud data engine designed to store, retrieve and manipulate time-ordered data efficiently. Instead of exposing raw SQL queries, eeCLOUD provides a deterministic API based on memory snapshots and ordered reads.
An Application is the main isolation unit in eeCLOUD. Each application has its own configuration, database scope, cache and API key.
A Memory is a logical container of time-ordered data. It can be compared to a stream, a collection or an append-only log.
A MemoryArea represents a single data entry stored inside a Memory. Read and write operations may return one or multiple MemoryArea objects.
Many operations accept an Order parameter that controls how records are selected when multiple matches exist.
| Value | Description |
|---|---|
| DESC (default) | Returns the most recent record (last inserted) |
| ASC | Returns the oldest record (first inserted) |
When an operation is logically single-record, the order parameter determines which record is returned.
| Field | Type | Description |
|---|---|---|
| date | DateTime | Response generation time (UTC) |
| name | string | Memory name |
| time | long | Execution time in milliseconds |
| area | List<MemoryArea> | Returned memory areas |
| result | bool | Operation success flag |
| errors | string[] | Error messages, if any |
| Field | Type | Description |
|---|---|---|
| address | long | Primary index value |
| id | string | Record identifier |
| index | string | Secondary index value (unique) |
| reference | long | Numeric reference value |
| date | DateTime | Logical record date |
| data | string | JSON serialized payload |
| create | DateTime | Creation timestamp |
| modify | DateTime | Last modification timestamp |
| deleted | bool | Soft delete flag |
| delete | DateTime | Deletion timestamp |
The Application class is the main entry point of eeCLOUD.
var app = new Application(config, cache);
| Parameter | Description |
|---|---|
| config | Database and application configuration |
| cache | Optional cache provider (IeeCACHE) |
Write operations append data to a Memory and immediately persist it to the database. Multiple overloads allow full control over identifiers, indexes, timestamps and references.
await app.WriteData(
"myApp",
"users",
new { name = "John" }
);
The reference parameter is a numeric value used to logically group records. It is commonly used for multi-tenant scenarios, user isolation or session-based data.
await app.WriteData(
"myApp",
"orders",
new { total = 99.90 },
reference: userId
);
Reference-based writes enable highly efficient reads using ReadRefData and
ReadAllData without scanning the entire Memory.
await app.WriteData(
"myApp",
"orders",
new { total = 99.90 },
reference: userId,
clusterized: true
);
eeCLOUD does not expose a traditional ReadById. Read operations are order-aware and return a Memory container.
// Latest record (default)
await app.ReadData("myApp", "users");
// First record
await app.ReadData("myApp", "users", Order.ASC);
ReadAll operations return multiple records and support pagination, ordering and date ranges.
await app.ReadAllData("myApp", "events", Order.ASC, false, 0, 100);Update operations are deterministic and primarily based on the memory address.
await app.UpdateData("myApp", "users", address, newData);eeCLOUD supports soft delete, restore and permanent erase operations.
await app.DeleteData("myApp", "users", address);
await app.RestoreData("myApp", "users", address);
await app.EraseData("myApp", "users", address);Utility operations for monitoring and introspection.
await app.MemoryCount("myApp", "users");
await app.MemorySize("myApp", "users");
await app.MemoryList("myApp");