Use a real Bluesky ndjson provider, prepare query-ready assets, and run Q1 through Q5 through the live AdMultaDB runtime with visible timings and result tables.
Live todayBenchmark programs
Benchmark AdMultaDB against real ndjson workloads.
Start with the live ndjson benchmark, point it at a real provider folder, inspect query-ready assets, apply Native acceleration, and measure the five required queries through the AdMultaDB runtime.
One benchmark center, multiple proof paths.
This benchmark center is designed to grow alongside additional transform, query, and stream-processing proofs without changing the navigation model.
More benchmark tracks can sit beside this one.Start with the ndjson provider benchmark.
Point the benchmark at the Bluesky ndjson corpus, scan the selected 1, 10, 100, or 1000 file tier, prepare the query paths, and run the full Q1-Q5 workloads. The interactive preview stays bounded for a quick look, while benchmark execution always runs the full selected tier.
index_1, index_10, index_100, and index_1000 workspaces.- Resolved index directory:
not configured - Files directory:
not configured - Detected benchmark artifacts:
none
What the benchmark contract sees.
No benchmark files selected yet. Scan the dataset path to populate the working set.
Sample lines from the selected dataset
See the real benchmark payload shape: did, kind, nested commit.operation, commit.collection, and time_us.
Scan a dataset to load ndjson preview lines.
Query acceleration state
- Q1 aggregate index:
0collection keys - Q2 unique-user index:
0user memberships - Q4 earliest post index:
0users - Q5 activity span index:
0users
Run the Q1-Q5 benchmark suite.
Collection counts
Count all records by collection.
SELECT data.commit.collection AS event, count() AS count FROM bluesky GROUP BY event ORDER BY count DESC
Run this query to see timing and output for the current dataset.
Collection counts with unique users
Count commit/create events by collection and compute unique users.
SELECT data.commit.collection AS event, count() AS count, uniqExact(data.did) AS users FROM bluesky WHERE data.kind = 'commit' AND data.commit.operation = 'create' GROUP BY event ORDER BY count DESC
Run this query to see timing and output for the current dataset.
Hourly collection counts
Count post, repost, and like events by hour of day.
SELECT data.commit.collection AS event, toHour(fromUnixTimestamp64Micro(data.time_us)) AS hour_of_day, count() AS count FROM bluesky WHERE data.kind = 'commit' AND data.commit.operation = 'create' AND data.commit.collection in ['app.bsky.feed.post', 'app.bsky.feed.repost', 'app.bsky.feed.like'] GROUP BY event, hour_of_day ORDER BY hour_of_day, event
Run this query to see timing and output for the current dataset.
First post top 3
Find the earliest three users by first post timestamp.
SELECT data.did::String AS user_id, min(fromUnixTimestamp64Micro(data.time_us)) AS first_post_ts FROM bluesky WHERE data.kind = 'commit' AND data.commit.operation = 'create' AND data.commit.collection = 'app.bsky.feed.post' GROUP BY user_id ORDER BY first_post_ts ASC LIMIT 3
Run this query to see timing and output for the current dataset.
Activity span top 3
Find the three users with the largest post activity span.
SELECT data.did::String AS user_id, date_diff('milliseconds', min(fromUnixTimestamp64Micro(data.time_us)), max(fromUnixTimestamp64Micro(data.time_us))) AS activity_span FROM bluesky WHERE data.kind = 'commit' AND data.commit.operation = 'create' AND data.commit.collection = 'app.bsky.feed.post' GROUP BY user_id ORDER BY activity_span DESC LIMIT 3
Run this query to see timing and output for the current dataset.
Compare AdMultaDB against published ndjson engine results.
Use the published comparison table for this ndjson workload to benchmark AdMultaDB alongside commercial and analytical databases. The live AdMultaDB timings below come from this machine; the cross-engine table is loaded from the published results snapshot.
Embedded published comparison snapshot
Dataset: Bluesky ndjson
Live run: 1 file tier through the actual AdMultaDB query path.Run Q1-Q5 to place AdMultaDB into the official leaderboard.| Metric | ClickHouse | Starrocks | Apache Doris | Elasticsearch | SingleStore | MongoDB | DuckDB | PostgreSQL |
|---|---|---|---|---|---|---|---|---|
| Data size | 92.72 GiB (x1.00) | 179.73 GiB (x1.94) | 199.88 GiB (x2.16) | 359.58 GiB (x3.88) | 218.75 GiB (x2.36) | 164.60 GiB (x1.78) | 440.14 GiB (x4.75) | 615.01 GiB (x6.63) |
| Data quality | 999999258 | 997999662 | 999999994 | 999999101 | 811999990 | 893632990 | 974400000 | 804000000 |
| Q1 | 0.225s (x1.00) | 0.510s (x2.21) | 1.630s (x6.98) | 3.884s (x16.57) | 43.980s (x187.19) | 1054.370s (x4486.72) | 3717.611s (x15819.66) | 3884.170s (x16528.43) |
| Q2 | 3.236s (x1.00) | 7.180s (x2.22) | 6.610s (x2.04) | 28.548s (x8.80) | 196.390s (x60.51) | 20461.800s (x6303.70) | 3721.045s (x1146.35) | 4277.800s (x1317.87) |
| Q3 | 2.136s (x1.47) | 1.450s (x1.00) | 1.780s (x1.23) | 23.570s (x16.15) | 111.105s (x76.11) | 1216.240s (x833.05) | 3717.631s (x2546.33) | 4253.340s (x2913.25) |
| Q4 | 0.479s (x1.00) | 1.010s (x2.09) | 0.930s (x1.92) | 8.080s (x16.54) | 32.407s (x66.29) | 168.797s (x345.21) | 3719.273s (x7605.90) | 4907.090s (x10034.97) |
| Q5 | 0.514s (x1.00) | 1.100s (x2.12) | 1.030s (x1.98) | 8.994s (x17.18) | 40.644s (x77.58) | 173.268s (x330.68) | 3722.804s (x7104.61) | 4913.500s (x9376.93) |
| Suite total | 6.59s (x1) | 11.25s (x1.71) | 11.98s (x1.82) | 73.076s (x11.09) | 424.526s (x64.42) | 23074.475s (x3501.44) | 18598.364s (x2822.21) | 22235.9s (x3374.19) |
Query output
Prepare query paths and run a query to inspect benchmark output rows.
index_1, index_10, index_100, or index_1000 assets so teams know the dataset is ready for repeatable testing.