Skip to content

Latest commit

 

History

History
62 lines (51 loc) · 5.52 KB

README.md

File metadata and controls

62 lines (51 loc) · 5.52 KB

KeyLoad documentation

KeyLoad is one database for AI agents: documents, typed tables, graphs, blobs, queues, events, search and time series live in one database and reference one another. SQL is the shared language for combining them; the .NET SDK and the built-in MCP server reach the same authorized operations.

The cluster is Microsoft Orleans. Orleans does membership, placement, activation migration, communication between silos and scaling, and data is copied to replicas through ordinary Orleans calls. Every silo has its own ZoneTree that owns its files. A public request goes to one Orleans grain per connected client, which calls the ZoneTree owner on its own node or on other nodes, gathers the results and returns them. See ADR-136.

Start with the architecture map. The product specification describes the whole product; the repository rules take precedence.

flowchart LR
    Readme[README and architecture map] --> Feature[Feature spec with REQ and AC]
    Feature --> Adr[ADR with the decision]
    Adr --> Source[Source code]
    Feature --> Tests[TUnit tests]
    Source --> Evidence[GitHub Actions evidence]
    Tests --> Evidence
Loading

Data models

Feature Contract
DatabaseComposition One database: queue → entity → graph and graph → queue derivations through SQL, SDK and MCP
DocumentStorage JSON CRUD, PATCH and CAS, strict scalar and unique indexes, atomic batches and persisted command outcomes
RelationalStorage Typed rows in canonical entity storage with primary key, type, null and unique constraints
EventStreams Expected-revision append, EventId deduplication and ordered replay
Messaging Durable queues, scheduled and leased work, fenced ACK/NACK/renew, inbox, topics and consumer groups
GraphTraversal Atomic edges and adjacency, bounded directed traversal and shortest paths
TimeSeries Samples, bounded ranges, aggregates, retention, rollups and chunks
Search Exact vectors, full-text (ZoneTree.FullTextSearch), ANN and hybrid search under the same authorization
BlobStorage Chunked blobs with partial reads
AnalyticsStore User analytics events on ZoneTree.Analytics
ChangeFeeds Atomic outbox, resumable change feeds and projection checkpoints
QueryExecution T-SQL through ScriptDOM, one authorized query AST, budgets, Explain and cursors

Cluster, callers and platform

Feature Contract
OrleansExecution Orleans does all clustering: one grain per connection, partition grains, calls to the silo-local ZoneTree owner on any node, stateless workers for background work
StorageReplication Copies through Orleans Grain Service calls to ReplicaCount silos found through membership, acknowledgement from every configured copy, catch-up through Orleans
StorageRecovery The silo-local ZoneTree owner: stores, journals, locks, ordered apply, read lifetimes and process recovery
BackupRestore Verified backup of a node's ZoneTree files and clean-target restore
InternalSerialization Generated Orleans serialization and the current internal binary formats
Authorization Persisted credentials and grants, row and field policy, policy epochs
ClientApi .NET SDK, CLI and the official MCP server with on-demand tool discovery
AdminDashboard Read-only admin console
ResourceExecution Bounded work, memory, admission and telemetry
CodeQuality Analyzers, formatting, maintainability limits and functional coverage
TestInfrastructure TUnit with Aspire-owned Docker clusters, real .NET SDK and official MCP clients
BenchmarkComparisons Equal-workload comparisons with other databases; published figures only from GitHub Actions JSON
ReleaseDelivery The Build and Tests, Benchmarks, Website and Release workflows
RepositoryGovernance Repository rules, local ownership and REQ/AC/ADR traceability

Decisions and status

Qualification evidence comes only from GitHub Actions runs and their original artifacts for the exact source. A document review proves no speed, power-loss durability, coverage or production readiness.