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
53.3Moperations timed
45benchmark 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
ClickHouseSingle node1 node459.5k1 case1 node459.5k1 case1 node8802 cases1 node8802 cases——
TimescaleDBSingle node1 node378.6k1 case1 node378.6k1 case1 node6,8653 cases1 node6,0192 cases——
PostgreSQL + pgvector1 node179.5k2 cases3 nodes114.3k−36% vs 1 node2 cases1 node79.7k3 cases3 nodes83k+4% vs 1 node3 cases1 node2303 cases3 nodes231+1% vs 1 node3 cases1 node1242 cases3 nodes122−2% vs 1 node2 cases1 node6,5201 case3 nodes14.5k+122% vs 1 node1 case1 node7,6081 case3 nodes12.9k+69% vs 1 node1 case
MySQLSingle node1 node171.3k1 case1 node26.8k2 cases1 node4,4032 cases1 node4,0961 case1 node2,8821 case1 node3,5941 case
Redis1 node149.3k1 case3 nodes27.6k−82% vs 1 node1 case1 node98.1k2 cases3 nodes18.1k−82% vs 1 node2 cases1 node55k1 case3 nodes18.2k−67% vs 1 node1 case—1 node29.3k1 case3 nodes4,964−83% vs 1 node1 case1 node25.9k1 case3 nodes7,607−71% vs 1 node1 case
SQL ServerSingle node1 node130.4k1 case1 node39.7k2 cases1 node9,1982 cases1 node8,6491 case1 node5,7731 case1 node6,0251 case
Qdrant1 node54.5k1 case3 nodes25.8k−53% vs 1 node1 case1 node54.5k1 case3 nodes25.8k−53% vs 1 node1 case1 node95.891 case3 nodes26.24−73% vs 1 node1 case1 node95.891 case3 nodes26.24−73% vs 1 node1 case——
OpenSearch1 node45.4k1 case3 nodes16.2k−64% vs 1 node1 case1 node45.4k1 case3 nodes16.2k−64% vs 1 node1 case1 node2,1002 cases3 nodes1,405−33% vs 1 node2 cases1 node2,1002 cases3 nodes1,405−33% vs 1 node2 cases——
SurrealDBSingle node1 node45.4k2 cases1 node30.3k3 cases1 node3,3434 cases1 node2,0922 cases1 node3,7871 case1 node5,4601 case
Neo4jSingle node1 node44.1k1 case1 node44.1k1 case1 node2,5622 cases1 node2,7261 case——
MongoDB1 node40.1k1 case3 nodes35.1k−12% vs 1 node1 case1 node26.5k2 cases3 nodes14.3k−46% vs 1 node2 cases1 node6,3652 cases3 nodes8,122+28% vs 1 node2 cases1 node5,5501 case3 nodes7,138+29% vs 1 node1 case1 node7,0581 case3 nodes2,145−70% vs 1 node1 case1 node6,5461 case3 nodes3,606−45% vs 1 node1 case
KurrentDB1 node27k1 case3 nodes22.2k−17% vs 1 node1 case1 node20.9k2 cases3 nodes17.1k−18% vs 1 node2 cases1 node8,0241 case3 nodes11.3k+41% vs 1 node1 case——1 node6,5881 case3 nodes5,536−16% vs 1 node1 case
InfluxDBSingle node1 node16.1k1 case1 node16.1k1 case1 node1463 cases1 node1262 cases——
KeyLoad1 node8,5499 cases3 nodes2,792−67% vs 1 node9 cases1 node5,40714 casesIncludes queue cycle3 nodes1,813−66% vs 1 node14 casesIncludes queue cycle1 node24017 casesIncludes queue cycle3 nodes198−17% vs 1 node17 casesIncludes queue cycle1 node12710 cases3 nodes110−13% vs 1 node10 cases1 node1,7523 cases3 nodes344−80% vs 1 node3 cases1 node8385 cases3 nodes337−60% vs 1 node5 cases
HelixDBSingle node1 node1,4621 case1 node1,4621 case1 node4972 cases1 node2881 case——
RabbitMQ—1 node2,3591 caseFull queue cycle3 nodes1,424−40% vs 1 node1 caseFull queue cycle1 node2,3591 caseFull queue cycle3 nodes1,424−40% vs 1 node1 caseFull queue cycle——1 node2,3591 case3 nodes1,424−40% 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,000075.61813,224.32290.82504.77615.43256ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadDocuments1Point readPassed100,000100,000012.717,867.681.714.057.251ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadDocuments1Range queryPassed100,000100,000017.1695,824.312.54.836.811ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadDocuments1UpdatePassed100,000100,000039.3532,541.085.0813.4426.51ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadDocuments1DeletePassed100,000100,000039.0052,563.795.0212.621.241ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadDocuments1MixedPassed100,000100,000024.5284,076.963.138.1314.151ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadDocuments3LoadPassed1,000,0001,000,0000413.9052,416.011,705.682,186.912,461.79256ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadDocuments3Point readPassed100,000100,000078.6631,271.249.8430.9155.71ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadDocuments3Range queryPassed100,000100,000083.21,201.9212.4423.7331.581ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadDocuments3UpdatePassed100,000100,0000343.705290.9550.48105.86150.71ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadDocuments3DeletePassed100,000100,0000375.899266.0354.63110.91170.121ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadDocuments3MixedPassed100,000100,0000190.17525.8522.1377.94146.841ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
MongoDBDocuments1LoadPassed1,000,0001,000,000024.96840,050.9785.77208.09264.56256docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41940626161
MongoDBDocuments1Point readPassed100,000100,000013.4077,458.871.953.895.391docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41940626161
MongoDBDocuments1Range queryPassed100,000100,000018.0175,550.422.685.056.71docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41940626161
MongoDBDocuments1UpdatePassed100,000100,000016.556,042.292.444.716.391docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41940626161
MongoDBDocuments1DeletePassed100,000100,000014.1687,058.382.113.95.321docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41940626161
MongoDBDocuments1MixedPassed100,000100,000015.2776,545.792.224.416.431docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41940626161
MongoDBDocuments3LoadPassed1,000,0001,000,000028.46235,134.01106.81199.65316.51256docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41940626161
MongoDBDocuments3Point readPassed100,000100,000010.6159,420.641.533.124.411docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41940626161
MongoDBDocuments3Range queryPassed100,000100,000014.0097,138.032.064.025.51docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41940626161
MongoDBDocuments3UpdatePassed100,000100,000048.3582,067.95.381574.561docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41940626161
MongoDBDocuments3DeletePassed100,000100,000046.6292,144.594.4410.4291.551docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41940626161
MongoDBDocuments3MixedPassed100,000100,000027.7333,605.762.738.4737.291docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41940626161
SurrealDBDocuments1LoadPassed1,000,0001,000,000030.24333,065.0596.31199.81704.76256docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41940626161
SurrealDBDocuments1Point readPassed100,000100,000015.2896,540.532.314.235.911docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41940626161
SurrealDBDocuments1Range queryPassed100,000100,000022.5224,440.093.525.576.71docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41940626161
SurrealDBDocuments1UpdatePassed100,000100,000026.3153,800.163.318.379.411docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41940626161
SurrealDBDocuments1DeletePassed100,000100,000026.4073,786.913.898.229.71docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41940626161
SurrealDBDocuments1MixedPassed100,000100,000018.3145,460.212.795.076.361docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41940626161
KeyLoadKey-value1LoadPassed1,000,0001,000,000088.66411,278.59336.99630.47830.55256ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadKey-value1GetPassed100,000100,000022.834,380.213.246.8210.751ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadKey-value1SetPassed100,000100,000064.2561,556.278.5119.9735.821ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadKey-value1DeletePassed100,000100,000057.3361,744.18.0116.628.331ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadKey-value1MixedPassed100,000100,000032.1943,106.124.449.8516.061ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadKey-value3LoadPassed1,000,0001,000,0000225.0844,442.78917.461,235.641,542.59256ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadKey-value3GetPassed100,000100,000049.6312,014.896.1419.9740.121ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadKey-value3SetPassed100,000100,0000249.779400.3533.6189.77138.061ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadKey-value3DeletePassed100,000100,0000258.738386.4937.6183.93118.421ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadKey-value3MixedPassed100,000100,0000105.606946.9210.7848.8294.431ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
RedisKey-value1LoadPassed1,000,0001,000,00006.697149,311.5423.8547.9662.64256docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41940626161
RedisKey-value1GetPassed100,000100,00001.81954,964.580.280.470.71docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41940626161
RedisKey-value1SetPassed100,000100,00004.51822,134.940.620.811.781docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41940626161
RedisKey-value1DeletePassed100,000100,00003.40729,3490.510.620.751docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41940626161
RedisKey-value1MixedPassed100,000100,00003.85425,949.040.580.791.141docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41940626161
RedisKey-value3LoadPassed1,000,0001,000,000036.20827,618.35122.64197.91304.07256docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41940626161
RedisKey-value3GetPassed100,000100,00005.49318,205.610.821.512.151docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41940626161
RedisKey-value3SetPassed100,000100,000024.5634,071.163.465.7611.931docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41940626161
RedisKey-value3DeletePassed100,000100,000020.1444,964.212.874.9812.61docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41940626161
RedisKey-value3MixedPassed100,000100,000013.1467,606.841.554.36.971docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41940626161
KeyLoadRelational1LoadPassed1,000,0001,000,0000153.4356,517.41117.14181.91260.9850ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadRelational1Primary-key selectPassed100,000100,000039.8552,509.095.7711.3516.961ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadRelational1Range selectPassed100,000100,000071.6121,396.410.9718.1423.691ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadRelational1UpdatePassed100,000100,0000115.561865.3517.231.5143.461ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadRelational1DeletePassed100,000100,000074.8551,335.911120.930.61ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadRelational1MixedPassed100,000100,000069.7651,433.389.1423.4734.271ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadRelational3LoadPassed1,000,0001,000,0000360.3672,774.95314.33430.67511.3550ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadRelational3Primary-key selectPassed100,000100,000071.1461,405.5610.0620.4741.051ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadRelational3Range selectPassed100,000100,0000104.51956.8516.0128.7335.641ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadRelational3UpdatePassed100,000100,0000305.147327.7134.22112.88147.561ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadRelational3DeletePassed100,000100,0000236.391423.0328.5986.55117.251ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadRelational3MixedPassed100,000100,0000151.294660.9616.1671.97110.541ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
PostgreSQL + pgvectorRelational1LoadPassed1,000,0001,000,00003.803262,952.9756.08104.92138.91,000docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorRelational1Primary-key selectPassed100,000100,000012.9257,736.781.943.514.591docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorRelational1Range selectPassed100,000100,000013.1777,589.152.023.414.231docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorRelational1UpdatePassed100,000100,000015.2196,570.532.373.674.521docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorRelational1DeletePassed100,000100,000015.3376,520.082.373.854.871docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorRelational1MixedPassed100,000100,000013.1447,608.111.923.874.851docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorRelational3LoadPassed1,000,0001,000,00004.49222,700.1233.48279.07290.161,000docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorRelational3Primary-key selectPassed100,000100,00003.45928,909.490.510.941.421docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorRelational3Range selectPassed100,000100,00004.61721,660.380.671.32.211docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorRelational3UpdatePassed100,000100,00007.79712,825.411.171.742.161docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorRelational3DeletePassed100,000100,00006.89414,505.751.071.581.961docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorRelational3MixedPassed100,000100,00007.76612,876.870.792.152.771docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
SQL ServerRelational1LoadPassed1,000,0001,000,00007.669130,388.6381.19242.851,372.551,000mcr.microsoft.com/mssql/server:2025-latest@sha256:245f6b1c8903edae52cb20fa31419cefcde1a49938bb8c3447099011fc871ca3Run 41940626161
SQL ServerRelational1Primary-key selectPassed100,000100,000010.1839,820.481.552.63.291mcr.microsoft.com/mssql/server:2025-latest@sha256:245f6b1c8903edae52cb20fa31419cefcde1a49938bb8c3447099011fc871ca3Run 41940626161
SQL ServerRelational1Range selectPassed100,000100,000011.5628,649.311.763.013.841mcr.microsoft.com/mssql/server:2025-latest@sha256:245f6b1c8903edae52cb20fa31419cefcde1a49938bb8c3447099011fc871ca3Run 41940626161
SQL ServerRelational1UpdatePassed100,000100,000020.0694,982.812.184.0821.381mcr.microsoft.com/mssql/server:2025-latest@sha256:245f6b1c8903edae52cb20fa31419cefcde1a49938bb8c3447099011fc871ca3Run 41940626161
SQL ServerRelational1DeletePassed100,000100,000017.3225,772.942.163.6410.071mcr.microsoft.com/mssql/server:2025-latest@sha256:245f6b1c8903edae52cb20fa31419cefcde1a49938bb8c3447099011fc871ca3Run 41940626161
SQL ServerRelational1MixedPassed100,000100,000016.5986,024.861.486.6710.161mcr.microsoft.com/mssql/server:2025-latest@sha256:245f6b1c8903edae52cb20fa31419cefcde1a49938bb8c3447099011fc871ca3Run 41940626161
MySQLRelational1LoadPassed1,000,0001,000,00005.836171,344.9390.94138.39215.591,000docker.io/mysql:8.4@sha256:76f0358884cb92d9a086d24e5671c38048d3fef40f2588703d73eb55392d6b69Run 41940626161
MySQLRelational1Primary-key selectPassed100,000100,000021.0154,758.443.235.016.271docker.io/mysql:8.4@sha256:76f0358884cb92d9a086d24e5671c38048d3fef40f2588703d73eb55392d6b69Run 41940626161
MySQLRelational1Range selectPassed100,000100,000024.4124,096.313.765.777.071docker.io/mysql:8.4@sha256:76f0358884cb92d9a086d24e5671c38048d3fef40f2588703d73eb55392d6b69Run 41940626161
MySQLRelational1UpdatePassed100,000100,000035.1482,845.085.418.4410.491docker.io/mysql:8.4@sha256:76f0358884cb92d9a086d24e5671c38048d3fef40f2588703d73eb55392d6b69Run 41940626161
MySQLRelational1DeletePassed100,000100,000034.7032,881.625.338.4110.391docker.io/mysql:8.4@sha256:76f0358884cb92d9a086d24e5671c38048d3fef40f2588703d73eb55392d6b69Run 41940626161
MySQLRelational1MixedPassed100,000100,000027.8273,593.643.898.5210.971docker.io/mysql:8.4@sha256:76f0358884cb92d9a086d24e5671c38048d3fef40f2588703d73eb55392d6b69Run 41940626161
KeyLoadGraph1LoadPassed1,100,0001,100,0000254.1244,328.6481.41763.8826.53256ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadGraph1NeighborsPassed100,000100,000035.3832,826.194.9410.8816.631ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadGraph1TraversePassed100,000100,0000123.319810.9118.2730.9345.91ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadGraph3LoadPassed1,100,0001,100,0000780.7141,408.971,090.381,644.981,838.01256ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadGraph3NeighborsPassed100,000100,000087.4231,143.8711.5731.8154.451ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadGraph3TraversePassed100,000100,0000223.507447.4134.7958.4469.891ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
Neo4jGraph1LoadPassed1,100,0001,100,000024.96844,056.92143.85593.481,383.67256docker.io/library/neo4j:2026.09.0@sha256:91fb0bf237c41b7b3dcbe84703aa0b82e0d7d067b16e1c8ab21f03fc679edf4eRun 41940626161
Neo4jGraph1NeighborsPassed100,000100,000041.3732,417.01612.4516.451docker.io/library/neo4j:2026.09.0@sha256:91fb0bf237c41b7b3dcbe84703aa0b82e0d7d067b16e1c8ab21f03fc679edf4eRun 41940626161
Neo4jGraph1TraversePassed100,000100,000036.6822,726.135.559.8413.051docker.io/library/neo4j:2026.09.0@sha256:91fb0bf237c41b7b3dcbe84703aa0b82e0d7d067b16e1c8ab21f03fc679edf4eRun 41940626161
HelixDBGraph1LoadPassed1,100,0001,100,0000752.4281,461.931,115.011,714.171,720.21256ghcr.io/helixdb/helixdb:v0.0.10@sha256:1bd2b9f91fe63190a4cb2c7058e680eef635e9fa9df67a4fcfcc210d3fe1f68aRun 41940626161
HelixDBGraph1NeighborsPassed100,000100,000054.8521,823.098.2212.7115.621ghcr.io/helixdb/helixdb:v0.0.10@sha256:1bd2b9f91fe63190a4cb2c7058e680eef635e9fa9df67a4fcfcc210d3fe1f68aRun 41940626161
HelixDBGraph1TraversePassed100,000100,0000347.171288.0453.989.39106.731ghcr.io/helixdb/helixdb:v0.0.10@sha256:1bd2b9f91fe63190a4cb2c7058e680eef635e9fa9df67a4fcfcc210d3fe1f68aRun 41940626161
SurrealDBGraph1LoadPassed1,100,0001,100,000016.02668,640.5523.5241.9654.76256docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41940626161
SurrealDBGraph1NeighborsPassed100,000100,00008.72711,458.541.322.443.471docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41940626161
SurrealDBGraph1TraversePassed100,000100,000073.0981,368.0311.6317.0219.791docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41940626161
KeyLoadVector1LoadPassed1,000,0001,000,0000184.7055,414.05263509.99790.2100ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadVector1Exact top 10Passed100,0007720911.4490.8518,77622,176.0827,466.851ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadVector3LoadPassed1,000,0001,000,0000586.4381,705.21957.811,227.131,437.86100ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadVector3Exact top 10Passed100,0005400913.2970.5920,338.0444,340.7346,584.231ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
QdrantVector1LoadPassed1,000,0001,000,000018.33654,536.3127.1142.1869.97100docker.io/qdrant/qdrant:v1.17.1@sha256:94728574965d17c6485dd361aa3c0818b325b9016dac5ea6afec7b4b2700865fRun 41940626161
QdrantVector1Exact top 10Passed100,00086,3120900.11195.89157.43240.73268.761docker.io/qdrant/qdrant:v1.17.1@sha256:94728574965d17c6485dd361aa3c0818b325b9016dac5ea6afec7b4b2700865fRun 41940626161
QdrantVector3LoadPassed1,000,0001,000,000038.74725,808.2658.0592.2125.11100docker.io/qdrant/qdrant:v1.17.1@sha256:94728574965d17c6485dd361aa3c0818b325b9016dac5ea6afec7b4b2700865fRun 41940626161
QdrantVector3Exact top 10Passed100,00023,6200900.31126.24585.27794.85886.511docker.io/qdrant/qdrant:v1.17.1@sha256:94728574965d17c6485dd361aa3c0818b325b9016dac5ea6afec7b4b2700865fRun 41940626161
PostgreSQL + pgvectorVector1LoadPassed1,000,0001,000,00007.339136,264.988.4818.61100.98100docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorVector1Exact top 10Passed100,00013,3420900.55814.821,170.081,615.581,690.241docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorVector3LoadPassed1,000,0001,000,000013.00176,915.0118.0241.8568.29100docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorVector3Exact top 10Passed100,00010,3540900.7911.491,188.372,037.782,122.071docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
KeyLoadSearch1LoadPassed1,000,0001,000,000094.38610,594.81140.23253.06345.32100ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadSearch1Index buildPassed110215.9240215,923.6215,923.6215,923.61ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadSearch1Term queryPassed100,00012,4270900.62713.81,155.731,633.621,947.81ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadSearch1AND queryPassed100,0008,5030901.0099.441,651.412,667.263,378.791ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadSearch3LoadPassed1,000,0001,000,0000250.6943,988.93408.94564.85692.3100ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadSearch3Index buildPassed110416.9830416,982.59416,982.59416,982.591ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadSearch3Term queryPassed100,00012,0550900.91813.381,155.711,927.482,306.991ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadSearch3AND queryPassed100,0007,8360901.2728.691,814.712,648.233,004.821ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
OpenSearchSearch1LoadPassed1,000,0001,000,000022.02945,395.1529.672.69117.96100opensearchproject/opensearch:3.6.0@sha256:b5dd1512af2a99748c942cfbbd7f32162623336b210667d0fc6333c6321f171dRun 41940626161
OpenSearchSearch1Index buildPassed1100.3362.98335.58335.58335.581opensearchproject/opensearch:3.6.0@sha256:b5dd1512af2a99748c942cfbbd7f32162623336b210667d0fc6333c6321f171dRun 41940626161
OpenSearchSearch1Term queryPassed100,000100,000047.472,106.66.5515.522.481opensearchproject/opensearch:3.6.0@sha256:b5dd1512af2a99748c942cfbbd7f32162623336b210667d0fc6333c6321f171dRun 41940626161
OpenSearchSearch1AND queryPassed100,000100,000047.7542,094.086.9613.8718.521opensearchproject/opensearch:3.6.0@sha256:b5dd1512af2a99748c942cfbbd7f32162623336b210667d0fc6333c6321f171dRun 41940626161
OpenSearchSearch3LoadPassed1,000,0001,000,000061.58516,237.6669.71246.48466.18100opensearchproject/opensearch:3.6.0@sha256:b5dd1512af2a99748c942cfbbd7f32162623336b210667d0fc6333c6321f171dRun 41940626161
OpenSearchSearch3Index buildPassed1102.9140.342,914.272,914.272,914.271opensearchproject/opensearch:3.6.0@sha256:b5dd1512af2a99748c942cfbbd7f32162623336b210667d0fc6333c6321f171dRun 41940626161
OpenSearchSearch3Term queryPassed100,000100,000082.5581,211.2710.6429.7245.251opensearchproject/opensearch:3.6.0@sha256:b5dd1512af2a99748c942cfbbd7f32162623336b210667d0fc6333c6321f171dRun 41940626161
OpenSearchSearch3AND queryPassed100,000100,000059.791,672.538.6218.5926.871opensearchproject/opensearch:3.6.0@sha256:b5dd1512af2a99748c942cfbbd7f32162623336b210667d0fc6333c6321f171dRun 41940626161
KeyLoadTime series1LoadPassed1,000,0001,000,000027.60436,226.73352.46987.771,778.291,000ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadTime series1Range readPassed100,000100,000046.782,137.677.0412.5816.961ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadTime series1AggregatePassed100,000100,000077.9921,282.1811.5920.9631.051ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadTime series1WindowsPassed100,000100,0000114.38874.2817.0829.5544.271ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadTime series3LoadPassed1,000,0001,000,000054.8718,224.99665.941,989.723,430.341,000ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadTime series3Range readPassed100,000100,000082.7061,209.112.1923.7533.891ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadTime series3AggregatePassed100,000100,0000124.135805.5718.9735.4243.541ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadTime series3WindowsPassed100,000100,0000173.945574.926.8347.0256.811ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
TimescaleDBTime series1LoadPassed1,000,0001,000,00002.642378,550.725.61112.15130.671,000docker.io/timescale/timescaledb:2.30.2-pg18@sha256:e72689191e1c977892c53d6f2c344dbc4a9657a867dc8cc1899229f9d3672b2eRun 41940626161
TimescaleDBTime series1Range readPassed100,000100,000010.4719,550.231.573.024.091docker.io/timescale/timescaledb:2.30.2-pg18@sha256:e72689191e1c977892c53d6f2c344dbc4a9657a867dc8cc1899229f9d3672b2eRun 41940626161
TimescaleDBTime series1AggregatePassed100,000100,000014.1047,090.072.134.015.461docker.io/timescale/timescaledb:2.30.2-pg18@sha256:e72689191e1c977892c53d6f2c344dbc4a9657a867dc8cc1899229f9d3672b2eRun 41940626161
TimescaleDBTime series1WindowsPassed100,000100,000019.1245,229.112.945.336.961docker.io/timescale/timescaledb:2.30.2-pg18@sha256:e72689191e1c977892c53d6f2c344dbc4a9657a867dc8cc1899229f9d3672b2eRun 41940626161
InfluxDBTime series1LoadPassed1,000,0001,000,000062.09716,103.861,000.51,005.071,006.981,000docker.io/influxdb:3.12-core@sha256:1c8200f75657c7586678b52570f8c78aedfa2cd42e59c238a733423aab6bd406Run 41940626161
InfluxDBTime series1Range readPassed100,000100,0000463.865215.5873.14108125.71docker.io/influxdb:3.12-core@sha256:1c8200f75657c7586678b52570f8c78aedfa2cd42e59c238a733423aab6bd406Run 41940626161
InfluxDBTime series1AggregatePassed100,000100,0000751.366133.09120.24169191.011docker.io/influxdb:3.12-core@sha256:1c8200f75657c7586678b52570f8c78aedfa2cd42e59c238a733423aab6bd406Run 41940626161
InfluxDBTime series1WindowsPassed100,000100,0000832.841120.07133.71190.34215.81docker.io/influxdb:3.12-core@sha256:1c8200f75657c7586678b52570f8c78aedfa2cd42e59c238a733423aab6bd406Run 41940626161
KeyLoadAnalytics1LoadPassed1,000,0001,000,000033.13130,183.51447.691,195.061,331.381,000ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadAnalytics1Group byPassed100,00026,3570900.36729.27541.17828.77957.771ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadAnalytics1Filtered aggregatePassed100,00077,2100900.19685.77173.94300.75385.181ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadAnalytics3LoadPassed1,000,0001,000,0000109.269,152.511,563.322,987.34,781.071,000ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadAnalytics3Group byPassed100,00019,2560900.38321.39723.011,217.121,476.441ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadAnalytics3Filtered aggregatePassed100,00037,3210900.36441.45372.51627.31749.291ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
ClickHouseAnalytics1LoadPassed1,000,0001,000,00002.176459,473.2433.9247.2353.291,000docker.io/clickhouse/clickhouse-server:26.9@sha256:19bfacb135479a892551a8155cfbbc8211aedf2aa888cd91950b9ee7e76cc7e3Run 41940626161
ClickHouseAnalytics1Group byPassed100,000100,0000112.237890.9716.9231.2440.991docker.io/clickhouse/clickhouse-server:26.9@sha256:19bfacb135479a892551a8155cfbbc8211aedf2aa888cd91950b9ee7e76cc7e3Run 41940626161
ClickHouseAnalytics1Filtered aggregatePassed100,000100,0000115.107868.7517.4631.7441.231docker.io/clickhouse/clickhouse-server:26.9@sha256:19bfacb135479a892551a8155cfbbc8211aedf2aa888cd91950b9ee7e76cc7e3Run 41940626161
KeyLoadQueue1Publish, receive, ACKPassed100,000100,0000412.6242.3760.92130.77167.421ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadQueue3Publish, receive, ACKPassed100,000100,0000747.809133.72103.25214.5529.911ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
RabbitMQQueue1Publish, receive, ACKPassed100,000100,000042.3862,359.276.499.1614.811docker.io/library/rabbitmq:4.2.4-management@sha256:aeee1db0ff9fdb1347f3585242c14ed10877b56c22eeaa113b21208ef3dd3edfRun 41940626161
RabbitMQQueue3Publish, receive, ACKPassed100,000100,000070.2171,424.1611.0714.2416.391docker.io/library/rabbitmq:4.2.4-management@sha256:aeee1db0ff9fdb1347f3585242c14ed10877b56c22eeaa113b21208ef3dd3edfRun 41940626161
KeyLoadEvents1LoadPassed1,000,0001,000,0000152.7476,546.78235.2344.15438.8100ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadEvents1AppendPassed100,000100,000079.3691,259.9311.5422.8534.741ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadEvents1ReadPassed100,000100,000040.1952,487.855.6112.2219.721ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadEvents1MixedPassed100,000100,000057.5241,738.398.218.0426.421ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadEvents3LoadPassed1,000,0001,000,0000478.1072,091.58751.8994.881,287.26100ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadEvents3AppendPassed100,000100,0000388.694257.2755.3118.36198.591ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadEvents3ReadPassed100,000100,000094.9831,052.8213.0233.6764.171ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadEvents3MixedPassed100,000100,0000290.247344.5338.65102.11207.761ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KurrentDBEvents1LoadPassed1,000,0001,000,000037.10226,952.7444.68148.45245.83100docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41940626161
KurrentDBEvents1AppendPassed100,000100,000015.5976,411.411.93.8610.741docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41940626161
KurrentDBEvents1ReadPassed100,000100,000012.4628,024.41.813.14.21docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41940626161
KurrentDBEvents1MixedPassed100,000100,000015.1796,588.261.963.9710.181docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41940626161
KurrentDBEvents3LoadPassed1,000,0001,000,000044.96722,238.7655.3155.74256.61100docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41940626161
KurrentDBEvents3AppendPassed100,000100,000019.2215,202.732.55.3111.691docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41940626161
KurrentDBEvents3ReadPassed100,000100,00008.85811,289.171.252.563.541docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41940626161
KurrentDBEvents3MixedPassed100,000100,000018.0645,536.022.475.3716.651docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41940626161

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 node40.1k3 nodes35.1k−12% vs 1 node1 node7,4593 nodes9,421+26% vs 1 node1 node5,5503 nodes7,138+29% vs 1 node1 node6,0423 nodes2,068−66% vs 1 node1 node7,0583 nodes2,145−70% vs 1 node1 node6,5463 nodes3,606−45% vs 1 node
SurrealDBSingle node1 node33.1k1 node6,5411 node4,4401 node3,8001 node3,7871 node5,460
KeyLoad1 node13.2k3 nodes2,416−82% vs 1 node1 node7,8683 nodes1,271−84% vs 1 node1 node5,8243 nodes1,202−79% vs 1 node1 node2,5413 nodes291−89% vs 1 node1 node2,5643 nodes266−90% vs 1 node1 node4,0773 nodes526−87% 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,000075.61813,224.32290.82504.77615.43256ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadDocuments1Point readPassed100,000100,000012.717,867.681.714.057.251ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadDocuments1Range queryPassed100,000100,000017.1695,824.312.54.836.811ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadDocuments1UpdatePassed100,000100,000039.3532,541.085.0813.4426.51ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadDocuments1DeletePassed100,000100,000039.0052,563.795.0212.621.241ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadDocuments1MixedPassed100,000100,000024.5284,076.963.138.1314.151ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadDocuments3LoadPassed1,000,0001,000,0000413.9052,416.011,705.682,186.912,461.79256ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadDocuments3Point readPassed100,000100,000078.6631,271.249.8430.9155.71ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadDocuments3Range queryPassed100,000100,000083.21,201.9212.4423.7331.581ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadDocuments3UpdatePassed100,000100,0000343.705290.9550.48105.86150.71ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadDocuments3DeletePassed100,000100,0000375.899266.0354.63110.91170.121ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadDocuments3MixedPassed100,000100,0000190.17525.8522.1377.94146.841ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
MongoDBDocuments1LoadPassed1,000,0001,000,000024.96840,050.9785.77208.09264.56256docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41940626161
MongoDBDocuments1Point readPassed100,000100,000013.4077,458.871.953.895.391docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41940626161
MongoDBDocuments1Range queryPassed100,000100,000018.0175,550.422.685.056.71docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41940626161
MongoDBDocuments1UpdatePassed100,000100,000016.556,042.292.444.716.391docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41940626161
MongoDBDocuments1DeletePassed100,000100,000014.1687,058.382.113.95.321docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41940626161
MongoDBDocuments1MixedPassed100,000100,000015.2776,545.792.224.416.431docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41940626161
MongoDBDocuments3LoadPassed1,000,0001,000,000028.46235,134.01106.81199.65316.51256docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41940626161
MongoDBDocuments3Point readPassed100,000100,000010.6159,420.641.533.124.411docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41940626161
MongoDBDocuments3Range queryPassed100,000100,000014.0097,138.032.064.025.51docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41940626161
MongoDBDocuments3UpdatePassed100,000100,000048.3582,067.95.381574.561docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41940626161
MongoDBDocuments3DeletePassed100,000100,000046.6292,144.594.4410.4291.551docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41940626161
MongoDBDocuments3MixedPassed100,000100,000027.7333,605.762.738.4737.291docker.io/library/mongo:8.3.9@sha256:81a1c8842a09589fc8d5f285266f3340bf4abdf66700ba22988f14cc9b2b3118Run 41940626161
SurrealDBDocuments1LoadPassed1,000,0001,000,000030.24333,065.0596.31199.81704.76256docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41940626161
SurrealDBDocuments1Point readPassed100,000100,000015.2896,540.532.314.235.911docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41940626161
SurrealDBDocuments1Range queryPassed100,000100,000022.5224,440.093.525.576.71docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41940626161
SurrealDBDocuments1UpdatePassed100,000100,000026.3153,800.163.318.379.411docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41940626161
SurrealDBDocuments1DeletePassed100,000100,000026.4073,786.913.898.229.71docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41940626161
SurrealDBDocuments1MixedPassed100,000100,000018.3145,460.212.795.076.361docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41940626161

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 node149.3k3 nodes27.6k−82% vs 1 node1 node55k3 nodes18.2k−67% vs 1 node1 node22.1k3 nodes4,071−82% vs 1 node1 node29.3k3 nodes4,964−83% vs 1 node1 node25.9k3 nodes7,607−71% vs 1 node
KeyLoad1 node11.3k3 nodes4,443−61% vs 1 node1 node4,3803 nodes2,015−54% vs 1 node1 node1,5563 nodes400−74% vs 1 node1 node1,7443 nodes386−78% vs 1 node1 node3,1063 nodes947−70% 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,000088.66411,278.59336.99630.47830.55256ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadKey-value1GetPassed100,000100,000022.834,380.213.246.8210.751ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadKey-value1SetPassed100,000100,000064.2561,556.278.5119.9735.821ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadKey-value1DeletePassed100,000100,000057.3361,744.18.0116.628.331ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadKey-value1MixedPassed100,000100,000032.1943,106.124.449.8516.061ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadKey-value3LoadPassed1,000,0001,000,0000225.0844,442.78917.461,235.641,542.59256ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadKey-value3GetPassed100,000100,000049.6312,014.896.1419.9740.121ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadKey-value3SetPassed100,000100,0000249.779400.3533.6189.77138.061ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadKey-value3DeletePassed100,000100,0000258.738386.4937.6183.93118.421ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadKey-value3MixedPassed100,000100,0000105.606946.9210.7848.8294.431ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
RedisKey-value1LoadPassed1,000,0001,000,00006.697149,311.5423.8547.9662.64256docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41940626161
RedisKey-value1GetPassed100,000100,00001.81954,964.580.280.470.71docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41940626161
RedisKey-value1SetPassed100,000100,00004.51822,134.940.620.811.781docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41940626161
RedisKey-value1DeletePassed100,000100,00003.40729,3490.510.620.751docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41940626161
RedisKey-value1MixedPassed100,000100,00003.85425,949.040.580.791.141docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41940626161
RedisKey-value3LoadPassed1,000,0001,000,000036.20827,618.35122.64197.91304.07256docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41940626161
RedisKey-value3GetPassed100,000100,00005.49318,205.610.821.512.151docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41940626161
RedisKey-value3SetPassed100,000100,000024.5634,071.163.465.7611.931docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41940626161
RedisKey-value3DeletePassed100,000100,000020.1444,964.212.874.9812.61docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41940626161
RedisKey-value3MixedPassed100,000100,000013.1467,606.841.554.36.971docker.io/library/redis:8.4.0@sha256:c22af04bb576503bf16b3e34a1fd2fd82de0f765afd866d2e380145e0af30d78Run 41940626161

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 node263k3 nodes222.7k−15% vs 1 node1 node7,7373 nodes28.9k+274% vs 1 node1 node7,5893 nodes21.7k+185% vs 1 node1 node6,5713 nodes12.8k+95% vs 1 node1 node6,5203 nodes14.5k+122% vs 1 node1 node7,6083 nodes12.9k+69% vs 1 node
MySQLSingle node1 node171.3k1 node4,7581 node4,0961 node2,8451 node2,8821 node3,594
SQL ServerSingle node1 node130.4k1 node9,8201 node8,6491 node4,9831 node5,7731 node6,025
KeyLoad1 node6,5173 nodes2,775−57% vs 1 node1 node2,5093 nodes1,406−44% vs 1 node1 node1,3963 nodes957−31% vs 1 node1 node8653 nodes328−62% vs 1 node1 node1,3363 nodes423−68% vs 1 node1 node1,4333 nodes661−54% vs 1 node
All recorded values
Every recorded case per job; data type shown beside the database
DatabaseNodesCaseStatusPlannedOperationsErrorsSecondsops/sp50 msp95 msp99 msPer callErrorImageRun
KeyLoadRelational1LoadPassed1,000,0001,000,0000153.4356,517.41117.14181.91260.9850ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadRelational1Primary-key selectPassed100,000100,000039.8552,509.095.7711.3516.961ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadRelational1Range selectPassed100,000100,000071.6121,396.410.9718.1423.691ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadRelational1UpdatePassed100,000100,0000115.561865.3517.231.5143.461ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadRelational1DeletePassed100,000100,000074.8551,335.911120.930.61ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadRelational1MixedPassed100,000100,000069.7651,433.389.1423.4734.271ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadRelational3LoadPassed1,000,0001,000,0000360.3672,774.95314.33430.67511.3550ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadRelational3Primary-key selectPassed100,000100,000071.1461,405.5610.0620.4741.051ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadRelational3Range selectPassed100,000100,0000104.51956.8516.0128.7335.641ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadRelational3UpdatePassed100,000100,0000305.147327.7134.22112.88147.561ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadRelational3DeletePassed100,000100,0000236.391423.0328.5986.55117.251ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadRelational3MixedPassed100,000100,0000151.294660.9616.1671.97110.541ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
PostgreSQL + pgvectorRelational1LoadPassed1,000,0001,000,00003.803262,952.9756.08104.92138.91,000docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorRelational1Primary-key selectPassed100,000100,000012.9257,736.781.943.514.591docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorRelational1Range selectPassed100,000100,000013.1777,589.152.023.414.231docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorRelational1UpdatePassed100,000100,000015.2196,570.532.373.674.521docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorRelational1DeletePassed100,000100,000015.3376,520.082.373.854.871docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorRelational1MixedPassed100,000100,000013.1447,608.111.923.874.851docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorRelational3LoadPassed1,000,0001,000,00004.49222,700.1233.48279.07290.161,000docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorRelational3Primary-key selectPassed100,000100,00003.45928,909.490.510.941.421docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorRelational3Range selectPassed100,000100,00004.61721,660.380.671.32.211docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorRelational3UpdatePassed100,000100,00007.79712,825.411.171.742.161docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorRelational3DeletePassed100,000100,00006.89414,505.751.071.581.961docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorRelational3MixedPassed100,000100,00007.76612,876.870.792.152.771docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
SQL ServerRelational1LoadPassed1,000,0001,000,00007.669130,388.6381.19242.851,372.551,000mcr.microsoft.com/mssql/server:2025-latest@sha256:245f6b1c8903edae52cb20fa31419cefcde1a49938bb8c3447099011fc871ca3Run 41940626161
SQL ServerRelational1Primary-key selectPassed100,000100,000010.1839,820.481.552.63.291mcr.microsoft.com/mssql/server:2025-latest@sha256:245f6b1c8903edae52cb20fa31419cefcde1a49938bb8c3447099011fc871ca3Run 41940626161
SQL ServerRelational1Range selectPassed100,000100,000011.5628,649.311.763.013.841mcr.microsoft.com/mssql/server:2025-latest@sha256:245f6b1c8903edae52cb20fa31419cefcde1a49938bb8c3447099011fc871ca3Run 41940626161
SQL ServerRelational1UpdatePassed100,000100,000020.0694,982.812.184.0821.381mcr.microsoft.com/mssql/server:2025-latest@sha256:245f6b1c8903edae52cb20fa31419cefcde1a49938bb8c3447099011fc871ca3Run 41940626161
SQL ServerRelational1DeletePassed100,000100,000017.3225,772.942.163.6410.071mcr.microsoft.com/mssql/server:2025-latest@sha256:245f6b1c8903edae52cb20fa31419cefcde1a49938bb8c3447099011fc871ca3Run 41940626161
SQL ServerRelational1MixedPassed100,000100,000016.5986,024.861.486.6710.161mcr.microsoft.com/mssql/server:2025-latest@sha256:245f6b1c8903edae52cb20fa31419cefcde1a49938bb8c3447099011fc871ca3Run 41940626161
MySQLRelational1LoadPassed1,000,0001,000,00005.836171,344.9390.94138.39215.591,000docker.io/mysql:8.4@sha256:76f0358884cb92d9a086d24e5671c38048d3fef40f2588703d73eb55392d6b69Run 41940626161
MySQLRelational1Primary-key selectPassed100,000100,000021.0154,758.443.235.016.271docker.io/mysql:8.4@sha256:76f0358884cb92d9a086d24e5671c38048d3fef40f2588703d73eb55392d6b69Run 41940626161
MySQLRelational1Range selectPassed100,000100,000024.4124,096.313.765.777.071docker.io/mysql:8.4@sha256:76f0358884cb92d9a086d24e5671c38048d3fef40f2588703d73eb55392d6b69Run 41940626161
MySQLRelational1UpdatePassed100,000100,000035.1482,845.085.418.4410.491docker.io/mysql:8.4@sha256:76f0358884cb92d9a086d24e5671c38048d3fef40f2588703d73eb55392d6b69Run 41940626161
MySQLRelational1DeletePassed100,000100,000034.7032,881.625.338.4110.391docker.io/mysql:8.4@sha256:76f0358884cb92d9a086d24e5671c38048d3fef40f2588703d73eb55392d6b69Run 41940626161
MySQLRelational1MixedPassed100,000100,000027.8273,593.643.898.5210.971docker.io/mysql:8.4@sha256:76f0358884cb92d9a086d24e5671c38048d3fef40f2588703d73eb55392d6b69Run 41940626161

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
SurrealDBSingle node1 node68.6k1 node11.5k1 node1,368
Neo4jSingle node1 node44.1k1 node2,4171 node2,726
KeyLoad1 node4,3293 nodes1,409−67% vs 1 node1 node2,8263 nodes1,144−60% vs 1 node1 node8113 nodes447−45% vs 1 node
HelixDBSingle node1 node1,4621 node1,8231 node288
All recorded values
Every recorded case per job; data type shown beside the database
DatabaseNodesCaseStatusPlannedOperationsErrorsSecondsops/sp50 msp95 msp99 msPer callErrorImageRun
KeyLoadGraph1LoadPassed1,100,0001,100,0000254.1244,328.6481.41763.8826.53256ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadGraph1NeighborsPassed100,000100,000035.3832,826.194.9410.8816.631ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadGraph1TraversePassed100,000100,0000123.319810.9118.2730.9345.91ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadGraph3LoadPassed1,100,0001,100,0000780.7141,408.971,090.381,644.981,838.01256ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadGraph3NeighborsPassed100,000100,000087.4231,143.8711.5731.8154.451ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadGraph3TraversePassed100,000100,0000223.507447.4134.7958.4469.891ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
Neo4jGraph1LoadPassed1,100,0001,100,000024.96844,056.92143.85593.481,383.67256docker.io/library/neo4j:2026.09.0@sha256:91fb0bf237c41b7b3dcbe84703aa0b82e0d7d067b16e1c8ab21f03fc679edf4eRun 41940626161
Neo4jGraph1NeighborsPassed100,000100,000041.3732,417.01612.4516.451docker.io/library/neo4j:2026.09.0@sha256:91fb0bf237c41b7b3dcbe84703aa0b82e0d7d067b16e1c8ab21f03fc679edf4eRun 41940626161
Neo4jGraph1TraversePassed100,000100,000036.6822,726.135.559.8413.051docker.io/library/neo4j:2026.09.0@sha256:91fb0bf237c41b7b3dcbe84703aa0b82e0d7d067b16e1c8ab21f03fc679edf4eRun 41940626161
HelixDBGraph1LoadPassed1,100,0001,100,0000752.4281,461.931,115.011,714.171,720.21256ghcr.io/helixdb/helixdb:v0.0.10@sha256:1bd2b9f91fe63190a4cb2c7058e680eef635e9fa9df67a4fcfcc210d3fe1f68aRun 41940626161
HelixDBGraph1NeighborsPassed100,000100,000054.8521,823.098.2212.7115.621ghcr.io/helixdb/helixdb:v0.0.10@sha256:1bd2b9f91fe63190a4cb2c7058e680eef635e9fa9df67a4fcfcc210d3fe1f68aRun 41940626161
HelixDBGraph1TraversePassed100,000100,0000347.171288.0453.989.39106.731ghcr.io/helixdb/helixdb:v0.0.10@sha256:1bd2b9f91fe63190a4cb2c7058e680eef635e9fa9df67a4fcfcc210d3fe1f68aRun 41940626161
SurrealDBGraph1LoadPassed1,100,0001,100,000016.02668,640.5523.5241.9654.76256docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41940626161
SurrealDBGraph1NeighborsPassed100,000100,00008.72711,458.541.322.443.471docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41940626161
SurrealDBGraph1TraversePassed100,000100,000073.0981,368.0311.6317.0219.791docker.io/surrealdb/surrealdb:v3.2.4@sha256:51baed8709f57f67dcf04b30e3177db846803fa9342dae2be58c6fa5f8d59843Run 41940626161

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 node136.3k3 nodes76.9k−44% vs 1 node1 node14.8213.3k of 100k3 nodes11.49−22% vs 1 node10.4k of 100k
Qdrant1 node54.5k3 nodes25.8k−53% vs 1 node1 node95.8986.3k of 100k3 nodes26.24−73% vs 1 node23.6k of 100k
KeyLoad1 node5,4143 nodes1,705−69% vs 1 node1 node0.85772 of 100k3 nodes0.59−30% vs 1 node540 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,0000184.7055,414.05263509.99790.2100ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadVector1Exact top 10Passed100,0007720911.4490.8518,77622,176.0827,466.851ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadVector3LoadPassed1,000,0001,000,0000586.4381,705.21957.811,227.131,437.86100ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadVector3Exact top 10Passed100,0005400913.2970.5920,338.0444,340.7346,584.231ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
QdrantVector1LoadPassed1,000,0001,000,000018.33654,536.3127.1142.1869.97100docker.io/qdrant/qdrant:v1.17.1@sha256:94728574965d17c6485dd361aa3c0818b325b9016dac5ea6afec7b4b2700865fRun 41940626161
QdrantVector1Exact top 10Passed100,00086,3120900.11195.89157.43240.73268.761docker.io/qdrant/qdrant:v1.17.1@sha256:94728574965d17c6485dd361aa3c0818b325b9016dac5ea6afec7b4b2700865fRun 41940626161
QdrantVector3LoadPassed1,000,0001,000,000038.74725,808.2658.0592.2125.11100docker.io/qdrant/qdrant:v1.17.1@sha256:94728574965d17c6485dd361aa3c0818b325b9016dac5ea6afec7b4b2700865fRun 41940626161
QdrantVector3Exact top 10Passed100,00023,6200900.31126.24585.27794.85886.511docker.io/qdrant/qdrant:v1.17.1@sha256:94728574965d17c6485dd361aa3c0818b325b9016dac5ea6afec7b4b2700865fRun 41940626161
PostgreSQL + pgvectorVector1LoadPassed1,000,0001,000,00007.339136,264.988.4818.61100.98100docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorVector1Exact top 10Passed100,00013,3420900.55814.821,170.081,615.581,690.241docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorVector3LoadPassed1,000,0001,000,000013.00176,915.0118.0241.8568.29100docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161
PostgreSQL + pgvectorVector3Exact top 10Passed100,00010,3540900.7911.491,188.372,037.782,122.071docker.io/pgvector/pgvector:0.8.6-pg18@sha256:2ba9ca5f2e7daa0f0e7723cba1ee9167bab54efd3640516a44ac1a928dd67e7aRun 41940626161

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 node378.6k1 node9,5501 node7,0901 node5,229
KeyLoad1 node36.2k3 nodes18.2k−50% vs 1 node1 node2,1383 nodes1,209−43% vs 1 node1 node1,2823 nodes806−37% vs 1 node1 node8743 nodes575−34% vs 1 node
InfluxDBSingle node1 node16.1k1 node2161 node1331 node120
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,000027.60436,226.73352.46987.771,778.291,000ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadTime series1Range readPassed100,000100,000046.782,137.677.0412.5816.961ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadTime series1AggregatePassed100,000100,000077.9921,282.1811.5920.9631.051ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadTime series1WindowsPassed100,000100,0000114.38874.2817.0829.5544.271ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadTime series3LoadPassed1,000,0001,000,000054.8718,224.99665.941,989.723,430.341,000ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadTime series3Range readPassed100,000100,000082.7061,209.112.1923.7533.891ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadTime series3AggregatePassed100,000100,0000124.135805.5718.9735.4243.541ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadTime series3WindowsPassed100,000100,0000173.945574.926.8347.0256.811ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
TimescaleDBTime series1LoadPassed1,000,0001,000,00002.642378,550.725.61112.15130.671,000docker.io/timescale/timescaledb:2.30.2-pg18@sha256:e72689191e1c977892c53d6f2c344dbc4a9657a867dc8cc1899229f9d3672b2eRun 41940626161
TimescaleDBTime series1Range readPassed100,000100,000010.4719,550.231.573.024.091docker.io/timescale/timescaledb:2.30.2-pg18@sha256:e72689191e1c977892c53d6f2c344dbc4a9657a867dc8cc1899229f9d3672b2eRun 41940626161
TimescaleDBTime series1AggregatePassed100,000100,000014.1047,090.072.134.015.461docker.io/timescale/timescaledb:2.30.2-pg18@sha256:e72689191e1c977892c53d6f2c344dbc4a9657a867dc8cc1899229f9d3672b2eRun 41940626161
TimescaleDBTime series1WindowsPassed100,000100,000019.1245,229.112.945.336.961docker.io/timescale/timescaledb:2.30.2-pg18@sha256:e72689191e1c977892c53d6f2c344dbc4a9657a867dc8cc1899229f9d3672b2eRun 41940626161
InfluxDBTime series1LoadPassed1,000,0001,000,000062.09716,103.861,000.51,005.071,006.981,000docker.io/influxdb:3.12-core@sha256:1c8200f75657c7586678b52570f8c78aedfa2cd42e59c238a733423aab6bd406Run 41940626161
InfluxDBTime series1Range readPassed100,000100,0000463.865215.5873.14108125.71docker.io/influxdb:3.12-core@sha256:1c8200f75657c7586678b52570f8c78aedfa2cd42e59c238a733423aab6bd406Run 41940626161
InfluxDBTime series1AggregatePassed100,000100,0000751.366133.09120.24169191.011docker.io/influxdb:3.12-core@sha256:1c8200f75657c7586678b52570f8c78aedfa2cd42e59c238a733423aab6bd406Run 41940626161
InfluxDBTime series1WindowsPassed100,000100,0000832.841120.07133.71190.34215.81docker.io/influxdb:3.12-core@sha256:1c8200f75657c7586678b52570f8c78aedfa2cd42e59c238a733423aab6bd406Run 41940626161

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 node459.5k1 node8911 node869
KeyLoad1 node30.2k3 nodes9,153−70% vs 1 node1 node29.2726.4k of 100k3 nodes21.39−27% vs 1 node19.3k of 100k1 node85.7777.2k of 100k3 nodes41.45−52% vs 1 node37.3k 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,000033.13130,183.51447.691,195.061,331.381,000ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadAnalytics1Group byPassed100,00026,3570900.36729.27541.17828.77957.771ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadAnalytics1Filtered aggregatePassed100,00077,2100900.19685.77173.94300.75385.181ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadAnalytics3LoadPassed1,000,0001,000,0000109.269,152.511,563.322,987.34,781.071,000ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadAnalytics3Group byPassed100,00019,2560900.38321.39723.011,217.121,476.441ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadAnalytics3Filtered aggregatePassed100,00037,3210900.36441.45372.51627.31749.291ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
ClickHouseAnalytics1LoadPassed1,000,0001,000,00002.176459,473.2433.9247.2353.291,000docker.io/clickhouse/clickhouse-server:26.9@sha256:19bfacb135479a892551a8155cfbbc8211aedf2aa888cd91950b9ee7e76cc7e3Run 41940626161
ClickHouseAnalytics1Group byPassed100,000100,0000112.237890.9716.9231.2440.991docker.io/clickhouse/clickhouse-server:26.9@sha256:19bfacb135479a892551a8155cfbbc8211aedf2aa888cd91950b9ee7e76cc7e3Run 41940626161
ClickHouseAnalytics1Filtered aggregatePassed100,000100,0000115.107868.7517.4631.7441.231docker.io/clickhouse/clickhouse-server:26.9@sha256:19bfacb135479a892551a8155cfbbc8211aedf2aa888cd91950b9ee7e76cc7e3Run 41940626161

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 node2,3593 nodes1,424−40% vs 1 node
KeyLoad1 node2423 nodes134−45% vs 1 node
All recorded values
Every recorded case per job; data type shown beside the database
DatabaseNodesCaseStatusPlannedOperationsErrorsSecondsops/sp50 msp95 msp99 msPer callErrorImageRun
KeyLoadQueue1Publish, receive, ACKPassed100,000100,0000412.6242.3760.92130.77167.421ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadQueue3Publish, receive, ACKPassed100,000100,0000747.809133.72103.25214.5529.911ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
RabbitMQQueue1Publish, receive, ACKPassed100,000100,000042.3862,359.276.499.1614.811docker.io/library/rabbitmq:4.2.4-management@sha256:aeee1db0ff9fdb1347f3585242c14ed10877b56c22eeaa113b21208ef3dd3edfRun 41940626161
RabbitMQQueue3Publish, receive, ACKPassed100,000100,000070.2171,424.1611.0714.2416.391docker.io/library/rabbitmq:4.2.4-management@sha256:aeee1db0ff9fdb1347f3585242c14ed10877b56c22eeaa113b21208ef3dd3edfRun 41940626161

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 node27k3 nodes22.2k−17% vs 1 node1 node6,4113 nodes5,203−19% vs 1 node1 node8,0243 nodes11.3k+41% vs 1 node1 node6,5883 nodes5,536−16% vs 1 node
KeyLoad1 node6,5473 nodes2,092−68% vs 1 node1 node1,2603 nodes257−80% vs 1 node1 node2,4883 nodes1,053−58% vs 1 node1 node1,7383 nodes345−80% vs 1 node
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.7476,546.78235.2344.15438.8100ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadEvents1AppendPassed100,000100,000079.3691,259.9311.5422.8534.741ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadEvents1ReadPassed100,000100,000040.1952,487.855.6112.2219.721ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadEvents1MixedPassed100,000100,000057.5241,738.398.218.0426.421ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadEvents3LoadPassed1,000,0001,000,0000478.1072,091.58751.8994.881,287.26100ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadEvents3AppendPassed100,000100,0000388.694257.2755.3118.36198.591ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadEvents3ReadPassed100,000100,000094.9831,052.8213.0233.6764.171ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KeyLoadEvents3MixedPassed100,000100,0000290.247344.5338.65102.11207.761ghcr.io/managedcode/keyload:latest@sha256:d3a3541c3622bcdd0237fe32cac295406bf48d4bdaf3cfc6608b1cfe034ef991Run 41940626161
KurrentDBEvents1LoadPassed1,000,0001,000,000037.10226,952.7444.68148.45245.83100docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41940626161
KurrentDBEvents1AppendPassed100,000100,000015.5976,411.411.93.8610.741docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41940626161
KurrentDBEvents1ReadPassed100,000100,000012.4628,024.41.813.14.21docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41940626161
KurrentDBEvents1MixedPassed100,000100,000015.1796,588.261.963.9710.181docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41940626161
KurrentDBEvents3LoadPassed1,000,0001,000,000044.96722,238.7655.3155.74256.61100docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41940626161
KurrentDBEvents3AppendPassed100,000100,000019.2215,202.732.55.3111.691docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41940626161
KurrentDBEvents3ReadPassed100,000100,00008.85811,289.171.252.563.541docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41940626161
KurrentDBEvents3MixedPassed100,000100,000018.0645,536.022.475.3716.651docker.io/kurrentplatform/kurrentdb:26.1.2@sha256:ef49a58bab8bc4d7b08cd218f1bb85cf230b03edf5d136e98d6e86a3e5100b6aRun 41940626161

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.