AI database · Development preview

One database.Built for AI agents.

KeyLoad is one database for AI agents: documents, typed tables, graphs, blobs, queues, events, vectors/search and time series connect through canonical entity references. SQL is the familiar shared language. We're building it to keep an agent's context and work together.

SQL · MCP · .NET SDK

Conceptual Orleans-powered database for an AI agent: tables and SQL, graphs, time series, vectors, events, queues, files and documents connected to one database.
  • Documents
  • Tables
  • Graphs
  • Vectors
  • Queues
  • Events
  • Blobs
  • Time series
  • SQL
Static illustration.
  • MCP server built in
  • SQL shared language
  • Orleans runs the cluster
  • Grain per connection
Every model. One connected database.Built for the whole agent workflow. Explore Orleans ↗

Why an AI database

Agents shouldn't need a dozen databases.

At Managed Code, we kept hitting the same problem. Each new agent capability meant another system to run, another client to learn and another set of data to keep in sync.

Sound familiar?

It starts with vectors.

  1. VectorsFind similar context
  2. SQLBut we need real records
  3. Hybrid searchAnd exact words, too
  4. GraphsWhat relates to what?
  5. EventsRemember what happened
  6. FilesRead that PDF
  7. QueuesDo something next
  8. Time seriesTrack what changes

Every requirement makes sense. Together, they become a stack of databases just to build one agent.

Our answer

Keep the whole job together.

  • One reference Any record can point to any other through canonical entity references.
  • One permission check Keys and policies live in the database, so an agent gets exactly what you grant.
  • One atomic write A document, its event, a graph edge and the next task in the same partition commit together.
  • One way in SQL, the built-in MCP server and the .NET SDK reach the same operations.

Why we think this is the future

Less plumbing, more agent.

A support agent needs the ticket, the customer, similar cases, an attached file and a follow-up task. KeyLoad keeps them in one database: connected models, canonical entity references, SQL as the shared language and MCP built in.

Data that works together

Connected data. One request.

Tables, collections and queues organize one database. An agent can follow entity references across models and write the result through the same persisted permissions.

  1. Queue to knowledge graph

    Read ready messages, resolve their linked entities and write knowledge-graph relationships inside the database.

  2. Graph to queued actions

    Follow visible relationships to enqueue actions carrying canonical entity references.

  3. One authorized atomic command

    Every source and target must live in the same atomic partition and transaction domain, so the whole command succeeds or rolls back together. Reading a queue into the graph does not lease or ACK its messages. ManagedCode.Storage owns physical files; ZoneTree stores authorized metadata and object references. File integration remains incomplete.

SQLOne bound command envelope
EXEC keyload_documents_commit @arguments;
SDKThe same atomic CommandRequest
var command = new CommandRequest(commandId, partition,
[
    new QueueToGraph("knowledge", "inbox", "fact-"),
    new GraphToQueueMutation("actions", "knowledge",
        start, "action-")
]);
(await client.CommitAsync(command)).ThrowIfFail();

The current composition API runs through SQL EXEC, the .NET SDK and the official MCP server. KeyLoad is a development preview: full declarative SQL, the SQL-client protocol and cross-partition composition are still in development, and production guarantees remain under qualification.

Database composition contract · Composition architecture

Anatomy of one agent call

Two ways in. One atomic commit.

The MCP server and the .NET SDK reach the same engine, the same persisted permissions and the same transaction rule.

  1. The agent calls a tool

    An MCP tool call or SDK command arrives with a credential the database verifies against its own stored policy.

  2. The connection grain takes it

    Each connected client has its own Orleans grain. It calls the partition grains and ZoneTree on this node or on other nodes.

  3. The partition commits atomically

    The document, its event and the follow-up job are written together, or none of them are.

  4. Copies on several nodes

    Orleans carries the write to the ZoneTree of each replica node. Every configured copy persists it before the call returns.

MCPAgent · SQL read over MCP
tool  keyload_query_execute
input { "request": {
  "partition": { "tenantId": "acme", "databaseId": "shop",
                 "transactionDomainId": "order-processing",
                 "partitionKey": "customer-42" },
  "sql": "SELECT TOP 20 id, status FROM orders WHERE number = 1"
} }
SDKService · .NET, one atomic command
var command = new CommandRequest(commandId, partition,
[
    new PutDocument("orders", "order-1", orderJson, ExpectedRevision: 0),
    new AppendEvents("events", "order-1",
        [new("event-1", "OrderCreated", eventJson)],
        ExpectedStreamRevision.NoStream),
    new EnqueueMessage("jobs", "message-1", jobJson)
]);
(await client.CommitAsync(command)).ThrowIfFail();

Agent memory, without the glue code

Every shape of agent data. One engine.

Each model serves the same linked entities. Their contracts define how an agent reads, combines and writes data within one database.

Built on .NET 10 and Orleans

A grain per connection. Parallel operations.

Orleans runs the whole cluster: membership, placement, migration and the calls between nodes. Each connection gets one grain that runs bounded parallel operations with fresh authorization. Grains reach ZoneTree on their own node or on other nodes, gather the results and return them. Every node keeps its own ZoneTree files and write-ahead log; grains may move, files stay.

Cluster routing contract
  1. CallersMCP server.NET SDKSQL
  2. Connection grainOne Orleans grain per connection, with bounded parallel operations
  3. Partition grainsOrleans moves partition grain activations; each silo keeps its files
  4. ZoneTree on every nodeNode AZoneTree · WALapply gateNode BZoneTree · WALapply gateNode CZoneTree · WALapply gate

Why .NET, Orleans and ZoneTree

One runtime. No glue in between.

The database, its cluster and its storage run in one .NET process per node. Orleans moves the routing; ZoneTree keeps the data in place.

Benchmarks

Every data type.
Same data, same cases.

Each data type has one shared scenario and dataset. KeyLoad runs every type against the specialist databases for that type, each in its own GitHub Actions job on one or three nodes.

10data types compared
16databases measured
51.3Moperations timed
44benchmark jobs

1 node3 nodes

All types

1,000,000 records · 100,000 operations per case, at most 15 minutes each · 16 clients. Operations per second (records for loads): top line 1 node, lower line 3 nodes with the change against 1 node.

Each database appears once. Write includes data loading and publishing; Read includes queries and receiving. Rates use completed operations divided by measured seconds. Queue write/read rates include the full publish/receive/ACK cycle. Case counts show coverage; type tabs retain the original cases.

Sorted by Load, fastest first (1 node). Select a column to sort. Swipe or scroll horizontally to see all columns.

Database
TimescaleDBSingle node1 node360.8k1 case1 node360.8k1 case1 node5,9003 cases1 node5,1422 cases——
ClickHouseSingle node1 node310.3k1 case1 node310.3k1 case1 node4842 cases1 node4842 cases——
MySQLSingle node1 node207.7k1 case1 node36.2k2 cases1 node6,7572 cases1 node6,2511 case1 node4,2841 case1 node4,8481 case
PostgreSQL + pgvector1 node135.9k2 cases3 nodes101.8k−25% vs 1 node2 cases1 node69.5k3 cases3 nodes51.7k−26% vs 1 node3 cases1 node2283 cases3 nodes229+1% vs 1 node3 cases1 node1212 cases3 nodes1220% vs 1 node2 cases1 node6,4151 case3 nodes6,665+4% vs 1 node1 case1 node7,5061 case3 nodes8,062+7% vs 1 node1 case
SQL ServerSingle node1 node126.5k1 case1 node39.5k2 cases1 node6,5702 cases1 node6,2221 case1 node5,1561 case1 node5,5641 case
Redis1 node87.4k1 case3 nodes35k−60% vs 1 node1 case1 node55.7k2 cases3 nodes24k−57% vs 1 node2 cases1 node18k1 case3 nodes26.5k+47% vs 1 node1 case—1 node14.2k1 case3 nodes7,679−46% vs 1 node1 case1 node12.6k1 case3 nodes12.5k−1% vs 1 node1 case
MongoDB1 node72.1k1 case3 nodes25.3k−65% vs 1 node1 case1 node55k2 cases3 nodes13.3k−76% vs 1 node2 cases1 node19k2 cases3 nodes5,997−69% vs 1 node2 cases1 node16.7k1 case3 nodes5,278−68% vs 1 node1 case1 node18.2k1 case3 nodes2,687−85% vs 1 node1 case1 node16.4k1 case3 nodes3,365−79% vs 1 node1 case
Qdrant1 node54.9k1 case3 nodes29.4k−47% vs 1 node1 case1 node54.9k1 case3 nodes29.4k−47% vs 1 node1 case1 node82.221 case3 nodes33.96−59% vs 1 node1 case1 node82.221 case3 nodes33.96−59% vs 1 node1 case——
SurrealDBSingle node1 node45.3k2 cases1 node33.6k3 cases1 node1,9264 cases1 node1,1102 cases1 node5,9451 case1 node10.5k1 case
Neo4jSingle node1 node42.2k1 case1 node42.2k1 case1 node2,5372 cases1 node2,7401 case——
OpenSearch1 node40.2k1 case3 nodes17.7k−56% vs 1 node1 case1 node40.2k1 case3 nodes17.7k−56% vs 1 node1 case1 node2,0672 cases3 nodes1,837−11% vs 1 node2 cases1 node2,0672 cases3 nodes1,837−11% vs 1 node2 cases——
KurrentDB1 node21k1 case3 nodes12.2k−42% vs 1 node1 case1 node16.6k2 cases3 nodes9,097−45% vs 1 node2 cases1 node5,6351 case3 nodes4,902−13% vs 1 node1 case——1 node5,2601 case3 nodes2,996−43% vs 1 node1 case
InfluxDBSingle node1 node16.1k1 case1 node16.1k1 case1 node2653 cases1 node2292 cases——
KeyLoad1 node8,7369 cases3 nodes4,4528 cases1 node4,22114 casesIncludes queue cycle3 nodes2,59712 casesIncludes queue cycle1 nodeFailed4 of 17 cases failed: Relational / Range select: InvalidOperationException: KeyLoad SELECT id FROM orders WHERE id BETWEEN @from AND @to ORDER BY id: 422 UnsupportedCapability UnsupportedCapability The query requires an index or explicit full-scan permission.3 nodesFailed3 of 16 cases failed: Relational / Range select: InvalidOperationException: KeyLoad SELECT id FROM orders WHERE id BETWEEN @from AND @to ORDER BY id: 422 UnsupportedCapability UnsupportedCapability The query requires an index or explicit full-scan permission.1 nodeFailed4 of 10 cases failed: Relational / Range select: InvalidOperationException: KeyLoad SELECT id FROM orders WHERE id BETWEEN @from AND @to ORDER BY id: 422 UnsupportedCapability UnsupportedCapability The query requires an index or explicit full-scan permission.3 nodesFailed3 of 10 cases failed: Relational / Range select: InvalidOperationException: KeyLoad SELECT id FROM orders WHERE id BETWEEN @from AND @to ORDER BY id: 422 UnsupportedCapability UnsupportedCapability The query requires an index or explicit full-scan permission.1 node1,3613 cases3 nodes515−62% vs 1 node3 cases1 nodeFailed1 of 5 cases failed: Relational / Mixed: InvalidOperationException: KeyLoad SELECT id FROM orders WHERE id BETWEEN @from AND @to ORDER BY id: 422 UnsupportedCapability UnsupportedCapability The query requires an index or explicit full-scan permission.3 nodesFailed1 of 4 cases failed: Relational / Mixed: InvalidOperationException: KeyLoad SELECT id FROM orders WHERE id BETWEEN @from AND @to ORDER BY id: 422 UnsupportedCapability UnsupportedCapability The query requires an index or explicit full-scan permission.
HelixDBSingle node1 node1,1291 case1 node1,1291 case1 node3582 cases1 node2061 case——
RabbitMQ—1 node5,8971 caseFull queue cycle3 nodes1,393−76% vs 1 node1 caseFull queue cycle1 node5,8971 caseFull queue cycle3 nodes1,393−76% vs 1 node1 caseFull queue cycle——1 node5,8971 case3 nodes1,393−76% vs 1 node1 case
All recorded values
Every recorded case per job; data type shown beside the database
DatabaseNodesCaseStatusPlannedOperationsErrorsSecondsops/sp50 msp95 msp99 msPer callErrorImageRun
KeyLoadDocuments1LoadPassed1,000,0001,000,0000109.7439,112.16388.24605.133,060.03256ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadDocuments1Point readPassed100,000100,000037.3062,680.575.3710.7917.211ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadDocuments1Range queryPassed100,000100,000043.9742,274.096.6811.1314.571ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadDocuments1UpdatePassed100,000100,000068.0521,469.4610.1616.2127.141ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadDocuments1DeletePassed100,000100,000078.1691,279.299.6821.0842.011ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadDocuments1MixedPassed100,000100,000042.7212,340.774.3717.0221.611ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadDocuments3LoadPassed1,000,0001,000,0000214.0524,671.75677.881,754.335,692.34256ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadDocuments3Point readPassed100,000100,000095.5861,046.188.2130.27164.911ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadDocuments3Range queryPassed100,000100,000062.4031,602.499.317.5423.581ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadDocuments3UpdatePassed100,000100,0000153.899649.7821.4938.1353.431ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadDocuments3DeletePassed100,000100,0000192.265520.1220.2669.7265.561ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadDocuments3MixedPassed100,000100,000086.0841,161.667.8530.658.071ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
MongoDBDocuments1LoadPassed1,000,0001,000,000013.87972,052.7252.16101.2147.46256docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41355501995
MongoDBDocuments1Point readPassed100,000100,00004.52822,086.110.641.472.161docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41355501995
MongoDBDocuments1Range queryPassed100,000100,00005.97516,735.990.871.782.481docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41355501995
MongoDBDocuments1UpdatePassed100,000100,00006.12116,338.50.861.962.841docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41355501995
MongoDBDocuments1DeletePassed100,000100,00005.50418,169.140.771.762.751docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41355501995
MongoDBDocuments1MixedPassed100,000100,00006.11216,362.020.851.993.031docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41355501995
MongoDBDocuments3LoadPassed1,000,0001,000,000039.47325,333.64145.24284.36347.42256docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41355501995
MongoDBDocuments3Point readPassed100,000100,000014.46,944.362.064.346.271docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41355501995
MongoDBDocuments3Range queryPassed100,000100,000018.9475,277.772.85.347.391docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41355501995
MongoDBDocuments3UpdatePassed100,000100,000043.0922,320.66.6110.5113.181docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41355501995
MongoDBDocuments3DeletePassed100,000100,000037.2222,686.595.778.8110.841docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41355501995
MongoDBDocuments3MixedPassed100,000100,000029.723,364.793.9610.1114.311docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41355501995
SurrealDBDocuments1LoadPassed1,000,0001,000,000020.00249,994.4457.2125.27605.16256docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41355501995
SurrealDBDocuments1Point readPassed100,000100,00007.81412,797.761.162.33.351docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41355501995
SurrealDBDocuments1Range queryPassed100,000100,000011.5878,630.031.783.023.881docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41355501995
SurrealDBDocuments1UpdatePassed100,000100,000019.225,202.831.716.867.81docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41355501995
SurrealDBDocuments1DeletePassed100,000100,000016.8225,944.581.887.017.721docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41355501995
SurrealDBDocuments1MixedPassed100,000100,00009.55110,469.631.412.723.781docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41355501995
KeyLoadKey-value1LoadPassed1,000,0001,000,000089.30711,197.35323.67512.471,147.51256ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadKey-value1GetPassed100,000100,000037.0962,695.695.3310.817.21ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadKey-value1SetPassed100,000100,000069.5821,437.1610.3816.2927.291ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadKey-value1DeletePassed100,000100,000076.8181,301.7810.0622.0541.571ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadKey-value1MixedPassed100,000100,000044.6192,241.184.516.9322.851ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadKey-value3LoadPassed1,000,0001,000,0000216.9594,609.17605.621,061.519,960.58256ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadKey-value3GetPassed100,000100,000079.141,263.587.1323.59118.761ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadKey-value3SetPassed100,000100,0000175.094571.1217.3248.66187.251ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadKey-value3DeletePassed100,000100,0000247.998403.2316.1662.51592.921ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadKey-value3MixedPassed100,000100,000065.5941,524.545.7923.8983.021ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
RedisKey-value1LoadPassed1,000,0001,000,000011.44487,384.7344.3565.8990.1256docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41355501995
RedisKey-value1GetPassed100,000100,00005.55318,008.570.81.692.631docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41355501995
RedisKey-value1SetPassed100,000100,00008.3112,034.261.271.862.721docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41355501995
RedisKey-value1DeletePassed100,000100,00007.06414,156.751.091.571.981docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41355501995
RedisKey-value1MixedPassed100,000100,00007.92312,622.251.241.932.471docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41355501995
RedisKey-value3LoadPassed1,000,0001,000,000028.58734,981.1186.65143.38174.06256docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41355501995
RedisKey-value3GetPassed100,000100,00003.77326,500.910.521.191.981docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41355501995
RedisKey-value3SetPassed100,000100,000017.3015,780.032.54.627.861docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41355501995
RedisKey-value3DeletePassed100,000100,000013.0227,679.051.942.593.21docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41355501995
RedisKey-value3MixedPassed100,000100,00008.01112,482.7912.563.111docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41355501995
KeyLoadRelational1LoadPassed1,000,0001,000,0000126.2597,920.2592.15153.04288.3350ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadRelational1Primary-key selectPassed100,000100,000042.1812,370.766.3410.915.091ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadRelational1Range selectFailed100,000100,000100,00056.38400001InvalidOperationException: KeyLoad SELECT id FROM orders WHERE id BETWEEN @from AND @to ORDER BY id: 422 UnsupportedCapability UnsupportedCapability The query requires an index or explicit full-scan permission.ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadRelational1UpdatePassed100,000100,000093.3481,071.2614.5520.8227.121ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadRelational1DeletePassed100,000100,000065.5121,526.439.2715.1226.111ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadRelational1MixedFailed100,000100,00010,00056.8331,583.595.8323.5528.261InvalidOperationException: KeyLoad SELECT id FROM orders WHERE id BETWEEN @from AND @to ORDER BY id: 422 UnsupportedCapability UnsupportedCapability The query requires an index or explicit full-scan permission.ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadRelational3LoadPassed1,000,0001,000,0000237.5664,209.35171.04303.8630.7250ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadRelational3Primary-key selectPassed100,000100,000065.2131,533.439.6119.3826.381ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadRelational3Range selectFailed100,000100,000100,00084.03500001InvalidOperationException: KeyLoad SELECT id FROM orders WHERE id BETWEEN @from AND @to ORDER BY id: 422 UnsupportedCapability UnsupportedCapability The query requires an index or explicit full-scan permission.ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadRelational3UpdatePassed100,000100,0000192.569519.2929.7842.6353.791ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadRelational3DeletePassed100,000100,0000141.809705.1719.5332.7366.741ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadRelational3MixedFailed100,000100,00010,000105.503853.0610.843.9753.631InvalidOperationException: KeyLoad SELECT id FROM orders WHERE id BETWEEN @from AND @to ORDER BY id: 422 UnsupportedCapability UnsupportedCapability The query requires an index or explicit full-scan permission.ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
PostgreSQL + pgvectorRelational1LoadPassed1,000,0001,000,00004.055246,588.6659.07112.46144.841,000docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorRelational1Primary-key selectPassed100,000100,000012.2088,191.361.823.344.451docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorRelational1Range selectPassed100,000100,000013.2357,555.722.033.414.261docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorRelational1UpdatePassed100,000100,000015.4956,453.832.413.774.731docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorRelational1DeletePassed100,000100,000015.5896,414.742.43.934.981docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorRelational1MixedPassed100,000100,000013.3227,506.41.943.954.981docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorRelational3LoadPassed1,000,0001,000,00006.548152,726.4249.68313.78559.021,000docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorRelational3Primary-key selectPassed100,000100,00008.17812,2281.232.172.931docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorRelational3Range selectPassed100,000100,00009.40510,632.321.442.433.051docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorRelational3UpdatePassed100,000100,000020.974,768.72.424.1420.731docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorRelational3DeletePassed100,000100,000015.0036,665.422.253.445.891docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorRelational3MixedPassed100,000100,000012.4038,062.291.583.865.511docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
SQL ServerRelational1LoadPassed1,000,0001,000,00007.905126,509.2295.36177.63976.221,000mcr.microsoft.com/mssql/server:2025-latest@sha256:245f6b1c8903edae52cb20fa31419cefcde1a49938bb8c3447099011fc871ca3Run 41355501995
SQL ServerRelational1Primary-key selectPassed100,000100,000014.3676,960.592.23.634.561mcr.microsoft.com/mssql/server:2025-latest@sha256:245f6b1c8903edae52cb20fa31419cefcde1a49938bb8c3447099011fc871ca3Run 41355501995
SQL ServerRelational1Range selectPassed100,000100,000016.0736,221.592.464.135.131mcr.microsoft.com/mssql/server:2025-latest@sha256:245f6b1c8903edae52cb20fa31419cefcde1a49938bb8c3447099011fc871ca3Run 41355501995
SQL ServerRelational1UpdatePassed100,000100,000019.9615,009.892.994.956.051mcr.microsoft.com/mssql/server:2025-latest@sha256:245f6b1c8903edae52cb20fa31419cefcde1a49938bb8c3447099011fc871ca3Run 41355501995
SQL ServerRelational1DeletePassed100,000100,000019.3965,155.832.944.775.891mcr.microsoft.com/mssql/server:2025-latest@sha256:245f6b1c8903edae52cb20fa31419cefcde1a49938bb8c3447099011fc871ca3Run 41355501995
SQL ServerRelational1MixedPassed100,000100,000017.9715,564.392.067.5910.281mcr.microsoft.com/mssql/server:2025-latest@sha256:245f6b1c8903edae52cb20fa31419cefcde1a49938bb8c3447099011fc871ca3Run 41355501995
MySQLRelational1LoadPassed1,000,0001,000,00004.814207,723.0566.29163.26250.971,000docker.io/mysql:8.4@sha256:76f0358884cb92d9a086d24e5671c38048d3fef40f2588703d73eb55392d6b69Run 41355501995
MySQLRelational1Primary-key selectPassed100,000100,000013.6047,350.62.073.334.31docker.io/mysql:8.4@sha256:76f0358884cb92d9a086d24e5671c38048d3fef40f2588703d73eb55392d6b69Run 41355501995
MySQLRelational1Range selectPassed100,000100,000015.9976,251.342.414.065.421docker.io/mysql:8.4@sha256:76f0358884cb92d9a086d24e5671c38048d3fef40f2588703d73eb55392d6b69Run 41355501995
MySQLRelational1UpdatePassed100,000100,000025.6153,904.023.486.4311.451docker.io/mysql:8.4@sha256:76f0358884cb92d9a086d24e5671c38048d3fef40f2588703d73eb55392d6b69Run 41355501995
MySQLRelational1DeletePassed100,000100,000023.3424,284.23.266.2711.341docker.io/mysql:8.4@sha256:76f0358884cb92d9a086d24e5671c38048d3fef40f2588703d73eb55392d6b69Run 41355501995
MySQLRelational1MixedPassed100,000100,000020.6274,848.042.437.2719.51docker.io/mysql:8.4@sha256:76f0358884cb92d9a086d24e5671c38048d3fef40f2588703d73eb55392d6b69Run 41355501995
KeyLoadGraph1LoadPassed1,100,0001,100,0000259.1344,244.91401.661,016.171,303.07256ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadGraph1NeighborsPassed100,000100,000048.3172,069.657.1713.2817.931ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadGraph1TraversePassed100,000100,0000193.188517.6328.9745.7760.21ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadGraph3LoadPassed1,100,0001,100,0000469.5692,342.58797.771,872.862,033.08256ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadGraph3NeighborsPassed100,000100,000069.991,428.7810.3119.1525.631ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadGraph3TraversePassed100,000100,0000248.941401.738.5667.2480.391ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
Neo4jGraph1LoadPassed1,100,0001,100,000026.08242,175.16126.46534.631,385.35256docker.io/library/neo4j:2026.09.0@sha256:91fb0bf237c41b7b3dcbe84703aa0b82e0d7d067b16e1c8ab21f03fc679edf4eRun 41355501995
Neo4jGraph1NeighborsPassed100,000100,000042.3322,362.276.0712.8816.831docker.io/library/neo4j:2026.09.0@sha256:91fb0bf237c41b7b3dcbe84703aa0b82e0d7d067b16e1c8ab21f03fc679edf4eRun 41355501995
Neo4jGraph1TraversePassed100,000100,000036.5032,739.525.499.9113.221docker.io/library/neo4j:2026.09.0@sha256:91fb0bf237c41b7b3dcbe84703aa0b82e0d7d067b16e1c8ab21f03fc679edf4eRun 41355501995
HelixDBGraph1LoadPassed1,100,0001,100,0000974.4431,128.851,515.822,222.632,231.33256ghcr.io/helixdb/helixdb:v0.0.10@sha256:1bd2b9f91fe63190a4cb2c7058e680eef635e9fa9df67a4fcfcc210d3fe1f68aRun 41355501995
HelixDBGraph1NeighborsPassed100,000100,000072.2491,384.110.8916.2919.21ghcr.io/helixdb/helixdb:v0.0.10@sha256:1bd2b9f91fe63190a4cb2c7058e680eef635e9fa9df67a4fcfcc210d3fe1f68aRun 41355501995
HelixDBGraph1TraversePassed100,000100,0000486.049205.7476.26126.79146.841ghcr.io/helixdb/helixdb:v0.0.10@sha256:1bd2b9f91fe63190a4cb2c7058e680eef635e9fa9df67a4fcfcc210d3fe1f68aRun 41355501995
SurrealDBGraph1LoadPassed1,100,0001,100,000026.31541,801.4141.7968.3477.44256docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41355501995
SurrealDBGraph1NeighborsPassed100,000100,000019.6385,092.153.045.216.481docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41355501995
SurrealDBGraph1TraversePassed100,000100,0000168.618593.0526.9137.1141.91docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41355501995
KeyLoadVector1LoadPassed1,000,0001,000,0000138.4477,222.98184.1306.221,185.95100ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadVector1Exact top 10Failed100,0003882923.6180.4237,773.5354,187.363,645.621InvalidOperationException: KeyLoad NearestAsync: 503 OwnershipLost OwnershipLost The Orleans request could not complete.ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadVector3LoadPassed1,000,0001,000,0000333.3622,999.74466.16980.521,965.09100ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadVector3Exact top 10Passed100,0002650927.2510.2952,462.0772,301.9777,190.371ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
QdrantVector1LoadPassed1,000,0001,000,000018.20954,918.8925.3338.19148.47100docker.io/qdrant/qdrant:v1.17.1@sha256:94728574965d17c6485dd361aa3c0818b325b9016dac5ea6afec7b4b2700865fRun 41355501995
QdrantVector1Exact top 10Passed100,00074,0120900.12782.22183.8279.46307.931docker.io/qdrant/qdrant:v1.17.1@sha256:94728574965d17c6485dd361aa3c0818b325b9016dac5ea6afec7b4b2700865fRun 41355501995
QdrantVector3LoadPassed1,000,0001,000,000034.05829,361.450.7877.36115.4100docker.io/qdrant/qdrant:v1.17.1@sha256:94728574965d17c6485dd361aa3c0818b325b9016dac5ea6afec7b4b2700865fRun 41355501995
QdrantVector3Exact top 10Passed100,00030,5750900.3533.96453.27609.12678.391docker.io/qdrant/qdrant:v1.17.1@sha256:94728574965d17c6485dd361aa3c0818b325b9016dac5ea6afec7b4b2700865fRun 41355501995
PostgreSQL + pgvectorVector1LoadPassed1,000,0001,000,000010.66593,765.5614.9234.246.4100docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorVector1Exact top 10Passed100,00010,7290900.70711.911,138.591,972.022,060.661docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorVector3LoadPassed1,000,0001,000,000013.09876,350.318.4339.773.57100docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorVector3Exact top 10Passed100,00010,5850900.73511.751,138.971,995.632,091.071docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
KeyLoadSearch1LoadPassed1,000,0001,000,000073.57713,591.28105.01200.27352.84100ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadSearch1Index buildFailed111120.09200001InvalidOperationException: KeyLoad BuildIndexAsync: 503 OwnershipLost OwnershipLost The Orleans request could not complete.ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadSearch1Term queryFailed100,000128128967.95100001InvalidOperationException: KeyLoad SearchAsync: 503 OwnershipLost OwnershipLost The Orleans request could not complete.ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadSearch1AND queryFailed100,000128128967.99400001InvalidOperationException: KeyLoad SearchAsync: 503 OwnershipLost OwnershipLost The Orleans request could not complete.ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadSearch3LoadPassed1,000,0001,000,0000145.646,866.24164.59490.871,436.07100ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadSearch3Index buildFailed111120.63600001InvalidOperationException: KeyLoad BuildIndexAsync: 503 OwnershipLost OwnershipLost The Orleans request could not complete.ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadSearch3Term queryFailed100,000128128966.05800001InvalidOperationException: KeyLoad SearchAsync: 503 OwnershipLost OwnershipLost The Orleans request could not complete.ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadSearch3AND queryFailed100,000128128966.94800001InvalidOperationException: KeyLoad SearchAsync: 503 OwnershipLost OwnershipLost The Orleans request could not complete.ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
OpenSearchSearch1LoadPassed1,000,0001,000,000024.8640,225.7431.1392.14168.73100opensearchproject/opensearch:3.6.0@sha256:b5dd1512af2a99748c942cfbbd7f32162623336b210667d0fc6333c6321f171dRun 41355501995
OpenSearchSearch1Index buildPassed1100.4462.24446.04446.04446.041opensearchproject/opensearch:3.6.0@sha256:b5dd1512af2a99748c942cfbbd7f32162623336b210667d0fc6333c6321f171dRun 41355501995
OpenSearchSearch1Term queryPassed100,000100,000048.2612,072.066.6915.6522.861opensearchproject/opensearch:3.6.0@sha256:b5dd1512af2a99748c942cfbbd7f32162623336b210667d0fc6333c6321f171dRun 41355501995
OpenSearchSearch1AND queryPassed100,000100,000048.5192,061.057.0814.0418.771opensearchproject/opensearch:3.6.0@sha256:b5dd1512af2a99748c942cfbbd7f32162623336b210667d0fc6333c6321f171dRun 41355501995
OpenSearchSearch3LoadPassed1,000,0001,000,000056.47717,706.4556.73236.9499.24100opensearchproject/opensearch:3.6.0@sha256:b5dd1512af2a99748c942cfbbd7f32162623336b210667d0fc6333c6321f171dRun 41355501995
OpenSearchSearch3Index buildPassed1101.2080.831,207.51,207.51,207.51opensearchproject/opensearch:3.6.0@sha256:b5dd1512af2a99748c942cfbbd7f32162623336b210667d0fc6333c6321f171dRun 41355501995
OpenSearchSearch3Term queryPassed100,000100,000064.0941,560.217.6225.4943.651opensearchproject/opensearch:3.6.0@sha256:b5dd1512af2a99748c942cfbbd7f32162623336b210667d0fc6333c6321f171dRun 41355501995
OpenSearchSearch3AND queryPassed100,000100,000044.7782,233.266.4313.920.921opensearchproject/opensearch:3.6.0@sha256:b5dd1512af2a99748c942cfbbd7f32162623336b210667d0fc6333c6321f171dRun 41355501995
KeyLoadTime series1LoadPassed1,000,0001,000,000033.57429,784.99456.87962.611,762.481,000ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadTime series1Range readPassed100,000100,000038.6672,586.215.7310.6114.91ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadTime series1AggregatePassed100,000100,000063.9791,563.029.7215.6421.781ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadTime series1WindowsPassed100,000100,000094.4421,058.8514.3522.5731.391ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadTime series3LoadPassed1,000,0001,000,000073.46813,611.44982.312,599.13,914.341,000ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadTime series3Range readPassed100,000100,000075.1831,330.0911.0122.8933.771ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadTime series3AggregatePassed100,000100,0000115.789863.6417.3932.5340.891ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadTime series3WindowsPassed100,000100,0000157.916633.2524.0842.2551.511ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
TimescaleDBTime series1LoadPassed1,000,0001,000,00002.771360,837.2628.5111.71123.741,000docker.io/timescale/timescaledb:2.30.2-pg18@sha256:e72689191e1c977892c53d6f2c344dbc4a9657a867dc8cc1899229f9d3672b2eRun 41355501995
TimescaleDBTime series1Range readPassed100,000100,000011.9538,366.381.783.514.91docker.io/timescale/timescaledb:2.30.2-pg18@sha256:e72689191e1c977892c53d6f2c344dbc4a9657a867dc8cc1899229f9d3672b2eRun 41355501995
TimescaleDBTime series1AggregatePassed100,000100,000016.4646,073.692.494.796.61docker.io/timescale/timescaledb:2.30.2-pg18@sha256:e72689191e1c977892c53d6f2c344dbc4a9657a867dc8cc1899229f9d3672b2eRun 41355501995
TimescaleDBTime series1WindowsPassed100,000100,000022.4354,457.423.436.428.411docker.io/timescale/timescaledb:2.30.2-pg18@sha256:e72689191e1c977892c53d6f2c344dbc4a9657a867dc8cc1899229f9d3672b2eRun 41355501995
InfluxDBTime series1LoadPassed1,000,0001,000,000062.15316,089.431,000.491,003.561,005.341,000docker.io/influxdb:3.12-core@sha256:1c8200f75657c7586678b52570f8c78aedfa2cd42e59c238a733423aab6bd406Run 41355501995
InfluxDBTime series1Range readPassed100,000100,0000257.314388.6340.3459.6369.721docker.io/influxdb:3.12-core@sha256:1c8200f75657c7586678b52570f8c78aedfa2cd42e59c238a733423aab6bd406Run 41355501995
InfluxDBTime series1AggregatePassed100,000100,0000405.795246.4364.4290.77104.031docker.io/influxdb:3.12-core@sha256:1c8200f75657c7586678b52570f8c78aedfa2cd42e59c238a733423aab6bd406Run 41355501995
InfluxDBTime series1WindowsPassed100,000100,0000469.096213.1874.77106.89122.111docker.io/influxdb:3.12-core@sha256:1c8200f75657c7586678b52570f8c78aedfa2cd42e59c238a733423aab6bd406Run 41355501995
KeyLoadAnalytics1LoadPassed1,000,0001,000,000059.47416,814.04845.871,738.713,306.61,000ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadAnalytics1Group byPassed100,0006100920.3870.6623,986.8935,073.2840,541.121ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadAnalytics1Filtered aggregatePassed100,0006020906.4560.6624,145.429,221.6940,185.411ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadAnalytics3LoadPassed1,000,0001,000,0000128.9947,752.281,878.452,815.146,563.981,000ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadAnalytics3Group byPassed100,0005630913.1620.6225,537.7943,611.2249,114.11ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadAnalytics3Filtered aggregatePassed100,0005630914.4780.6219,234.1652,639.4654,636.431ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
ClickHouseAnalytics1LoadPassed1,000,0001,000,00003.223310,312.9449.9370.9181.621,000docker.io/clickhouse/clickhouse-server:26.9@sha256:19bfacb135479a892551a8155cfbbc8211aedf2aa888cd91950b9ee7e76cc7e3Run 41355501995
ClickHouseAnalytics1Group byPassed100,000100,0000206.088485.2331.5654.4668.751docker.io/clickhouse/clickhouse-server:26.9@sha256:19bfacb135479a892551a8155cfbbc8211aedf2aa888cd91950b9ee7e76cc7e3Run 41355501995
ClickHouseAnalytics1Filtered aggregatePassed100,000100,0000207.248482.5132.0153.867.441docker.io/clickhouse/clickhouse-server:26.9@sha256:19bfacb135479a892551a8155cfbbc8211aedf2aa888cd91950b9ee7e76cc7e3Run 41355501995
KeyLoadQueue1Publish, receive, ACKPassed100,00021,2630900.70723.61638.921,360.451,435.561ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadQueue3Publish, receive, ACKPassed100,00018,7500900.97120.81767.851,459.331,537.181ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
RabbitMQQueue1Publish, receive, ACKPassed100,000100,000016.9575,897.392.63.645.31docker.io/library/rabbitmq:4.2.4-management@sha256:aeee1db0ff9fdb1347f3585242c14ed10877b56c22eeaa113b21208ef3dd3edfRun 41355501995
RabbitMQQueue3Publish, receive, ACKPassed100,000100,000071.7691,393.3511.314.7117.111docker.io/library/rabbitmq:4.2.4-management@sha256:aeee1db0ff9fdb1347f3585242c14ed10877b56c22eeaa113b21208ef3dd3edfRun 41355501995
KeyLoadEvents1LoadPassed1,000,0001,000,0000152.1726,571.5135.63365.634,620.36100ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadEvents1AppendPassed100,000100,000082.1741,216.937.3217.86211.371ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadEvents1ReadPassed100,000100,000034.4222,905.14.799.1413.61ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadEvents1MixedPassed100,000100,000081.551,226.246.1720.59250.871ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KurrentDBEvents1LoadPassed1,000,0001,000,000047.71520,957.9857.75181.9256.02100docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41355501995
KurrentDBEvents1AppendPassed100,000100,000018.3755,442.152.724.556.041docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41355501995
KurrentDBEvents1ReadPassed100,000100,000017.7475,634.722.614.385.851docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41355501995
KurrentDBEvents1MixedPassed100,000100,000019.0125,259.732.845.266.561docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41355501995
KurrentDBEvents3LoadPassed1,000,0001,000,000082.29712,151.11110.23256.78451.12100docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41355501995
KurrentDBEvents3AppendPassed100,000100,000038.6222,589.185.569.6614.911docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41355501995
KurrentDBEvents3ReadPassed100,000100,000020.44,901.952.985.427.531docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41355501995
KurrentDBEvents3MixedPassed100,000100,000033.3782,995.975.19.7513.061docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41355501995

Documents

1,000,000 records · 100,000 operations per case, at most 15 minutes each · 16 clients. Operations per second (records for loads): top line 1 node, lower line 3 nodes with the change against 1 node.

Sorted by Load, fastest first (1 node). Select a column to sort. Swipe or scroll horizontally to see all columns.

Database
MongoDB1 node72.1k3 nodes25.3k−65% vs 1 node1 node22.1k3 nodes6,944−69% vs 1 node1 node16.7k3 nodes5,278−68% vs 1 node1 node16.3k3 nodes2,321−86% vs 1 node1 node18.2k3 nodes2,687−85% vs 1 node1 node16.4k3 nodes3,365−79% vs 1 node
SurrealDBSingle node1 node50k1 node12.8k1 node8,6301 node5,2031 node5,9451 node10.5k
KeyLoad1 node9,1123 nodes4,672−49% vs 1 node1 node2,6813 nodes1,046−61% vs 1 node1 node2,2743 nodes1,602−30% vs 1 node1 node1,4693 nodes650−56% vs 1 node1 node1,2793 nodes520−59% vs 1 node1 node2,3413 nodes1,162−50% vs 1 node
All recorded values
Every recorded case per job; data type shown beside the database
DatabaseNodesCaseStatusPlannedOperationsErrorsSecondsops/sp50 msp95 msp99 msPer callErrorImageRun
KeyLoadDocuments1LoadPassed1,000,0001,000,0000109.7439,112.16388.24605.133,060.03256ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadDocuments1Point readPassed100,000100,000037.3062,680.575.3710.7917.211ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadDocuments1Range queryPassed100,000100,000043.9742,274.096.6811.1314.571ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadDocuments1UpdatePassed100,000100,000068.0521,469.4610.1616.2127.141ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadDocuments1DeletePassed100,000100,000078.1691,279.299.6821.0842.011ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadDocuments1MixedPassed100,000100,000042.7212,340.774.3717.0221.611ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadDocuments3LoadPassed1,000,0001,000,0000214.0524,671.75677.881,754.335,692.34256ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadDocuments3Point readPassed100,000100,000095.5861,046.188.2130.27164.911ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadDocuments3Range queryPassed100,000100,000062.4031,602.499.317.5423.581ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadDocuments3UpdatePassed100,000100,0000153.899649.7821.4938.1353.431ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadDocuments3DeletePassed100,000100,0000192.265520.1220.2669.7265.561ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadDocuments3MixedPassed100,000100,000086.0841,161.667.8530.658.071ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
MongoDBDocuments1LoadPassed1,000,0001,000,000013.87972,052.7252.16101.2147.46256docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41355501995
MongoDBDocuments1Point readPassed100,000100,00004.52822,086.110.641.472.161docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41355501995
MongoDBDocuments1Range queryPassed100,000100,00005.97516,735.990.871.782.481docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41355501995
MongoDBDocuments1UpdatePassed100,000100,00006.12116,338.50.861.962.841docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41355501995
MongoDBDocuments1DeletePassed100,000100,00005.50418,169.140.771.762.751docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41355501995
MongoDBDocuments1MixedPassed100,000100,00006.11216,362.020.851.993.031docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41355501995
MongoDBDocuments3LoadPassed1,000,0001,000,000039.47325,333.64145.24284.36347.42256docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41355501995
MongoDBDocuments3Point readPassed100,000100,000014.46,944.362.064.346.271docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41355501995
MongoDBDocuments3Range queryPassed100,000100,000018.9475,277.772.85.347.391docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41355501995
MongoDBDocuments3UpdatePassed100,000100,000043.0922,320.66.6110.5113.181docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41355501995
MongoDBDocuments3DeletePassed100,000100,000037.2222,686.595.778.8110.841docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41355501995
MongoDBDocuments3MixedPassed100,000100,000029.723,364.793.9610.1114.311docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41355501995
SurrealDBDocuments1LoadPassed1,000,0001,000,000020.00249,994.4457.2125.27605.16256docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41355501995
SurrealDBDocuments1Point readPassed100,000100,00007.81412,797.761.162.33.351docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41355501995
SurrealDBDocuments1Range queryPassed100,000100,000011.5878,630.031.783.023.881docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41355501995
SurrealDBDocuments1UpdatePassed100,000100,000019.225,202.831.716.867.81docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41355501995
SurrealDBDocuments1DeletePassed100,000100,000016.8225,944.581.887.017.721docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41355501995
SurrealDBDocuments1MixedPassed100,000100,00009.55110,469.631.412.723.781docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41355501995

Key-value

1,000,000 records · 100,000 operations per case, at most 15 minutes each · 16 clients. Operations per second (records for loads): top line 1 node, lower line 3 nodes with the change against 1 node.

Sorted by Load, fastest first (1 node). Select a column to sort. Swipe or scroll horizontally to see all columns.

Database
Redis1 node87.4k3 nodes35k−60% vs 1 node1 node18k3 nodes26.5k+47% vs 1 node1 node12k3 nodes5,780−52% vs 1 node1 node14.2k3 nodes7,679−46% vs 1 node1 node12.6k3 nodes12.5k−1% vs 1 node
KeyLoad1 node11.2k3 nodes4,609−59% vs 1 node1 node2,6963 nodes1,264−53% vs 1 node1 node1,4373 nodes571−60% vs 1 node1 node1,3023 nodes403−69% vs 1 node1 node2,2413 nodes1,525−32% vs 1 node
All recorded values
Every recorded case per job; data type shown beside the database
DatabaseNodesCaseStatusPlannedOperationsErrorsSecondsops/sp50 msp95 msp99 msPer callErrorImageRun
KeyLoadKey-value1LoadPassed1,000,0001,000,000089.30711,197.35323.67512.471,147.51256ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadKey-value1GetPassed100,000100,000037.0962,695.695.3310.817.21ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadKey-value1SetPassed100,000100,000069.5821,437.1610.3816.2927.291ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadKey-value1DeletePassed100,000100,000076.8181,301.7810.0622.0541.571ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadKey-value1MixedPassed100,000100,000044.6192,241.184.516.9322.851ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadKey-value3LoadPassed1,000,0001,000,0000216.9594,609.17605.621,061.519,960.58256ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadKey-value3GetPassed100,000100,000079.141,263.587.1323.59118.761ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadKey-value3SetPassed100,000100,0000175.094571.1217.3248.66187.251ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadKey-value3DeletePassed100,000100,0000247.998403.2316.1662.51592.921ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadKey-value3MixedPassed100,000100,000065.5941,524.545.7923.8983.021ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
RedisKey-value1LoadPassed1,000,0001,000,000011.44487,384.7344.3565.8990.1256docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41355501995
RedisKey-value1GetPassed100,000100,00005.55318,008.570.81.692.631docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41355501995
RedisKey-value1SetPassed100,000100,00008.3112,034.261.271.862.721docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41355501995
RedisKey-value1DeletePassed100,000100,00007.06414,156.751.091.571.981docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41355501995
RedisKey-value1MixedPassed100,000100,00007.92312,622.251.241.932.471docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41355501995
RedisKey-value3LoadPassed1,000,0001,000,000028.58734,981.1186.65143.38174.06256docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41355501995
RedisKey-value3GetPassed100,000100,00003.77326,500.910.521.191.981docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41355501995
RedisKey-value3SetPassed100,000100,000017.3015,780.032.54.627.861docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41355501995
RedisKey-value3DeletePassed100,000100,000013.0227,679.051.942.593.21docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41355501995
RedisKey-value3MixedPassed100,000100,00008.01112,482.7912.563.111docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41355501995

Relational

1,000,000 records · 100,000 operations per case, at most 15 minutes each · 16 clients. Operations per second (records for loads): top line 1 node, lower line 3 nodes with the change against 1 node.

Sorted by Load, fastest first (1 node). Select a column to sort. Swipe or scroll horizontally to see all columns.

Database
PostgreSQL + pgvector1 node246.6k3 nodes152.7k−38% vs 1 node1 node8,1913 nodes12.2k+49% vs 1 node1 node7,5563 nodes10.6k+41% vs 1 node1 node6,4543 nodes4,769−26% vs 1 node1 node6,4153 nodes6,665+4% vs 1 node1 node7,5063 nodes8,062+7% vs 1 node
MySQLSingle node1 node207.7k1 node7,3511 node6,2511 node3,9041 node4,2841 node4,848
SQL ServerSingle node1 node126.5k1 node6,9611 node6,2221 node5,0101 node5,1561 node5,564
KeyLoad1 node7,9203 nodes4,209−47% vs 1 node1 node2,3713 nodes1,533−35% vs 1 node1 nodeFailedInvalidOperationException: KeyLoad SELECT id FROM orders WHERE id BETWEEN @from AND @to O…3 nodesFailed1 node1,0713 nodes519−52% vs 1 node1 node1,5263 nodes705−54% vs 1 node1 nodeFailedInvalidOperationException: KeyLoad SELECT id FROM orders WHERE id BETWEEN @from AND @to O…3 nodesFailed
All recorded values
Every recorded case per job; data type shown beside the database
DatabaseNodesCaseStatusPlannedOperationsErrorsSecondsops/sp50 msp95 msp99 msPer callErrorImageRun
KeyLoadRelational1LoadPassed1,000,0001,000,0000126.2597,920.2592.15153.04288.3350ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadRelational1Primary-key selectPassed100,000100,000042.1812,370.766.3410.915.091ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadRelational1Range selectFailed100,000100,000100,00056.38400001InvalidOperationException: KeyLoad SELECT id FROM orders WHERE id BETWEEN @from AND @to ORDER BY id: 422 UnsupportedCapability UnsupportedCapability The query requires an index or explicit full-scan permission.ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadRelational1UpdatePassed100,000100,000093.3481,071.2614.5520.8227.121ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadRelational1DeletePassed100,000100,000065.5121,526.439.2715.1226.111ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadRelational1MixedFailed100,000100,00010,00056.8331,583.595.8323.5528.261InvalidOperationException: KeyLoad SELECT id FROM orders WHERE id BETWEEN @from AND @to ORDER BY id: 422 UnsupportedCapability UnsupportedCapability The query requires an index or explicit full-scan permission.ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadRelational3LoadPassed1,000,0001,000,0000237.5664,209.35171.04303.8630.7250ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadRelational3Primary-key selectPassed100,000100,000065.2131,533.439.6119.3826.381ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadRelational3Range selectFailed100,000100,000100,00084.03500001InvalidOperationException: KeyLoad SELECT id FROM orders WHERE id BETWEEN @from AND @to ORDER BY id: 422 UnsupportedCapability UnsupportedCapability The query requires an index or explicit full-scan permission.ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadRelational3UpdatePassed100,000100,0000192.569519.2929.7842.6353.791ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadRelational3DeletePassed100,000100,0000141.809705.1719.5332.7366.741ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadRelational3MixedFailed100,000100,00010,000105.503853.0610.843.9753.631InvalidOperationException: KeyLoad SELECT id FROM orders WHERE id BETWEEN @from AND @to ORDER BY id: 422 UnsupportedCapability UnsupportedCapability The query requires an index or explicit full-scan permission.ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
PostgreSQL + pgvectorRelational1LoadPassed1,000,0001,000,00004.055246,588.6659.07112.46144.841,000docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorRelational1Primary-key selectPassed100,000100,000012.2088,191.361.823.344.451docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorRelational1Range selectPassed100,000100,000013.2357,555.722.033.414.261docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorRelational1UpdatePassed100,000100,000015.4956,453.832.413.774.731docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorRelational1DeletePassed100,000100,000015.5896,414.742.43.934.981docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorRelational1MixedPassed100,000100,000013.3227,506.41.943.954.981docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorRelational3LoadPassed1,000,0001,000,00006.548152,726.4249.68313.78559.021,000docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorRelational3Primary-key selectPassed100,000100,00008.17812,2281.232.172.931docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorRelational3Range selectPassed100,000100,00009.40510,632.321.442.433.051docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorRelational3UpdatePassed100,000100,000020.974,768.72.424.1420.731docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorRelational3DeletePassed100,000100,000015.0036,665.422.253.445.891docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorRelational3MixedPassed100,000100,000012.4038,062.291.583.865.511docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
SQL ServerRelational1LoadPassed1,000,0001,000,00007.905126,509.2295.36177.63976.221,000mcr.microsoft.com/mssql/server:2025-latest@sha256:245f6b1c8903edae52cb20fa31419cefcde1a49938bb8c3447099011fc871ca3Run 41355501995
SQL ServerRelational1Primary-key selectPassed100,000100,000014.3676,960.592.23.634.561mcr.microsoft.com/mssql/server:2025-latest@sha256:245f6b1c8903edae52cb20fa31419cefcde1a49938bb8c3447099011fc871ca3Run 41355501995
SQL ServerRelational1Range selectPassed100,000100,000016.0736,221.592.464.135.131mcr.microsoft.com/mssql/server:2025-latest@sha256:245f6b1c8903edae52cb20fa31419cefcde1a49938bb8c3447099011fc871ca3Run 41355501995
SQL ServerRelational1UpdatePassed100,000100,000019.9615,009.892.994.956.051mcr.microsoft.com/mssql/server:2025-latest@sha256:245f6b1c8903edae52cb20fa31419cefcde1a49938bb8c3447099011fc871ca3Run 41355501995
SQL ServerRelational1DeletePassed100,000100,000019.3965,155.832.944.775.891mcr.microsoft.com/mssql/server:2025-latest@sha256:245f6b1c8903edae52cb20fa31419cefcde1a49938bb8c3447099011fc871ca3Run 41355501995
SQL ServerRelational1MixedPassed100,000100,000017.9715,564.392.067.5910.281mcr.microsoft.com/mssql/server:2025-latest@sha256:245f6b1c8903edae52cb20fa31419cefcde1a49938bb8c3447099011fc871ca3Run 41355501995
MySQLRelational1LoadPassed1,000,0001,000,00004.814207,723.0566.29163.26250.971,000docker.io/mysql:8.4@sha256:76f0358884cb92d9a086d24e5671c38048d3fef40f2588703d73eb55392d6b69Run 41355501995
MySQLRelational1Primary-key selectPassed100,000100,000013.6047,350.62.073.334.31docker.io/mysql:8.4@sha256:76f0358884cb92d9a086d24e5671c38048d3fef40f2588703d73eb55392d6b69Run 41355501995
MySQLRelational1Range selectPassed100,000100,000015.9976,251.342.414.065.421docker.io/mysql:8.4@sha256:76f0358884cb92d9a086d24e5671c38048d3fef40f2588703d73eb55392d6b69Run 41355501995
MySQLRelational1UpdatePassed100,000100,000025.6153,904.023.486.4311.451docker.io/mysql:8.4@sha256:76f0358884cb92d9a086d24e5671c38048d3fef40f2588703d73eb55392d6b69Run 41355501995
MySQLRelational1DeletePassed100,000100,000023.3424,284.23.266.2711.341docker.io/mysql:8.4@sha256:76f0358884cb92d9a086d24e5671c38048d3fef40f2588703d73eb55392d6b69Run 41355501995
MySQLRelational1MixedPassed100,000100,000020.6274,848.042.437.2719.51docker.io/mysql:8.4@sha256:76f0358884cb92d9a086d24e5671c38048d3fef40f2588703d73eb55392d6b69Run 41355501995

Graph

1,000,000 records · 100,000 operations per case, at most 15 minutes each · 16 clients. Operations per second (records for loads): top line 1 node, lower line 3 nodes with the change against 1 node.

Sorted by Load, fastest first (1 node). Select a column to sort. Swipe or scroll horizontally to see all columns.

Database
Neo4jSingle node1 node42.2k1 node2,3621 node2,740
SurrealDBSingle node1 node41.8k1 node5,0921 node593
KeyLoad1 node4,2453 nodes2,343−45% vs 1 node1 node2,0703 nodes1,429−31% vs 1 node1 node5183 nodes402−22% vs 1 node
HelixDBSingle node1 node1,1291 node1,3841 node206
All recorded values
Every recorded case per job; data type shown beside the database
DatabaseNodesCaseStatusPlannedOperationsErrorsSecondsops/sp50 msp95 msp99 msPer callErrorImageRun
KeyLoadGraph1LoadPassed1,100,0001,100,0000259.1344,244.91401.661,016.171,303.07256ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadGraph1NeighborsPassed100,000100,000048.3172,069.657.1713.2817.931ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadGraph1TraversePassed100,000100,0000193.188517.6328.9745.7760.21ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadGraph3LoadPassed1,100,0001,100,0000469.5692,342.58797.771,872.862,033.08256ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadGraph3NeighborsPassed100,000100,000069.991,428.7810.3119.1525.631ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadGraph3TraversePassed100,000100,0000248.941401.738.5667.2480.391ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
Neo4jGraph1LoadPassed1,100,0001,100,000026.08242,175.16126.46534.631,385.35256docker.io/library/neo4j:2026.09.0@sha256:91fb0bf237c41b7b3dcbe84703aa0b82e0d7d067b16e1c8ab21f03fc679edf4eRun 41355501995
Neo4jGraph1NeighborsPassed100,000100,000042.3322,362.276.0712.8816.831docker.io/library/neo4j:2026.09.0@sha256:91fb0bf237c41b7b3dcbe84703aa0b82e0d7d067b16e1c8ab21f03fc679edf4eRun 41355501995
Neo4jGraph1TraversePassed100,000100,000036.5032,739.525.499.9113.221docker.io/library/neo4j:2026.09.0@sha256:91fb0bf237c41b7b3dcbe84703aa0b82e0d7d067b16e1c8ab21f03fc679edf4eRun 41355501995
HelixDBGraph1LoadPassed1,100,0001,100,0000974.4431,128.851,515.822,222.632,231.33256ghcr.io/helixdb/helixdb:v0.0.10@sha256:1bd2b9f91fe63190a4cb2c7058e680eef635e9fa9df67a4fcfcc210d3fe1f68aRun 41355501995
HelixDBGraph1NeighborsPassed100,000100,000072.2491,384.110.8916.2919.21ghcr.io/helixdb/helixdb:v0.0.10@sha256:1bd2b9f91fe63190a4cb2c7058e680eef635e9fa9df67a4fcfcc210d3fe1f68aRun 41355501995
HelixDBGraph1TraversePassed100,000100,0000486.049205.7476.26126.79146.841ghcr.io/helixdb/helixdb:v0.0.10@sha256:1bd2b9f91fe63190a4cb2c7058e680eef635e9fa9df67a4fcfcc210d3fe1f68aRun 41355501995
SurrealDBGraph1LoadPassed1,100,0001,100,000026.31541,801.4141.7968.3477.44256docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41355501995
SurrealDBGraph1NeighborsPassed100,000100,000019.6385,092.153.045.216.481docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41355501995
SurrealDBGraph1TraversePassed100,000100,0000168.618593.0526.9137.1141.91docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41355501995

Vector

1,000,000 records · 100,000 operations per case, at most 15 minutes each · 16 clients. Operations per second (records for loads): top line 1 node, lower line 3 nodes with the change against 1 node.

Sorted by Load, fastest first (1 node). Select a column to sort. Swipe or scroll horizontally to see all columns.

Database
PostgreSQL + pgvector1 node93.8k3 nodes76.4k−19% vs 1 node1 node11.9110.7k of 100k3 nodes11.75−1% vs 1 node10.6k of 100k
Qdrant1 node54.9k3 nodes29.4k−47% vs 1 node1 node82.2274k of 100k3 nodes33.96−59% vs 1 node30.6k of 100k
KeyLoad1 node7,2233 nodes3,000−58% vs 1 node1 nodeFailedInvalidOperationException: KeyLoad NearestAsync: 503 OwnershipLost OwnershipLost The Orle…3 nodes0.29265 of 100k
All recorded values
Every recorded case per job; data type shown beside the database
DatabaseNodesCaseStatusPlannedOperationsErrorsSecondsops/sp50 msp95 msp99 msPer callErrorImageRun
KeyLoadVector1LoadPassed1,000,0001,000,0000138.4477,222.98184.1306.221,185.95100ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadVector1Exact top 10Failed100,0003882923.6180.4237,773.5354,187.363,645.621InvalidOperationException: KeyLoad NearestAsync: 503 OwnershipLost OwnershipLost The Orleans request could not complete.ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadVector3LoadPassed1,000,0001,000,0000333.3622,999.74466.16980.521,965.09100ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadVector3Exact top 10Passed100,0002650927.2510.2952,462.0772,301.9777,190.371ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
QdrantVector1LoadPassed1,000,0001,000,000018.20954,918.8925.3338.19148.47100docker.io/qdrant/qdrant:v1.17.1@sha256:94728574965d17c6485dd361aa3c0818b325b9016dac5ea6afec7b4b2700865fRun 41355501995
QdrantVector1Exact top 10Passed100,00074,0120900.12782.22183.8279.46307.931docker.io/qdrant/qdrant:v1.17.1@sha256:94728574965d17c6485dd361aa3c0818b325b9016dac5ea6afec7b4b2700865fRun 41355501995
QdrantVector3LoadPassed1,000,0001,000,000034.05829,361.450.7877.36115.4100docker.io/qdrant/qdrant:v1.17.1@sha256:94728574965d17c6485dd361aa3c0818b325b9016dac5ea6afec7b4b2700865fRun 41355501995
QdrantVector3Exact top 10Passed100,00030,5750900.3533.96453.27609.12678.391docker.io/qdrant/qdrant:v1.17.1@sha256:94728574965d17c6485dd361aa3c0818b325b9016dac5ea6afec7b4b2700865fRun 41355501995
PostgreSQL + pgvectorVector1LoadPassed1,000,0001,000,000010.66593,765.5614.9234.246.4100docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorVector1Exact top 10Passed100,00010,7290900.70711.911,138.591,972.022,060.661docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorVector3LoadPassed1,000,0001,000,000013.09876,350.318.4339.773.57100docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995
PostgreSQL + pgvectorVector3Exact top 10Passed100,00010,5850900.73511.751,138.971,995.632,091.071docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41355501995

Time series

1,000,000 records · 100,000 operations per case, at most 15 minutes each · 16 clients. Operations per second (records for loads): top line 1 node, lower line 3 nodes with the change against 1 node.

Sorted by Load, fastest first (1 node). Select a column to sort. Swipe or scroll horizontally to see all columns.

Database
TimescaleDBSingle node1 node360.8k1 node8,3661 node6,0741 node4,457
KeyLoad1 node29.8k3 nodes13.6k−54% vs 1 node1 node2,5863 nodes1,330−49% vs 1 node1 node1,5633 nodes864−45% vs 1 node1 node1,0593 nodes633−40% vs 1 node
InfluxDBSingle node1 node16.1k1 node3891 node2461 node213
All recorded values
Every recorded case per job; data type shown beside the database
DatabaseNodesCaseStatusPlannedOperationsErrorsSecondsops/sp50 msp95 msp99 msPer callErrorImageRun
KeyLoadTime series1LoadPassed1,000,0001,000,000033.57429,784.99456.87962.611,762.481,000ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadTime series1Range readPassed100,000100,000038.6672,586.215.7310.6114.91ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadTime series1AggregatePassed100,000100,000063.9791,563.029.7215.6421.781ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadTime series1WindowsPassed100,000100,000094.4421,058.8514.3522.5731.391ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadTime series3LoadPassed1,000,0001,000,000073.46813,611.44982.312,599.13,914.341,000ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadTime series3Range readPassed100,000100,000075.1831,330.0911.0122.8933.771ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadTime series3AggregatePassed100,000100,0000115.789863.6417.3932.5340.891ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadTime series3WindowsPassed100,000100,0000157.916633.2524.0842.2551.511ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
TimescaleDBTime series1LoadPassed1,000,0001,000,00002.771360,837.2628.5111.71123.741,000docker.io/timescale/timescaledb:2.30.2-pg18@sha256:e72689191e1c977892c53d6f2c344dbc4a9657a867dc8cc1899229f9d3672b2eRun 41355501995
TimescaleDBTime series1Range readPassed100,000100,000011.9538,366.381.783.514.91docker.io/timescale/timescaledb:2.30.2-pg18@sha256:e72689191e1c977892c53d6f2c344dbc4a9657a867dc8cc1899229f9d3672b2eRun 41355501995
TimescaleDBTime series1AggregatePassed100,000100,000016.4646,073.692.494.796.61docker.io/timescale/timescaledb:2.30.2-pg18@sha256:e72689191e1c977892c53d6f2c344dbc4a9657a867dc8cc1899229f9d3672b2eRun 41355501995
TimescaleDBTime series1WindowsPassed100,000100,000022.4354,457.423.436.428.411docker.io/timescale/timescaledb:2.30.2-pg18@sha256:e72689191e1c977892c53d6f2c344dbc4a9657a867dc8cc1899229f9d3672b2eRun 41355501995
InfluxDBTime series1LoadPassed1,000,0001,000,000062.15316,089.431,000.491,003.561,005.341,000docker.io/influxdb:3.12-core@sha256:1c8200f75657c7586678b52570f8c78aedfa2cd42e59c238a733423aab6bd406Run 41355501995
InfluxDBTime series1Range readPassed100,000100,0000257.314388.6340.3459.6369.721docker.io/influxdb:3.12-core@sha256:1c8200f75657c7586678b52570f8c78aedfa2cd42e59c238a733423aab6bd406Run 41355501995
InfluxDBTime series1AggregatePassed100,000100,0000405.795246.4364.4290.77104.031docker.io/influxdb:3.12-core@sha256:1c8200f75657c7586678b52570f8c78aedfa2cd42e59c238a733423aab6bd406Run 41355501995
InfluxDBTime series1WindowsPassed100,000100,0000469.096213.1874.77106.89122.111docker.io/influxdb:3.12-core@sha256:1c8200f75657c7586678b52570f8c78aedfa2cd42e59c238a733423aab6bd406Run 41355501995

Analytics

1,000,000 records · 100,000 operations per case, at most 15 minutes each · 16 clients. Operations per second (records for loads): top line 1 node, lower line 3 nodes with the change against 1 node.

Sorted by Load, fastest first (1 node). Select a column to sort. Swipe or scroll horizontally to see all columns.

Database
ClickHouseSingle node1 node310.3k1 node4851 node483
KeyLoad1 node16.8k3 nodes7,752−54% vs 1 node1 node0.66610 of 100k3 nodes0.62−7% vs 1 node563 of 100k1 node0.66602 of 100k3 nodes0.62−7% vs 1 node563 of 100k
All recorded values
Every recorded case per job; data type shown beside the database
DatabaseNodesCaseStatusPlannedOperationsErrorsSecondsops/sp50 msp95 msp99 msPer callErrorImageRun
KeyLoadAnalytics1LoadPassed1,000,0001,000,000059.47416,814.04845.871,738.713,306.61,000ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadAnalytics1Group byPassed100,0006100920.3870.6623,986.8935,073.2840,541.121ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadAnalytics1Filtered aggregatePassed100,0006020906.4560.6624,145.429,221.6940,185.411ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadAnalytics3LoadPassed1,000,0001,000,0000128.9947,752.281,878.452,815.146,563.981,000ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadAnalytics3Group byPassed100,0005630913.1620.6225,537.7943,611.2249,114.11ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadAnalytics3Filtered aggregatePassed100,0005630914.4780.6219,234.1652,639.4654,636.431ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
ClickHouseAnalytics1LoadPassed1,000,0001,000,00003.223310,312.9449.9370.9181.621,000docker.io/clickhouse/clickhouse-server:26.9@sha256:19bfacb135479a892551a8155cfbbc8211aedf2aa888cd91950b9ee7e76cc7e3Run 41355501995
ClickHouseAnalytics1Group byPassed100,000100,0000206.088485.2331.5654.4668.751docker.io/clickhouse/clickhouse-server:26.9@sha256:19bfacb135479a892551a8155cfbbc8211aedf2aa888cd91950b9ee7e76cc7e3Run 41355501995
ClickHouseAnalytics1Filtered aggregatePassed100,000100,0000207.248482.5132.0153.867.441docker.io/clickhouse/clickhouse-server:26.9@sha256:19bfacb135479a892551a8155cfbbc8211aedf2aa888cd91950b9ee7e76cc7e3Run 41355501995

Queue

1,000,000 records · 100,000 operations per case, at most 15 minutes each · 16 clients. Operations per second (records for loads): top line 1 node, lower line 3 nodes with the change against 1 node.

Sorted by Publish, receive, ACK, fastest first (1 node). Select a column to sort. Swipe or scroll horizontally to see all columns.

Database
RabbitMQ1 node5,8973 nodes1,393−76% vs 1 node
KeyLoad1 node23.6121.3k of 100k3 nodes20.81−12% vs 1 node18.8k of 100k
All recorded values
Every recorded case per job; data type shown beside the database
DatabaseNodesCaseStatusPlannedOperationsErrorsSecondsops/sp50 msp95 msp99 msPer callErrorImageRun
KeyLoadQueue1Publish, receive, ACKPassed100,00021,2630900.70723.61638.921,360.451,435.561ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadQueue3Publish, receive, ACKPassed100,00018,7500900.97120.81767.851,459.331,537.181ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
RabbitMQQueue1Publish, receive, ACKPassed100,000100,000016.9575,897.392.63.645.31docker.io/library/rabbitmq:4.2.4-management@sha256:aeee1db0ff9fdb1347f3585242c14ed10877b56c22eeaa113b21208ef3dd3edfRun 41355501995
RabbitMQQueue3Publish, receive, ACKPassed100,000100,000071.7691,393.3511.314.7117.111docker.io/library/rabbitmq:4.2.4-management@sha256:aeee1db0ff9fdb1347f3585242c14ed10877b56c22eeaa113b21208ef3dd3edfRun 41355501995

Events

1,000,000 records · 100,000 operations per case, at most 15 minutes each · 16 clients. Operations per second (records for loads): top line 1 node, lower line 3 nodes with the change against 1 node.

Sorted by Load, fastest first (1 node). Select a column to sort. Swipe or scroll horizontally to see all columns.

Database
KurrentDB1 node21k3 nodes12.2k−42% vs 1 node1 node5,4423 nodes2,589−52% vs 1 node1 node5,6353 nodes4,902−13% vs 1 node1 node5,2603 nodes2,996−43% vs 1 node
KeyLoadSingle node1 node6,5711 node1,2171 node2,9051 node1,226
All recorded values
Every recorded case per job; data type shown beside the database
DatabaseNodesCaseStatusPlannedOperationsErrorsSecondsops/sp50 msp95 msp99 msPer callErrorImageRun
KeyLoadEvents1LoadPassed1,000,0001,000,0000152.1726,571.5135.63365.634,620.36100ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadEvents1AppendPassed100,000100,000082.1741,216.937.3217.86211.371ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadEvents1ReadPassed100,000100,000034.4222,905.14.799.1413.61ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KeyLoadEvents1MixedPassed100,000100,000081.551,226.246.1720.59250.871ghcr.io/managedcode/keyload:latest@sha256:12961427997bec0a890433f3831a8a840c4d78cc11ed03803df397e9460767a0Run 41355501995
KurrentDBEvents1LoadPassed1,000,0001,000,000047.71520,957.9857.75181.9256.02100docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41355501995
KurrentDBEvents1AppendPassed100,000100,000018.3755,442.152.724.556.041docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41355501995
KurrentDBEvents1ReadPassed100,000100,000017.7475,634.722.614.385.851docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41355501995
KurrentDBEvents1MixedPassed100,000100,000019.0125,259.732.845.266.561docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41355501995
KurrentDBEvents3LoadPassed1,000,0001,000,000082.29712,151.11110.23256.78451.12100docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41355501995
KurrentDBEvents3AppendPassed100,000100,000038.6222,589.185.569.6614.911docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41355501995
KurrentDBEvents3ReadPassed100,000100,000020.44,901.952.985.427.531docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41355501995
KurrentDBEvents3MixedPassed100,000100,000033.3782,995.975.19.7513.061docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41355501995

Qualification status

Built in public.
Progress you can inspect.

Source implementation and accepted qualification are separate milestones. The README status shows what is ready and what remains.

Ready to inspect

  • Source code and architecture decisions
  • Benchmark methodology and seeded inputs
  • One result file per job with source commit and image
  • The GitHub Actions run behind every published figure

Qualification still open

  • Production readiness
  • Power-loss durability; process-kill tests do not prove it
  • Endurance and overload behavior
  • A performance winner

Methodology

How we measure.

Read the benchmark methodology
  1. Shared datasets

    Each data type has one standard dataset and scenario. KeyLoad and the specialist databases for that type load the same records and run the same cases with the same number of clients.

  2. One job per cell

    Every database, data type and node count runs in its own GitHub Actions job. The job starts the database through Aspire, then its clients call the real service.

  3. Every outcome recorded

    Each job uploads its result file even when it fails. A failed case is shown as failed with its error, never as a number, and a missing topology is shown as single node.

Source available, reproducible inputs

Inspect the code. Run the suite.

GitHub Actions starts the KeyLoad cluster and comparison engines in Docker through Aspire.

gh workflow run benchmarks.yml --repo managedcode/KeyLoad --ref main

Built on great work

We didn't build
this alone.

Thank you to the people behind these projects. Your work lets us spend more time building the database we wanted.

KeyLoad is source available under the Elastic License 2.0. Built by Managed Code.