From 28a20eea002285014b5c87135c3d12eeb438d7c6 Mon Sep 17 00:00:00 2001 From: Robert Schulze Date: Tue, 8 Apr 2025 17:02:50 +0000 Subject: [PATCH] Refresh Postgres results --- ..._m6i.8xlarge_bluesky_1000m_lz4.index_usage | 77 ++++++++++--------- ...m6i.8xlarge_bluesky_1000m_pglz.index_usage | 77 ++++++++++--------- .../_m6i.8xlarge_bluesky_100m_lz4.index_usage | 63 +++++++-------- ..._m6i.8xlarge_bluesky_100m_pglz.index_usage | 63 +++++++-------- .../_m6i.8xlarge_bluesky_10m_lz4.index_usage | 51 ++++++------ .../_m6i.8xlarge_bluesky_10m_pglz.index_usage | 51 ++++++------ .../_m6i.8xlarge_bluesky_1m_lz4.index_usage | 63 +++++++-------- .../_m6i.8xlarge_bluesky_1m_pglz.index_usage | 63 +++++++-------- .../m6i.8xlarge_bluesky_1000m_lz4.json | 16 ++-- .../m6i.8xlarge_bluesky_1000m_pglz.json | 16 ++-- .../results/m6i.8xlarge_bluesky_100m_lz4.json | 16 ++-- .../m6i.8xlarge_bluesky_100m_pglz.json | 16 ++-- .../results/m6i.8xlarge_bluesky_10m_lz4.json | 14 ++-- .../results/m6i.8xlarge_bluesky_10m_pglz.json | 16 ++-- .../results/m6i.8xlarge_bluesky_1m_lz4.json | 10 +-- .../results/m6i.8xlarge_bluesky_1m_pglz.json | 10 +-- 16 files changed, 317 insertions(+), 305 deletions(-) diff --git a/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_1000m_lz4.index_usage b/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_1000m_lz4.index_usage index d67e033..6a9a10f 100644 --- a/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_1000m_lz4.index_usage +++ b/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_1000m_lz4.index_usage @@ -1,17 +1,17 @@ ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q1: - Sort (cost=69519427.00..69519427.03 rows=13 width=40) + Sort (cost=69172569.47..69172569.50 rows=12 width=40) Sort Key: (count(*)) DESC - -> Finalize GroupAggregate (cost=69519423.40..69519426.75 rows=13 width=40) + -> Finalize GroupAggregate (cost=69172566.16..69172569.26 rows=12 width=40) Group Key: (((data -> 'commit'::text) ->> 'collection'::text)) - -> Gather Merge (cost=69519423.40..69519426.43 rows=26 width=40) + -> Gather Merge (cost=69172566.16..69172568.96 rows=24 width=40) Workers Planned: 2 - -> Sort (cost=69518423.37..69518423.40 rows=13 width=40) + -> Sort (cost=69171566.13..69171566.16 rows=12 width=40) Sort Key: (((data -> 'commit'::text) ->> 'collection'::text)) - -> Partial HashAggregate (cost=69518422.94..69518423.13 rows=13 width=40) + -> Partial HashAggregate (cost=69171565.74..69171565.92 rows=12 width=40) Group Key: ((data -> 'commit'::text) ->> 'collection'::text) - -> Parallel Seq Scan on bluesky (cost=0.00..67846651.20 rows=334354347 width=32) + -> Parallel Seq Scan on bluesky (cost=0.00..67495020.80 rows=335308987 width=32) JIT: Functions: 7 Options: Inlining true, Optimization true, Expressions true, Deforming true @@ -19,15 +19,15 @@ Index usage for query Q1: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q2: - Sort (cost=534467372.01..534467372.04 rows=13 width=48) + Sort (cost=531988506.66..531988506.69 rows=12 width=48) Sort Key: (count(*)) DESC - -> GroupAggregate (cost=438967879.95..534467371.77 rows=13 width=48) + -> GroupAggregate (cost=436041090.60..531988506.44 rows=12 width=48) Group Key: (((data -> 'commit'::text) ->> 'collection'::text)) - -> Gather Merge (cost=438967879.95..526916003.64 rows=755136794 width=569) + -> Gather Merge (cost=436041090.60..524401719.92 rows=758678634 width=566) Workers Planned: 2 - -> Sort (cost=438966879.92..439753480.75 rows=314640331 width=569) + -> Sort (cost=436040090.57..436830380.82 rows=316116098 width=566) Sort Key: (((data -> 'commit'::text) ->> 'collection'::text)), ((data ->> 'did'::text)) - -> Parallel Seq Scan on bluesky (cost=0.00..71927510.45 rows=314640331 width=569) + -> Parallel Seq Scan on bluesky (cost=0.00..71590418.69 rows=316116098 width=566) Filter: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text)) JIT: Functions: 8 @@ -36,15 +36,15 @@ Index usage for query Q2: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q3: - Finalize GroupAggregate (cost=134562855.16..206828438.13 rows=473420435 width=72) + Finalize GroupAggregate (cost=134041870.72..206094379.64 rows=472024562 width=72) Group Key: (EXTRACT(hour FROM to_timestamp(((((data ->> 'time_us'::text))::bigint / 1000000))::double precision))), (((data -> 'commit'::text) ->> 'collection'::text)) - -> Gather Merge (cost=134562855.16..188483396.27 rows=394517030 width=72) + -> Gather Merge (cost=134041870.72..187803427.86 rows=393353802 width=72) Workers Planned: 2 - -> Partial GroupAggregate (cost=134561855.14..142945342.03 rows=197258515 width=72) + -> Partial GroupAggregate (cost=134040870.70..142399638.99 rows=196676901 width=72) Group Key: (EXTRACT(hour FROM to_timestamp(((((data ->> 'time_us'::text))::bigint / 1000000))::double precision))), (((data -> 'commit'::text) ->> 'collection'::text)) - -> Sort (cost=134561855.14..135055001.43 rows=197258515 width=64) + -> Sort (cost=134040870.70..134532562.95 rows=196676901 width=64) Sort Key: (EXTRACT(hour FROM to_timestamp(((((data ->> 'time_us'::text))::bigint / 1000000))::double precision))), (((data -> 'commit'::text) ->> 'collection'::text)) - -> Parallel Seq Scan on bluesky (cost=0.00..77718225.92 rows=197258515 width=64) + -> Parallel Seq Scan on bluesky (cost=0.00..77369022.11 rows=196676901 width=64) Filter: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = ANY ('{app.bsky.feed.post,app.bsky.feed.repost,app.bsky.feed.like}'::text[]))) JIT: Functions: 11 @@ -53,39 +53,42 @@ Index usage for query Q3: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q4: - Limit (cost=116709176.13..116709176.13 rows=3 width=40) - -> Sort (cost=116709176.13..116885878.13 rows=70680802 width=40) + Limit (cost=94926225.45..94926225.46 rows=3 width=40) + -> Sort (cost=94926225.45..94926749.83 rows=209751 width=40) Sort Key: (min(('1970-01-01 00:00:00+00'::timestamp with time zone + ('00:00:00.000001'::interval * (((data ->> 'time_us'::text))::bigint)::double precision)))) - -> Finalize GroupAggregate (cost=106788266.40..115795640.01 rows=70680802 width=40) + -> Finalize GroupAggregate (cost=94869849.75..94923514.46 rows=209751 width=40) Group Key: ((data ->> 'did'::text)) - -> Gather Merge (cost=106788266.40..114617626.65 rows=58900668 width=40) + -> Gather Merge (cost=94869849.75..94918795.06 rows=419502 width=40) Workers Planned: 2 - -> Partial GroupAggregate (cost=106787266.37..107818028.06 rows=29450334 width=40) - Group Key: ((data ->> 'did'::text)) - -> Sort (cost=106787266.37..106860892.21 rows=29450334 width=569) - Sort Key: ((data ->> 'did'::text)) - -> Parallel Seq Scan on bluesky (cost=0.00..72935592.23 rows=29450334 width=569) + -> Sort (cost=94868849.72..94869374.10 rows=209751 width=40) + Sort Key: ((data ->> 'did'::text)) + -> Partial HashAggregate (cost=90626411.32..94844573.00 rows=209751 width=40) + Group Key: (data ->> 'did'::text) + Planned Partitions: 32 + -> Parallel Seq Scan on bluesky (cost=0.00..72597573.04 rows=29166978 width=566) Filter: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = 'app.bsky.feed.post'::text)) JIT: - Functions: 13 + Functions: 10 Options: Inlining true, Optimization true, Expressions true, Deforming true ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q5: - Limit (cost=117901914.66..117901914.66 rows=3 width=64) - -> Sort (cost=117901914.66..118078616.66 rows=70680802 width=64) + Limit (cost=95439986.96..95439986.96 rows=3 width=64) + -> Sort (cost=95439986.96..95440511.33 rows=209751 width=64) Sort Key: ((EXTRACT(epoch FROM (max(('1970-01-01 00:00:00+00'::timestamp with time zone + ('00:00:00.000001'::interval * (((data ->> 'time_us'::text))::bigint)::double precision))) - min(('1970-01-01 00:00:00+00'::timestamp with time zone + ('00:00:00.000001'::interval * (((data ->> 'time_us'::text))::bigint)::double precision))))) * '1000'::numeric)) DESC - -> Finalize GroupAggregate (cost=106788266.40..116988378.54 rows=70680802 width=64) + -> Finalize GroupAggregate (cost=95380989.36..95437275.96 rows=209751 width=64) Group Key: ((data ->> 'did'::text)) - -> Gather Merge (cost=106788266.40..115133007.49 rows=58900668 width=48) + -> Gather Merge (cost=95380989.36..95429934.68 rows=419502 width=48) Workers Planned: 2 - -> Partial GroupAggregate (cost=106787266.37..108333408.91 rows=29450334 width=48) - Group Key: ((data ->> 'did'::text)) - -> Sort (cost=106787266.37..106860892.21 rows=29450334 width=569) - Sort Key: ((data ->> 'did'::text)) - -> Parallel Seq Scan on bluesky (cost=0.00..72935592.23 rows=29450334 width=569) + -> Sort (cost=95379989.34..95380513.71 rows=209751 width=48) + Sort Key: ((data ->> 'did'::text)) + -> Partial HashAggregate (cost=91136833.44..95354995.11 rows=209751 width=48) + Group Key: (data ->> 'did'::text) + Planned Partitions: 32 + -> Parallel Seq Scan on bluesky (cost=0.00..72597573.04 rows=29166978 width=566) Filter: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = 'app.bsky.feed.post'::text)) JIT: - Functions: 13 - Options: Inlining true, Optimization true, Expressions true, Deforming true \ No newline at end of file + Functions: 10 + Options: Inlining true, Optimization true, Expressions true, Deforming true + diff --git a/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_1000m_pglz.index_usage b/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_1000m_pglz.index_usage index 7c515f5..2d9a5e1 100644 --- a/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_1000m_pglz.index_usage +++ b/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_1000m_pglz.index_usage @@ -1,17 +1,17 @@ ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q1: - Sort (cost=69897029.86..69897029.89 rows=13 width=40) + Sort (cost=69151118.72..69151118.75 rows=13 width=40) Sort Key: (count(*)) DESC - -> Finalize GroupAggregate (cost=69897026.26..69897029.62 rows=13 width=40) + -> Finalize GroupAggregate (cost=69151115.12..69151118.48 rows=13 width=40) Group Key: (((data -> 'commit'::text) ->> 'collection'::text)) - -> Gather Merge (cost=69897026.26..69897029.29 rows=26 width=40) + -> Gather Merge (cost=69151115.12..69151118.16 rows=26 width=40) Workers Planned: 2 - -> Sort (cost=69896026.24..69896026.27 rows=13 width=40) + -> Sort (cost=69150115.10..69150115.13 rows=13 width=40) Sort Key: (((data -> 'commit'::text) ->> 'collection'::text)) - -> Partial HashAggregate (cost=69896025.80..69896025.99 rows=13 width=40) + -> Partial HashAggregate (cost=69150114.66..69150114.86 rows=13 width=40) Group Key: ((data -> 'commit'::text) ->> 'collection'::text) - -> Parallel Seq Scan on bluesky (cost=0.00..68213928.60 rows=336419440 width=32) + -> Parallel Seq Scan on bluesky (cost=0.00..67475856.00 rows=334851733 width=32) JIT: Functions: 7 Options: Inlining true, Optimization true, Expressions true, Deforming true @@ -19,15 +19,15 @@ Index usage for query Q1: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q2: - Sort (cost=533218266.90..533218266.93 rows=13 width=48) + Sort (cost=532206068.60..532206068.63 rows=13 width=48) Sort Key: (count(*)) DESC - -> GroupAggregate (cost=437166993.49..533218266.66 rows=13 width=48) + -> GroupAggregate (cost=436209018.58..532206068.36 rows=13 width=48) Group Key: (((data -> 'commit'::text) ->> 'collection'::text)) - -> Gather Merge (cost=437166993.49..525623267.88 rows=759499858 width=568) + -> Gather Merge (cost=436209018.58..524615357.15 rows=759071101 width=568) Workers Planned: 2 - -> Sort (cost=437165993.47..437957139.15 rows=316458274 width=568) + -> Sort (cost=436208018.55..436998717.62 rows=316279625 width=568) Sort Key: (((data -> 'commit'::text) ->> 'collection'::text)), ((data ->> 'did'::text)) - -> Parallel Seq Scan on bluesky (cost=0.00..72319365.77 rows=316458274 width=568) + -> Parallel Seq Scan on bluesky (cost=0.00..71568642.12 rows=316279625 width=568) Filter: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text)) JIT: Functions: 8 @@ -36,15 +36,15 @@ Index usage for query Q2: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q3: - Finalize GroupAggregate (cost=134776076.46..206825424.55 rows=472003856 width=72) + Finalize GroupAggregate (cost=134473230.64..207053525.23 rows=475482150 width=72) Group Key: (EXTRACT(hour FROM to_timestamp(((((data ->> 'time_us'::text))::bigint / 1000000))::double precision))), (((data -> 'commit'::text) ->> 'collection'::text)) - -> Gather Merge (cost=134776076.46..188535275.14 rows=393336546 width=72) + -> Gather Merge (cost=134473230.64..188628591.92 rows=396235124 width=72) Workers Planned: 2 - -> Partial GroupAggregate (cost=134775076.44..143133478.04 rows=196668273 width=72) + -> Partial GroupAggregate (cost=134472230.62..142892227.00 rows=198117562 width=72) Group Key: (EXTRACT(hour FROM to_timestamp(((((data ->> 'time_us'::text))::bigint / 1000000))::double precision))), (((data -> 'commit'::text) ->> 'collection'::text)) - -> Sort (cost=134775076.44..135266747.12 rows=196668273 width=64) + -> Sort (cost=134472230.62..134967524.52 rows=198117562 width=64) Sort Key: (EXTRACT(hour FROM to_timestamp(((((data ->> 'time_us'::text))::bigint / 1000000))::double precision))), (((data -> 'commit'::text) ->> 'collection'::text)) - -> Parallel Seq Scan on bluesky (cost=0.00..78105780.64 rows=196668273 width=64) + -> Parallel Seq Scan on bluesky (cost=0.00..77374841.81 rows=198117562 width=64) Filter: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = ANY ('{app.bsky.feed.post,app.bsky.feed.repost,app.bsky.feed.like}'::text[]))) JIT: Functions: 11 @@ -53,39 +53,42 @@ Index usage for query Q3: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q4: - Limit (cost=118661659.29..118661659.29 rows=3 width=40) - -> Sort (cost=118661659.29..118846281.04 rows=73848702 width=40) + Limit (cost=95640269.60..95640269.61 rows=3 width=40) + -> Sort (cost=95640269.60..95640809.49 rows=215958 width=40) Sort Key: (min(('1970-01-01 00:00:00+00'::timestamp with time zone + ('00:00:00.000001'::interval * (((data ->> 'time_us'::text))::bigint)::double precision)))) - -> Finalize GroupAggregate (cost=108296096.38..117707178.66 rows=73848702 width=40) + -> Finalize GroupAggregate (cost=95582225.61..95637478.38 rows=215958 width=40) Group Key: ((data ->> 'did'::text)) - -> Gather Merge (cost=108296096.38..116476366.96 rows=61540584 width=40) + -> Gather Merge (cost=95582225.61..95632619.33 rows=431916 width=40) Workers Planned: 2 - -> Partial GroupAggregate (cost=108295096.35..109372056.57 rows=30770292 width=40) - Group Key: ((data ->> 'did'::text)) - -> Sort (cost=108295096.35..108372022.08 rows=30770292 width=568) - Sort Key: ((data ->> 'did'::text)) - -> Parallel Seq Scan on bluesky (cost=0.00..73337145.93 rows=30770292 width=568) + -> Sort (cost=95581225.59..95581765.48 rows=215958 width=40) + Sort Key: ((data ->> 'did'::text)) + -> Partial HashAggregate (cost=91198626.16..95556183.28 rows=215958 width=40) + Group Key: (data ->> 'did'::text) + Planned Partitions: 32 + -> Parallel Seq Scan on bluesky (cost=0.00..72573959.27 rows=30130907 width=568) Filter: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = 'app.bsky.feed.post'::text)) JIT: - Functions: 13 + Functions: 10 Options: Inlining true, Optimization true, Expressions true, Deforming true ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q5: - Limit (cost=119907856.12..119907856.13 rows=3 width=64) - -> Sort (cost=119907856.12..120092477.88 rows=73848702 width=64) + Limit (cost=96170998.45..96170998.45 rows=3 width=64) + -> Sort (cost=96170998.45..96171538.34 rows=215958 width=64) Sort Key: ((EXTRACT(epoch FROM (max(('1970-01-01 00:00:00+00'::timestamp with time zone + ('00:00:00.000001'::interval * (((data ->> 'time_us'::text))::bigint)::double precision))) - min(('1970-01-01 00:00:00+00'::timestamp with time zone + ('00:00:00.000001'::interval * (((data ->> 'time_us'::text))::bigint)::double precision))))) * '1000'::numeric)) DESC - -> Finalize GroupAggregate (cost=108296096.38..118953375.49 rows=73848702 width=64) + -> Finalize GroupAggregate (cost=96110254.98..96168207.23 rows=215958 width=64) Group Key: ((data ->> 'did'::text)) - -> Gather Merge (cost=108296096.38..117014847.07 rows=61540584 width=48) + -> Gather Merge (cost=96110254.98..96160648.70 rows=431916 width=48) Workers Planned: 2 - -> Partial GroupAggregate (cost=108295096.35..109910536.68 rows=30770292 width=48) - Group Key: ((data ->> 'did'::text)) - -> Sort (cost=108295096.35..108372022.08 rows=30770292 width=568) - Sort Key: ((data ->> 'did'::text)) - -> Parallel Seq Scan on bluesky (cost=0.00..73337145.93 rows=30770292 width=568) + -> Sort (cost=96109254.96..96109794.85 rows=215958 width=48) + Sort Key: ((data ->> 'did'::text)) + -> Partial HashAggregate (cost=91725917.03..96083474.16 rows=215958 width=48) + Group Key: (data ->> 'did'::text) + Planned Partitions: 32 + -> Parallel Seq Scan on bluesky (cost=0.00..72573959.27 rows=30130907 width=568) Filter: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = 'app.bsky.feed.post'::text)) JIT: - Functions: 13 - Options: Inlining true, Optimization true, Expressions true, Deforming true \ No newline at end of file + Functions: 10 + Options: Inlining true, Optimization true, Expressions true, Deforming true + diff --git a/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_100m_lz4.index_usage b/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_100m_lz4.index_usage index 64d4fce..d769fe5 100644 --- a/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_100m_lz4.index_usage +++ b/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_100m_lz4.index_usage @@ -1,17 +1,17 @@ ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q1: - Sort (cost=7418811.40..7418811.43 rows=13 width=40) + Sort (cost=7419341.18..7419341.22 rows=14 width=40) Sort Key: (count(*)) DESC - -> Finalize GroupAggregate (cost=7418807.80..7418811.15 rows=13 width=40) + -> Finalize GroupAggregate (cost=7419337.30..7419340.92 rows=14 width=40) Group Key: (((data -> 'commit'::text) ->> 'collection'::text)) - -> Gather Merge (cost=7418807.80..7418810.83 rows=26 width=40) + -> Gather Merge (cost=7419337.30..7419340.57 rows=28 width=40) Workers Planned: 2 - -> Sort (cost=7417807.77..7417807.80 rows=13 width=40) + -> Sort (cost=7418337.28..7418337.31 rows=14 width=40) Sort Key: (((data -> 'commit'::text) ->> 'collection'::text)) - -> Partial HashAggregate (cost=7417807.34..7417807.53 rows=13 width=40) + -> Partial HashAggregate (cost=7418336.80..7418337.01 rows=14 width=40) Group Key: ((data -> 'commit'::text) ->> 'collection'::text) - -> Parallel Seq Scan on bluesky (cost=0.00..7228403.50 rows=37880767 width=32) + -> Parallel Seq Scan on bluesky (cost=0.00..7228798.60 rows=37907640 width=32) JIT: Functions: 7 Options: Inlining true, Optimization true, Expressions true, Deforming true @@ -19,15 +19,15 @@ Index usage for query Q1: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q2: - Sort (cost=59531191.32..59531191.35 rows=13 width=48) + Sort (cost=59448548.74..59448548.78 rows=14 width=48) Sort Key: (count(*)) DESC - -> GroupAggregate (cost=48610581.00..59531191.08 rows=13 width=48) + -> GroupAggregate (cost=48545327.90..59448548.47 rows=14 width=48) Group Key: (((data -> 'commit'::text) ->> 'collection'::text)) - -> Gather Merge (cost=48610581.00..58667672.74 rows=86351814 width=564) + -> Gather Merge (cost=48545327.90..58586405.15 rows=86214311 width=563) Workers Planned: 2 - -> Sort (cost=48609580.97..48699530.78 rows=35979922 width=564) + -> Sort (cost=48544327.87..48634134.45 rows=35922630 width=563) Sort Key: (((data -> 'commit'::text) ->> 'collection'::text)), ((data ->> 'did'::text)) - -> Parallel Seq Scan on bluesky (cost=0.00..7692408.86 rows=35979922 width=564) + -> Parallel Seq Scan on bluesky (cost=0.00..7692719.05 rows=35922630 width=563) Filter: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text)) JIT: Functions: 8 @@ -36,15 +36,15 @@ Index usage for query Q2: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q3: - Finalize GroupAggregate (cost=13348883.42..21193034.11 rows=51387965 width=72) + Finalize GroupAggregate (cost=13324571.12..21133858.85 rows=51159573 width=72) Group Key: (EXTRACT(hour FROM to_timestamp(((((data ->> 'time_us'::text))::bigint / 1000000))::double precision))), (((data -> 'commit'::text) ->> 'collection'::text)) - -> Gather Merge (cost=13348883.42..19201750.47 rows=42823304 width=72) + -> Gather Merge (cost=13324571.12..19151425.39 rows=42632978 width=72) Workers Planned: 2 - -> Partial GroupAggregate (cost=13347883.40..14257878.61 rows=21411652 width=72) + -> Partial GroupAggregate (cost=13323571.10..14229521.88 rows=21316489 width=72) Group Key: (EXTRACT(hour FROM to_timestamp(((((data ->> 'time_us'::text))::bigint / 1000000))::double precision))), (((data -> 'commit'::text) ->> 'collection'::text)) - -> Sort (cost=13347883.40..13401412.53 rows=21411652 width=64) + -> Sort (cost=13323571.10..13376862.32 rows=21316489 width=64) Sort Key: (EXTRACT(hour FROM to_timestamp(((((data ->> 'time_us'::text))::bigint / 1000000))::double precision))), (((data -> 'commit'::text) ->> 'collection'::text)) - -> Parallel Seq Scan on bluesky (cost=0.00..8325728.13 rows=21411652 width=64) + -> Parallel Seq Scan on bluesky (cost=0.00..8324418.75 rows=21316489 width=64) Filter: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = ANY ('{app.bsky.feed.post,app.bsky.feed.repost,app.bsky.feed.like}'::text[]))) JIT: Functions: 11 @@ -53,19 +53,19 @@ Index usage for query Q3: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q4: - Limit (cost=10270904.93..10270904.94 rows=3 width=40) - -> Sort (cost=10270904.93..10271443.06 rows=215251 width=40) + Limit (cost=10256815.93..10256815.93 rows=3 width=40) + -> Sort (cost=10256815.93..10257336.51 rows=208232 width=40) Sort Key: (min(('1970-01-01 00:00:00+00'::timestamp with time zone + ('00:00:00.000001'::interval * (((data ->> 'time_us'::text))::bigint)::double precision)))) - -> Finalize GroupAggregate (cost=10213050.97..10268122.85 rows=215251 width=40) + -> Finalize GroupAggregate (cost=10200848.49..10254124.57 rows=208232 width=40) Group Key: ((data ->> 'did'::text)) - -> Gather Merge (cost=10213050.97..10263279.71 rows=430502 width=40) + -> Gather Merge (cost=10200848.49..10249439.35 rows=416464 width=40) Workers Planned: 2 - -> Sort (cost=10212050.94..10212589.07 rows=215251 width=40) + -> Sort (cost=10199848.46..10200369.04 rows=208232 width=40) Sort Key: ((data ->> 'did'::text)) - -> Partial HashAggregate (cost=9733373.99..10187097.38 rows=215251 width=40) + -> Partial HashAggregate (cost=9724399.21..10175758.92 rows=208232 width=40) Group Key: (data ->> 'did'::text) Planned Partitions: 32 - -> Parallel Seq Scan on bluesky (cost=0.00..7804416.65 rows=3120659 width=564) + -> Parallel Seq Scan on bluesky (cost=0.00..7805175.48 rows=3104912 width=563) Filter: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = 'app.bsky.feed.post'::text)) JIT: Functions: 10 @@ -74,20 +74,21 @@ Index usage for query Q4: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q5: - Limit (cost=10328942.10..10328942.11 rows=3 width=64) - -> Sort (cost=10328942.10..10329480.23 rows=215251 width=64) + Limit (cost=10314468.79..10314468.79 rows=3 width=64) + -> Sort (cost=10314468.79..10314989.37 rows=208232 width=64) Sort Key: ((EXTRACT(epoch FROM (max(('1970-01-01 00:00:00+00'::timestamp with time zone + ('00:00:00.000001'::interval * (((data ->> 'time_us'::text))::bigint)::double precision))) - min(('1970-01-01 00:00:00+00'::timestamp with time zone + ('00:00:00.000001'::interval * (((data ->> 'time_us'::text))::bigint)::double precision))))) * '1000'::numeric)) DESC - -> Finalize GroupAggregate (cost=10268397.50..10326160.02 rows=215251 width=64) + -> Finalize GroupAggregate (cost=10255898.45..10311777.43 rows=208232 width=64) Group Key: ((data ->> 'did'::text)) - -> Gather Merge (cost=10268397.50..10318626.24 rows=430502 width=48) + -> Gather Merge (cost=10255898.45..10304489.31 rows=416464 width=48) Workers Planned: 2 - -> Sort (cost=10267397.48..10267935.60 rows=215251 width=48) + -> Sort (cost=10254898.42..10255419.00 rows=208232 width=48) Sort Key: ((data ->> 'did'::text)) - -> Partial HashAggregate (cost=9787985.52..10241708.91 rows=215251 width=48) + -> Partial HashAggregate (cost=9778735.17..10230094.88 rows=208232 width=48) Group Key: (data ->> 'did'::text) Planned Partitions: 32 - -> Parallel Seq Scan on bluesky (cost=0.00..7804416.65 rows=3120659 width=564) + -> Parallel Seq Scan on bluesky (cost=0.00..7805175.48 rows=3104912 width=563) Filter: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = 'app.bsky.feed.post'::text)) JIT: Functions: 10 - Options: Inlining true, Optimization true, Expressions true, Deforming true \ No newline at end of file + Options: Inlining true, Optimization true, Expressions true, Deforming true + diff --git a/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_100m_pglz.index_usage b/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_100m_pglz.index_usage index 72ee211..6eb50f6 100644 --- a/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_100m_pglz.index_usage +++ b/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_100m_pglz.index_usage @@ -1,17 +1,17 @@ ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q1: - Sort (cost=7421636.66..7421636.69 rows=13 width=40) + Sort (cost=7420468.33..7420468.36 rows=12 width=40) Sort Key: (count(*)) DESC - -> Finalize GroupAggregate (cost=7421633.06..7421636.42 rows=13 width=40) + -> Finalize GroupAggregate (cost=7420465.02..7420468.12 rows=12 width=40) Group Key: (((data -> 'commit'::text) ->> 'collection'::text)) - -> Gather Merge (cost=7421633.06..7421636.09 rows=26 width=40) + -> Gather Merge (cost=7420465.02..7420467.82 rows=24 width=40) Workers Planned: 2 - -> Sort (cost=7420633.04..7420633.07 rows=13 width=40) + -> Sort (cost=7419465.00..7419465.03 rows=12 width=40) Sort Key: (((data -> 'commit'::text) ->> 'collection'::text)) - -> Partial HashAggregate (cost=7420632.60..7420632.80 rows=13 width=40) + -> Partial HashAggregate (cost=7419464.60..7419464.78 rows=12 width=40) Group Key: ((data -> 'commit'::text) ->> 'collection'::text) - -> Parallel Seq Scan on bluesky (cost=0.00..7230919.45 rows=37942630 width=32) + -> Parallel Seq Scan on bluesky (cost=0.00..7229937.45 rows=37905430 width=32) JIT: Functions: 7 Options: Inlining true, Optimization true, Expressions true, Deforming true @@ -19,15 +19,15 @@ Index usage for query Q1: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q2: - Sort (cost=59508397.04..59508397.07 rows=13 width=48) + Sort (cost=59407046.51..59407046.54 rows=12 width=48) Sort Key: (count(*)) DESC - -> GroupAggregate (cost=48593170.27..59508396.80 rows=13 width=48) + -> GroupAggregate (cost=48512730.26..59407046.30 rows=12 width=48) Group Key: (((data -> 'commit'::text) ->> 'collection'::text)) - -> Gather Merge (cost=48593170.27..58645304.15 rows=86309245 width=564) + -> Gather Merge (cost=48512730.26..58545607.11 rows=86143901 width=563) Workers Planned: 2 - -> Sort (cost=48592170.24..48682075.71 rows=35962185 width=564) + -> Sort (cost=48511730.23..48601463.46 rows=35893292 width=563) Sort Key: (((data -> 'commit'::text) ->> 'collection'::text)), ((data ->> 'did'::text)) - -> Parallel Seq Scan on bluesky (cost=0.00..7695300.10 rows=35962185 width=564) + -> Parallel Seq Scan on bluesky (cost=0.00..7693694.63 rows=35893292 width=563) Filter: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text)) JIT: Functions: 8 @@ -36,15 +36,15 @@ Index usage for query Q2: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q3: - Finalize GroupAggregate (cost=13333461.27..21151347.97 rows=51215906 width=72) + Finalize GroupAggregate (cost=13281884.68..21030443.37 rows=50761730 width=72) Group Key: (EXTRACT(hour FROM to_timestamp(((((data ->> 'time_us'::text))::bigint / 1000000))::double precision))), (((data -> 'commit'::text) ->> 'collection'::text)) - -> Gather Merge (cost=13333461.27..19166731.61 rows=42679922 width=72) + -> Gather Merge (cost=13281884.68..19063426.33 rows=42301442 width=72) Workers Planned: 2 - -> Partial GroupAggregate (cost=13332461.25..14239409.59 rows=21339961 width=72) + -> Partial GroupAggregate (cost=13280884.66..14179790.30 rows=21150721 width=72) Group Key: (EXTRACT(hour FROM to_timestamp(((((data ->> 'time_us'::text))::bigint / 1000000))::double precision))), (((data -> 'commit'::text) ->> 'collection'::text)) - -> Sort (cost=13332461.25..13385811.15 rows=21339961 width=64) + -> Sort (cost=13280884.66..13333761.46 rows=21150721 width=64) Sort Key: (EXTRACT(hour FROM to_timestamp(((((data ->> 'time_us'::text))::bigint / 1000000))::double precision))), (((data -> 'commit'::text) ->> 'collection'::text)) - -> Parallel Seq Scan on bluesky (cost=0.00..8327636.31 rows=21339961 width=64) + -> Parallel Seq Scan on bluesky (cost=0.00..8321791.91 rows=21150721 width=64) Filter: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = ANY ('{app.bsky.feed.post,app.bsky.feed.repost,app.bsky.feed.like}'::text[]))) JIT: Functions: 11 @@ -53,19 +53,19 @@ Index usage for query Q3: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q4: - Limit (cost=10332187.59..10332187.59 rows=3 width=40) - -> Sort (cost=10332187.59..10332693.61 rows=202409 width=40) + Limit (cost=10236435.01..10236435.02 rows=3 width=40) + -> Sort (cost=10236435.01..10236930.93 rows=198369 width=40) Sort Key: (min(('1970-01-01 00:00:00+00'::timestamp with time zone + ('00:00:00.000001'::interval * (((data ->> 'time_us'::text))::bigint)::double precision)))) - -> Finalize GroupAggregate (cost=10277785.22..10329571.49 rows=202409 width=40) + -> Finalize GroupAggregate (cost=10183118.49..10233871.13 rows=198369 width=40) Group Key: ((data ->> 'did'::text)) - -> Gather Merge (cost=10277785.22..10325017.28 rows=404818 width=40) + -> Gather Merge (cost=10183118.49..10229407.82 rows=396738 width=40) Workers Planned: 2 - -> Sort (cost=10276785.20..10277291.22 rows=202409 width=40) + -> Sort (cost=10182118.47..10182614.39 rows=198369 width=40) Sort Key: ((data ->> 'did'::text)) - -> Partial HashAggregate (cost=9787940.64..10253408.97 rows=202409 width=40) + -> Partial HashAggregate (cost=9711308.73..10159239.15 rows=198369 width=40) Group Key: (data ->> 'did'::text) Planned Partitions: 32 - -> Parallel Seq Scan on bluesky (cost=0.00..7808066.48 rows=3203032 width=564) + -> Parallel Seq Scan on bluesky (cost=0.00..7806224.00 rows=3082038 width=563) Filter: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = 'app.bsky.feed.post'::text)) JIT: Functions: 10 @@ -74,20 +74,21 @@ Index usage for query Q4: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q5: - Limit (cost=10391460.26..10391460.27 rows=3 width=64) - -> Sort (cost=10391460.26..10391966.28 rows=202409 width=64) + Limit (cost=10293529.29..10293529.29 rows=3 width=64) + -> Sort (cost=10293529.29..10294025.21 rows=198369 width=64) Sort Key: ((EXTRACT(epoch FROM (max(('1970-01-01 00:00:00+00'::timestamp with time zone + ('00:00:00.000001'::interval * (((data ->> 'time_us'::text))::bigint)::double precision))) - min(('1970-01-01 00:00:00+00'::timestamp with time zone + ('00:00:00.000001'::interval * (((data ->> 'time_us'::text))::bigint)::double precision))))) * '1000'::numeric)) DESC - -> Finalize GroupAggregate (cost=10334527.78..10388844.16 rows=202409 width=64) + -> Finalize GroupAggregate (cost=10237733.16..10290965.40 rows=198369 width=64) Group Key: ((data ->> 'did'::text)) - -> Gather Merge (cost=10334527.78..10381759.84 rows=404818 width=48) + -> Gather Merge (cost=10237733.16..10284022.49 rows=396738 width=48) Workers Planned: 2 - -> Sort (cost=10333527.76..10334033.78 rows=202409 width=48) + -> Sort (cost=10236733.13..10237229.06 rows=198369 width=48) Sort Key: ((data ->> 'did'::text)) - -> Partial HashAggregate (cost=9843993.70..10309462.03 rows=202409 width=48) + -> Partial HashAggregate (cost=9765244.40..10213174.82 rows=198369 width=48) Group Key: (data ->> 'did'::text) Planned Partitions: 32 - -> Parallel Seq Scan on bluesky (cost=0.00..7808066.48 rows=3203032 width=564) + -> Parallel Seq Scan on bluesky (cost=0.00..7806224.00 rows=3082038 width=563) Filter: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = 'app.bsky.feed.post'::text)) JIT: Functions: 10 - Options: Inlining true, Optimization true, Expressions true, Deforming true \ No newline at end of file + Options: Inlining true, Optimization true, Expressions true, Deforming true + diff --git a/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_10m_lz4.index_usage b/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_10m_lz4.index_usage index 627e631..c69b8c3 100644 --- a/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_10m_lz4.index_usage +++ b/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_10m_lz4.index_usage @@ -1,17 +1,17 @@ ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q1: - Sort (cost=626952.86..626952.89 rows=13 width=40) + Sort (cost=626850.70..626850.73 rows=13 width=40) Sort Key: (count(*)) DESC - -> Finalize GroupAggregate (cost=626949.26..626952.62 rows=13 width=40) + -> Finalize GroupAggregate (cost=626847.10..626850.45 rows=13 width=40) Group Key: (((data -> 'commit'::text) ->> 'collection'::text)) - -> Gather Merge (cost=626949.26..626952.29 rows=26 width=40) + -> Gather Merge (cost=626847.10..626850.13 rows=26 width=40) Workers Planned: 2 - -> Sort (cost=625949.24..625949.27 rows=13 width=40) + -> Sort (cost=625847.07..625847.10 rows=13 width=40) Sort Key: (((data -> 'commit'::text) ->> 'collection'::text)) - -> Partial HashAggregate (cost=625948.80..625948.99 rows=13 width=40) + -> Partial HashAggregate (cost=625846.64..625846.83 rows=13 width=40) Group Key: ((data -> 'commit'::text) ->> 'collection'::text) - -> Parallel Seq Scan on bluesky (cost=0.00..611362.60 rows=2917240 width=32) + -> Parallel Seq Scan on bluesky (cost=0.00..611285.98 rows=2912132 width=32) JIT: Functions: 7 Options: Inlining true, Optimization true, Expressions true, Deforming true @@ -19,15 +19,15 @@ Index usage for query Q1: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q2: - Sort (cost=3938053.37..3938053.40 rows=13 width=48) + Sort (cost=3938508.63..3938508.66 rows=13 width=48) Sort Key: (count(*)) DESC - -> GroupAggregate (cost=3091561.57..3938053.13 rows=13 width=48) + -> GroupAggregate (cost=3091871.26..3938508.39 rows=13 width=48) Group Key: (((data -> 'commit'::text) ->> 'collection'::text)) - -> Gather Merge (cost=3091561.57..3871118.89 rows=6693405 width=573) + -> Gather Merge (cost=3091871.26..3871562.63 rows=6694556 width=572) Workers Planned: 2 - -> Sort (cost=3090561.55..3097533.85 rows=2788919 width=573) + -> Sort (cost=3090871.24..3097844.74 rows=2789398 width=572) Sort Key: (((data -> 'commit'::text) ->> 'collection'::text)), ((data ->> 'did'::text)) - -> Parallel Seq Scan on bluesky (cost=0.00..647186.49 rows=2788919 width=573) + -> Parallel Seq Scan on bluesky (cost=0.00..647073.95 rows=2789398 width=572) Filter: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text)) JIT: Functions: 8 @@ -36,15 +36,15 @@ Index usage for query Q2: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q3: - Finalize GroupAggregate (cost=1008063.29..1641903.86 rows=4152366 width=72) + Finalize GroupAggregate (cost=1006179.92..1636995.54 rows=4132549 width=72) Group Key: (EXTRACT(hour FROM to_timestamp(((((data ->> 'time_us'::text))::bigint / 1000000))::double precision))), (((data -> 'commit'::text) ->> 'collection'::text)) - -> Gather Merge (cost=1008063.29..1480999.69 rows=3460304 width=72) + -> Gather Merge (cost=1006179.92..1476859.27 rows=3443790 width=72) Workers Planned: 2 - -> Partial GroupAggregate (cost=1007063.26..1080594.72 rows=1730152 width=72) + -> Partial GroupAggregate (cost=1005179.90..1078360.43 rows=1721895 width=72) Group Key: (EXTRACT(hour FROM to_timestamp(((((data ->> 'time_us'::text))::bigint / 1000000))::double precision))), (((data -> 'commit'::text) ->> 'collection'::text)) - -> Sort (cost=1007063.26..1011388.64 rows=1730152 width=64) + -> Sort (cost=1005179.90..1009484.63 rows=1721895 width=64) Sort Key: (EXTRACT(hour FROM to_timestamp(((((data ->> 'time_us'::text))::bigint / 1000000))::double precision))), (((data -> 'commit'::text) ->> 'collection'::text)) - -> Parallel Seq Scan on bluesky (cost=0.00..697696.17 rows=1730152 width=64) + -> Parallel Seq Scan on bluesky (cost=0.00..697350.75 rows=1721895 width=64) Filter: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = ANY ('{app.bsky.feed.post,app.bsky.feed.repost,app.bsky.feed.like}'::text[]))) JIT: Functions: 11 @@ -53,12 +53,12 @@ Index usage for query Q3: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q4: - Limit (cost=854333.93..854333.94 rows=3 width=40) - -> Sort (cost=854333.93..854584.74 rows=100322 width=40) + Limit (cost=846737.39..846737.39 rows=3 width=40) + -> Sort (cost=846737.39..846984.62 rows=98892 width=40) Sort Key: (min(('1970-01-01 00:00:00+00'::timestamp with time zone + ('00:00:00.000001'::interval * (((data ->> 'time_us'::text))::bigint)::double precision)))) - -> GroupAggregate (cost=0.56..853037.29 rows=100322 width=40) + -> GroupAggregate (cost=0.56..845459.23 rows=98892 width=40) Group Key: (data ->> 'did'::text) - -> Index Scan using idx_bluesky on bluesky (cost=0.56..838820.37 rows=648145 width=573) + -> Index Scan using idx_bluesky on bluesky (cost=0.56..831387.38 rows=641785 width=572) Index Cond: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = 'app.bsky.feed.post'::text)) JIT: Functions: 8 @@ -67,13 +67,14 @@ Index usage for query Q4: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q5: - Limit (cost=866428.89..866428.89 rows=3 width=64) - -> Sort (cost=866428.89..866679.69 rows=100322 width=64) + Limit (cost=858710.31..858710.32 rows=3 width=64) + -> Sort (cost=858710.31..858957.54 rows=98892 width=64) Sort Key: ((EXTRACT(epoch FROM (max(('1970-01-01 00:00:00+00'::timestamp with time zone + ('00:00:00.000001'::interval * (((data ->> 'time_us'::text))::bigint)::double precision))) - min(('1970-01-01 00:00:00+00'::timestamp with time zone + ('00:00:00.000001'::interval * (((data ->> 'time_us'::text))::bigint)::double precision))))) * '1000'::numeric)) DESC - -> GroupAggregate (cost=0.56..865132.24 rows=100322 width=64) + -> GroupAggregate (cost=0.56..857432.15 rows=98892 width=64) Group Key: (data ->> 'did'::text) - -> Index Scan using idx_bluesky on bluesky (cost=0.56..838820.37 rows=648145 width=573) + -> Index Scan using idx_bluesky on bluesky (cost=0.56..831387.38 rows=641785 width=572) Index Cond: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = 'app.bsky.feed.post'::text)) JIT: Functions: 8 - Options: Inlining true, Optimization true, Expressions true, Deforming true \ No newline at end of file + Options: Inlining true, Optimization true, Expressions true, Deforming true + diff --git a/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_10m_pglz.index_usage b/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_10m_pglz.index_usage index 6824e09..4158341 100644 --- a/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_10m_pglz.index_usage +++ b/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_10m_pglz.index_usage @@ -1,17 +1,17 @@ ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q1: - Sort (cost=626750.10..626750.13 rows=13 width=40) + Sort (cost=626759.08..626759.11 rows=13 width=40) Sort Key: (count(*)) DESC - -> Finalize GroupAggregate (cost=626746.50..626749.86 rows=13 width=40) + -> Finalize GroupAggregate (cost=626755.48..626758.84 rows=13 width=40) Group Key: (((data -> 'commit'::text) ->> 'collection'::text)) - -> Gather Merge (cost=626746.50..626749.53 rows=26 width=40) + -> Gather Merge (cost=626755.48..626758.52 rows=26 width=40) Workers Planned: 2 - -> Sort (cost=625746.48..625746.51 rows=13 width=40) + -> Sort (cost=625755.46..625755.49 rows=13 width=40) Sort Key: (((data -> 'commit'::text) ->> 'collection'::text)) - -> Partial HashAggregate (cost=625746.04..625746.24 rows=13 width=40) + -> Partial HashAggregate (cost=625755.02..625755.22 rows=13 width=40) Group Key: ((data -> 'commit'::text) ->> 'collection'::text) - -> Parallel Seq Scan on bluesky (cost=0.00..611167.53 rows=2915702 width=32) + -> Parallel Seq Scan on bluesky (cost=0.00..611174.27 rows=2916151 width=32) JIT: Functions: 7 Options: Inlining true, Optimization true, Expressions true, Deforming true @@ -19,15 +19,15 @@ Index usage for query Q1: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q2: - Sort (cost=3934932.94..3934932.97 rows=13 width=48) + Sort (cost=3934307.60..3934307.63 rows=13 width=48) Sort Key: (count(*)) DESC - -> GroupAggregate (cost=3089183.62..3934932.70 rows=13 width=48) + -> GroupAggregate (cost=3088720.54..3934307.36 rows=13 width=48) Group Key: (((data -> 'commit'::text) ->> 'collection'::text)) - -> Gather Merge (cost=3089183.62..3868057.16 rows=6687534 width=573) + -> Gather Merge (cost=3088720.54..3867444.66 rows=6686251 width=572) Workers Planned: 2 - -> Sort (cost=3088183.60..3095149.78 rows=2786472 width=573) + -> Sort (cost=3087720.52..3094685.36 rows=2785938 width=572) Sort Key: (((data -> 'commit'::text) ->> 'collection'::text)), ((data ->> 'did'::text)) - -> Parallel Seq Scan on bluesky (cost=0.00..646967.66 rows=2786472 width=573) + -> Parallel Seq Scan on bluesky (cost=0.00..646975.09 rows=2785938 width=572) Filter: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text)) JIT: Functions: 8 @@ -36,15 +36,15 @@ Index usage for query Q2: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q3: - Finalize GroupAggregate (cost=1003788.63..1630505.89 rows=4105700 width=72) + Finalize GroupAggregate (cost=1005191.10..1634339.80 rows=4121628 width=72) Group Key: (EXTRACT(hour FROM to_timestamp(((((data ->> 'time_us'::text))::bigint / 1000000))::double precision))), (((data -> 'commit'::text) ->> 'collection'::text)) - -> Gather Merge (cost=1003788.63..1471410.02 rows=3421416 width=72) + -> Gather Merge (cost=1005191.10..1474626.71 rows=3434690 width=72) Workers Planned: 2 - -> Partial GroupAggregate (cost=1002788.61..1075493.70 rows=1710708 width=72) + -> Partial GroupAggregate (cost=1004191.08..1077178.24 rows=1717345 width=72) Group Key: (EXTRACT(hour FROM to_timestamp(((((data ->> 'time_us'::text))::bigint / 1000000))::double precision))), (((data -> 'commit'::text) ->> 'collection'::text)) - -> Sort (cost=1002788.61..1007065.38 rows=1710708 width=64) + -> Sort (cost=1004191.08..1008484.44 rows=1717345 width=64) Sort Key: (EXTRACT(hour FROM to_timestamp(((((data ->> 'time_us'::text))::bigint / 1000000))::double precision))), (((data -> 'commit'::text) ->> 'collection'::text)) - -> Parallel Seq Scan on bluesky (cost=0.00..697038.62 rows=1710708 width=64) + -> Parallel Seq Scan on bluesky (cost=0.00..697201.99 rows=1717345 width=64) Filter: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = ANY ('{app.bsky.feed.post,app.bsky.feed.repost,app.bsky.feed.like}'::text[]))) JIT: Functions: 11 @@ -53,12 +53,12 @@ Index usage for query Q3: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q4: - Limit (cost=839934.34..839934.35 rows=3 width=40) - -> Sort (cost=839934.34..840186.10 rows=100703 width=40) + Limit (cost=830232.49..830232.50 rows=3 width=40) + -> Sort (cost=830232.49..830473.78 rows=96514 width=40) Sort Key: (min(('1970-01-01 00:00:00+00'::timestamp with time zone + ('00:00:00.000001'::interval * (((data ->> 'time_us'::text))::bigint)::double precision)))) - -> GroupAggregate (cost=0.56..838632.78 rows=100703 width=40) + -> GroupAggregate (cost=0.56..828985.07 rows=96514 width=40) Group Key: (data ->> 'did'::text) - -> Index Scan using idx_bluesky on bluesky (cost=0.56..824765.75 rows=630412 width=573) + -> Index Scan using idx_bluesky on bluesky (cost=0.56..815355.58 rows=621153 width=572) Index Cond: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = 'app.bsky.feed.post'::text)) JIT: Functions: 8 @@ -67,13 +67,14 @@ Index usage for query Q4: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q5: - Limit (cost=851721.83..851721.83 rows=3 width=64) - -> Sort (cost=851721.83..851973.58 rows=100703 width=64) + Limit (cost=841826.52..841826.53 rows=3 width=64) + -> Sort (cost=841826.52..842067.81 rows=96514 width=64) Sort Key: ((EXTRACT(epoch FROM (max(('1970-01-01 00:00:00+00'::timestamp with time zone + ('00:00:00.000001'::interval * (((data ->> 'time_us'::text))::bigint)::double precision))) - min(('1970-01-01 00:00:00+00'::timestamp with time zone + ('00:00:00.000001'::interval * (((data ->> 'time_us'::text))::bigint)::double precision))))) * '1000'::numeric)) DESC - -> GroupAggregate (cost=0.56..850420.26 rows=100703 width=64) + -> GroupAggregate (cost=0.56..840579.10 rows=96514 width=64) Group Key: (data ->> 'did'::text) - -> Index Scan using idx_bluesky on bluesky (cost=0.56..824765.75 rows=630412 width=573) + -> Index Scan using idx_bluesky on bluesky (cost=0.56..815355.58 rows=621153 width=572) Index Cond: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = 'app.bsky.feed.post'::text)) JIT: Functions: 8 - Options: Inlining true, Optimization true, Expressions true, Deforming true \ No newline at end of file + Options: Inlining true, Optimization true, Expressions true, Deforming true + diff --git a/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_1m_lz4.index_usage b/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_1m_lz4.index_usage index 0262b93..55a0d8e 100644 --- a/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_1m_lz4.index_usage +++ b/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_1m_lz4.index_usage @@ -1,26 +1,26 @@ ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q1: - Sort (cost=80908.34..80908.37 rows=13 width=40) + Sort (cost=80909.45..80909.49 rows=13 width=40) Sort Key: (count(*)) DESC - -> Finalize GroupAggregate (cost=80904.74..80908.10 rows=13 width=40) + -> Finalize GroupAggregate (cost=80905.86..80909.21 rows=13 width=40) Group Key: (((data -> 'commit'::text) ->> 'collection'::text)) - -> Gather Merge (cost=80904.74..80907.77 rows=26 width=40) + -> Gather Merge (cost=80905.86..80908.89 rows=26 width=40) Workers Planned: 2 - -> Sort (cost=79904.72..79904.75 rows=13 width=40) + -> Sort (cost=79905.83..79905.86 rows=13 width=40) Sort Key: (((data -> 'commit'::text) ->> 'collection'::text)) - -> Partial HashAggregate (cost=79904.28..79904.48 rows=13 width=40) + -> Partial HashAggregate (cost=79905.40..79905.59 rows=13 width=40) Group Key: ((data -> 'commit'::text) ->> 'collection'::text) - -> Parallel Seq Scan on bluesky (cost=0.00..77820.21 rows=416814 width=32) + -> Parallel Seq Scan on bluesky (cost=0.00..77821.05 rows=416870 width=32) ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q2: - Sort (cost=266492.26..266492.30 rows=13 width=48) + Sort (cost=266251.89..266251.93 rows=13 width=48) Sort Key: (count(*)) DESC - -> GroupAggregate (cost=0.55..266492.02 rows=13 width=48) + -> GroupAggregate (cost=0.55..266251.65 rows=13 width=48) Group Key: ((data -> 'commit'::text) ->> 'collection'::text) - -> Index Scan using idx_bluesky on bluesky (cost=0.55..256985.18 rows=950665 width=568) + -> Index Scan using idx_bluesky on bluesky (cost=0.55..256787.63 rows=946383 width=569) Index Cond: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text)) JIT: Functions: 7 @@ -29,15 +29,15 @@ Index usage for query Q2: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q3: - Finalize GroupAggregate (cost=120874.61..207416.29 rows=566945 width=72) + Finalize GroupAggregate (cost=121017.83..207887.36 rows=569092 width=72) Group Key: (EXTRACT(hour FROM to_timestamp(((((data ->> 'time_us'::text))::bigint / 1000000))::double precision))), (((data -> 'commit'::text) ->> 'collection'::text)) - -> Gather Merge (cost=120874.61..185447.18 rows=472454 width=72) + -> Gather Merge (cost=121017.83..185835.04 rows=474244 width=72) Workers Planned: 2 - -> Partial GroupAggregate (cost=119874.59..129914.24 rows=236227 width=72) + -> Partial GroupAggregate (cost=120017.81..130095.49 rows=237122 width=72) Group Key: (EXTRACT(hour FROM to_timestamp(((((data ->> 'time_us'::text))::bigint / 1000000))::double precision))), (((data -> 'commit'::text) ->> 'collection'::text)) - -> Sort (cost=119874.59..120465.16 rows=236227 width=64) + -> Sort (cost=120017.81..120610.61 rows=237122 width=64) Sort Key: (EXTRACT(hour FROM to_timestamp(((((data ->> 'time_us'::text))::bigint / 1000000))::double precision))), (((data -> 'commit'::text) ->> 'collection'::text)) - -> Parallel Seq Scan on bluesky (cost=0.00..89908.55 rows=236227 width=64) + -> Parallel Seq Scan on bluesky (cost=0.00..89930.42 rows=237122 width=64) Filter: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = ANY ('{app.bsky.feed.post,app.bsky.feed.repost,app.bsky.feed.like}'::text[]))) JIT: Functions: 11 @@ -46,20 +46,20 @@ Index usage for query Q3: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q4: - Limit (cost=106867.26..106867.26 rows=3 width=40) - -> Sort (cost=106867.26..106972.34 rows=42034 width=40) + Limit (cost=107376.01..107376.02 rows=3 width=40) + -> Sort (cost=107376.01..107481.32 rows=42123 width=40) Sort Key: (min(('1970-01-01 00:00:00+00'::timestamp with time zone + ('00:00:00.000001'::interval * (((data ->> 'time_us'::text))::bigint)::double precision)))) - -> Finalize HashAggregate (cost=105798.55..106323.97 rows=42034 width=40) + -> Finalize HashAggregate (cost=106305.04..106831.58 rows=42123 width=40) Group Key: ((data ->> 'did'::text)) - -> Gather (cost=96837.92..105432.81 rows=73148 width=40) + -> Gather (cost=97236.61..105934.90 rows=74028 width=40) Workers Planned: 2 - -> Partial GroupAggregate (cost=95837.92..97118.01 rows=36574 width=40) + -> Partial GroupAggregate (cost=96236.61..97532.10 rows=37014 width=40) Group Key: ((data ->> 'did'::text)) - -> Sort (cost=95837.92..95929.35 rows=36574 width=568) + -> Sort (cost=96236.61..96329.14 rows=37014 width=569) Sort Key: ((data ->> 'did'::text)) - -> Parallel Bitmap Heap Scan on bluesky (cost=7307.72..83811.88 rows=36574 width=568) + -> Parallel Bitmap Heap Scan on bluesky (cost=7393.18..83939.53 rows=37014 width=569) Recheck Cond: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = 'app.bsky.feed.post'::text)) - -> Bitmap Index Scan on idx_bluesky (cost=0.00..7285.78 rows=87778 width=0) + -> Bitmap Index Scan on idx_bluesky (cost=0.00..7370.98 rows=88834 width=0) Index Cond: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = 'app.bsky.feed.post'::text)) JIT: Functions: 12 @@ -68,21 +68,22 @@ Index usage for query Q4: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q5: - Limit (cost=108005.43..108005.43 rows=3 width=64) - -> Sort (cost=108005.43..108110.51 rows=42034 width=64) + Limit (cost=108524.75..108524.75 rows=3 width=64) + -> Sort (cost=108524.75..108630.05 rows=42123 width=64) Sort Key: ((EXTRACT(epoch FROM (max(('1970-01-01 00:00:00+00'::timestamp with time zone + ('00:00:00.000001'::interval * (((data ->> 'time_us'::text))::bigint)::double precision))) - min(('1970-01-01 00:00:00+00'::timestamp with time zone + ('00:00:00.000001'::interval * (((data ->> 'time_us'::text))::bigint)::double precision))))) * '1000'::numeric)) DESC - -> Finalize HashAggregate (cost=106621.46..107462.14 rows=42034 width=64) + -> Finalize HashAggregate (cost=107137.85..107980.31 rows=42123 width=64) Group Key: ((data ->> 'did'::text)) - -> Gather (cost=96837.92..106072.85 rows=73148 width=48) + -> Gather (cost=97236.61..106582.64 rows=74028 width=48) Workers Planned: 2 - -> Partial GroupAggregate (cost=95837.92..97758.05 rows=36574 width=48) + -> Partial GroupAggregate (cost=96236.61..98179.84 rows=37014 width=48) Group Key: ((data ->> 'did'::text)) - -> Sort (cost=95837.92..95929.35 rows=36574 width=568) + -> Sort (cost=96236.61..96329.14 rows=37014 width=569) Sort Key: ((data ->> 'did'::text)) - -> Parallel Bitmap Heap Scan on bluesky (cost=7307.72..83811.88 rows=36574 width=568) + -> Parallel Bitmap Heap Scan on bluesky (cost=7393.18..83939.53 rows=37014 width=569) Recheck Cond: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = 'app.bsky.feed.post'::text)) - -> Bitmap Index Scan on idx_bluesky (cost=0.00..7285.78 rows=87778 width=0) + -> Bitmap Index Scan on idx_bluesky (cost=0.00..7370.98 rows=88834 width=0) Index Cond: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = 'app.bsky.feed.post'::text)) JIT: Functions: 12 - Options: Inlining false, Optimization false, Expressions true, Deforming true \ No newline at end of file + Options: Inlining false, Optimization false, Expressions true, Deforming true + diff --git a/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_1m_pglz.index_usage b/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_1m_pglz.index_usage index ffb0ce6..dd33f25 100644 --- a/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_1m_pglz.index_usage +++ b/postgresql/results/_index_usage/_m6i.8xlarge_bluesky_1m_pglz.index_usage @@ -1,26 +1,26 @@ ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q1: - Sort (cost=80902.04..80902.07 rows=13 width=40) + Sort (cost=80911.10..80911.13 rows=13 width=40) Sort Key: (count(*)) DESC - -> Finalize GroupAggregate (cost=80898.44..80901.80 rows=13 width=40) + -> Finalize GroupAggregate (cost=80907.50..80910.86 rows=13 width=40) Group Key: (((data -> 'commit'::text) ->> 'collection'::text)) - -> Gather Merge (cost=80898.44..80901.47 rows=26 width=40) + -> Gather Merge (cost=80907.50..80910.53 rows=26 width=40) Workers Planned: 2 - -> Sort (cost=79898.41..79898.45 rows=13 width=40) + -> Sort (cost=79907.48..79907.51 rows=13 width=40) Sort Key: (((data -> 'commit'::text) ->> 'collection'::text)) - -> Partial HashAggregate (cost=79897.98..79898.17 rows=13 width=40) + -> Partial HashAggregate (cost=79907.04..79907.24 rows=13 width=40) Group Key: ((data -> 'commit'::text) ->> 'collection'::text) - -> Parallel Seq Scan on bluesky (cost=0.00..77815.48 rows=416499 width=32) + -> Parallel Seq Scan on bluesky (cost=0.00..77822.28 rows=416952 width=32) ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q2: - Sort (cost=266214.69..266214.73 rows=13 width=48) + Sort (cost=266706.27..266706.30 rows=13 width=48) Sort Key: (count(*)) DESC - -> GroupAggregate (cost=0.55..266214.45 rows=13 width=48) + -> GroupAggregate (cost=0.55..266706.03 rows=13 width=48) Group Key: ((data -> 'commit'::text) ->> 'collection'::text) - -> Index Scan using idx_bluesky on bluesky (cost=0.55..256723.20 rows=949106 width=569) + -> Index Scan using idx_bluesky on bluesky (cost=0.55..257208.06 rows=949777 width=567) Index Cond: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text)) JIT: Functions: 7 @@ -29,15 +29,15 @@ Index usage for query Q2: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q3: - Finalize GroupAggregate (cost=121158.46..208388.88 rows=571457 width=72) + Finalize GroupAggregate (cost=120966.31..207712.37 rows=568283 width=72) Group Key: (EXTRACT(hour FROM to_timestamp(((((data ->> 'time_us'::text))::bigint / 1000000))::double precision))), (((data -> 'commit'::text) ->> 'collection'::text)) - -> Gather Merge (cost=121158.46..186244.92 rows=476214 width=72) + -> Gather Merge (cost=120966.31..185691.40 rows=473570 width=72) Workers Planned: 2 - -> Partial GroupAggregate (cost=120158.44..130277.98 rows=238107 width=72) + -> Partial GroupAggregate (cost=119966.29..130029.65 rows=236785 width=72) Group Key: (EXTRACT(hour FROM to_timestamp(((((data ->> 'time_us'::text))::bigint / 1000000))::double precision))), (((data -> 'commit'::text) ->> 'collection'::text)) - -> Sort (cost=120158.44..120753.70 rows=238107 width=64) + -> Sort (cost=119966.29..120558.25 rows=236785 width=64) Sort Key: (EXTRACT(hour FROM to_timestamp(((((data ->> 'time_us'::text))::bigint / 1000000))::double precision))), (((data -> 'commit'::text) ->> 'collection'::text)) - -> Parallel Seq Scan on bluesky (cost=0.00..89940.99 rows=238107 width=64) + -> Parallel Seq Scan on bluesky (cost=0.00..89925.42 rows=236785 width=64) Filter: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = ANY ('{app.bsky.feed.post,app.bsky.feed.repost,app.bsky.feed.like}'::text[]))) JIT: Functions: 11 @@ -46,20 +46,20 @@ Index usage for query Q3: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q4: - Limit (cost=106646.88..106646.88 rows=3 width=40) - -> Sort (cost=106646.88..106750.72 rows=41539 width=40) + Limit (cost=106818.28..106818.29 rows=3 width=40) + -> Sort (cost=106818.28..106923.25 rows=41988 width=40) Sort Key: (min(('1970-01-01 00:00:00+00'::timestamp with time zone + ('00:00:00.000001'::interval * (((data ->> 'time_us'::text))::bigint)::double precision)))) - -> Finalize HashAggregate (cost=105590.76..106109.99 rows=41539 width=40) + -> Finalize HashAggregate (cost=105750.74..106275.59 rows=41988 width=40) Group Key: ((data ->> 'did'::text)) - -> Gather (cost=96722.25..105228.78 rows=72396 width=40) + -> Gather (cost=96801.63..105385.47 rows=73054 width=40) Workers Planned: 2 - -> Partial GroupAggregate (cost=95722.25..96989.18 rows=36198 width=40) + -> Partial GroupAggregate (cost=95801.63..97080.07 rows=36527 width=40) Group Key: ((data ->> 'did'::text)) - -> Sort (cost=95722.25..95812.74 rows=36198 width=569) + -> Sort (cost=95801.63..95892.95 rows=36527 width=567) Sort Key: ((data ->> 'did'::text)) - -> Parallel Bitmap Heap Scan on bluesky (cost=7236.21..83699.40 rows=36198 width=569) + -> Parallel Bitmap Heap Scan on bluesky (cost=7294.27..83793.49 rows=36527 width=567) Recheck Cond: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = 'app.bsky.feed.post'::text)) - -> Bitmap Index Scan on idx_bluesky (cost=0.00..7214.49 rows=86875 width=0) + -> Bitmap Index Scan on idx_bluesky (cost=0.00..7272.35 rows=87664 width=0) Index Cond: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = 'app.bsky.feed.post'::text)) JIT: Functions: 12 @@ -68,21 +68,22 @@ Index usage for query Q4: ------------------------------------------------------------------------------------------------------------------------ Index usage for query Q5: - Limit (cost=107772.87..107772.88 rows=3 width=64) - -> Sort (cost=107772.87..107876.72 rows=41539 width=64) + Limit (cost=107955.05..107955.06 rows=3 width=64) + -> Sort (cost=107955.05..108060.02 rows=41988 width=64) Sort Key: ((EXTRACT(epoch FROM (max(('1970-01-01 00:00:00+00'::timestamp with time zone + ('00:00:00.000001'::interval * (((data ->> 'time_us'::text))::bigint)::double precision))) - min(('1970-01-01 00:00:00+00'::timestamp with time zone + ('00:00:00.000001'::interval * (((data ->> 'time_us'::text))::bigint)::double precision))))) * '1000'::numeric)) DESC - -> Finalize HashAggregate (cost=106405.21..107235.99 rows=41539 width=64) + -> Finalize HashAggregate (cost=106572.60..107412.36 rows=41988 width=64) Group Key: ((data ->> 'did'::text)) - -> Gather (cost=96722.25..105862.24 rows=72396 width=48) + -> Gather (cost=96801.63..106024.70 rows=73054 width=48) Workers Planned: 2 - -> Partial GroupAggregate (cost=95722.25..97622.64 rows=36198 width=48) + -> Partial GroupAggregate (cost=95801.63..97719.30 rows=36527 width=48) Group Key: ((data ->> 'did'::text)) - -> Sort (cost=95722.25..95812.74 rows=36198 width=569) + -> Sort (cost=95801.63..95892.95 rows=36527 width=567) Sort Key: ((data ->> 'did'::text)) - -> Parallel Bitmap Heap Scan on bluesky (cost=7236.21..83699.40 rows=36198 width=569) + -> Parallel Bitmap Heap Scan on bluesky (cost=7294.27..83793.49 rows=36527 width=567) Recheck Cond: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = 'app.bsky.feed.post'::text)) - -> Bitmap Index Scan on idx_bluesky (cost=0.00..7214.49 rows=86875 width=0) + -> Bitmap Index Scan on idx_bluesky (cost=0.00..7272.35 rows=87664 width=0) Index Cond: (((data ->> 'kind'::text) = 'commit'::text) AND (((data -> 'commit'::text) ->> 'operation'::text) = 'create'::text) AND (((data -> 'commit'::text) ->> 'collection'::text) = 'app.bsky.feed.post'::text)) JIT: Functions: 12 - Options: Inlining false, Optimization false, Expressions true, Deforming true \ No newline at end of file + Options: Inlining false, Optimization false, Expressions true, Deforming true + diff --git a/postgresql/results/m6i.8xlarge_bluesky_1000m_lz4.json b/postgresql/results/m6i.8xlarge_bluesky_1000m_lz4.json index 3ed686b..2a1de26 100644 --- a/postgresql/results/m6i.8xlarge_bluesky_1000m_lz4.json +++ b/postgresql/results/m6i.8xlarge_bluesky_1000m_lz4.json @@ -9,14 +9,14 @@ ], "dataset_size": 1000000000, "num_loaded_documents": 804000000, - "total_size": 654739636224, - "data_size": 506726694912, - "index_size": 147981623296, + "total_size": 660356890624, + "data_size": 512144687104, + "index_size": 148180910080, "result": [ - [3863.35,3843.05,3843.04], - [32553.3,32554.5,32553.9], - [4222.61,4212.91,4208.16], - [4890.82,4873.02,4871.11], - [4900.32,4883.62,4873.68] + [3904.83,3884.18,3884.17], + [32594.9,32590.5,4277.8], + [4249.8,4253.34,4927.79], + [4903.66,4907.09,4947.12], + [4922.98,4913.5,4928.3] ] } diff --git a/postgresql/results/m6i.8xlarge_bluesky_1000m_pglz.json b/postgresql/results/m6i.8xlarge_bluesky_1000m_pglz.json index e101f11..0acf74f 100644 --- a/postgresql/results/m6i.8xlarge_bluesky_1000m_pglz.json +++ b/postgresql/results/m6i.8xlarge_bluesky_1000m_pglz.json @@ -9,14 +9,14 @@ ], "dataset_size": 1000000000, "num_loaded_documents": 804000000, - "total_size": 660828643328, - "data_size": 512573440000, - "index_size": 148222607360, + "total_size": 660668825600, + "data_size": 512095608832, + "index_size": 148553228288, "result": [ - [3907.81,3891.66,3887.55], - [32598,32600.7,32598], - [4267.02,4246.18,4248.89], - [4902.93,4887.97,4870.85], - [4919.4,4894.7,4914.49] + [3903.91,3883.77,3883.76], + [32589.2,32590.3,32583.5], + [4268.23,4253.78,4257.31], + [4929.58,4912.13,4900.57], + [4941.14,4922.78,4935.87] ] } diff --git a/postgresql/results/m6i.8xlarge_bluesky_100m_lz4.json b/postgresql/results/m6i.8xlarge_bluesky_100m_lz4.json index 9c82d5b..316e775 100644 --- a/postgresql/results/m6i.8xlarge_bluesky_100m_lz4.json +++ b/postgresql/results/m6i.8xlarge_bluesky_100m_lz4.json @@ -9,14 +9,14 @@ ], "dataset_size": 100000000, "num_loaded_documents": 91000000, - "total_size": 69069152256, - "data_size": 54598787072, - "index_size": 14470062080, + "total_size": 69064736768, + "data_size": 54598713344, + "index_size": 14465753088, "result": [ - [416.294,10.3327,10.3401], - [1865.37,1454.93,1457.57], - [439.522,31.3951,31.3661], - [477.483,17.4918,17.2812], - [478.399,19.4407,18.4989] + [416.392,10.3372,10.3301], + [1868.87,1458.26,1457.45], + [440.283,33.0992,33.1468], + [477.82,17.7637,17.3674], + [476.837,18.9056,18.4372] ] } diff --git a/postgresql/results/m6i.8xlarge_bluesky_100m_pglz.json b/postgresql/results/m6i.8xlarge_bluesky_100m_pglz.json index c093a3e..859ecff 100644 --- a/postgresql/results/m6i.8xlarge_bluesky_100m_pglz.json +++ b/postgresql/results/m6i.8xlarge_bluesky_100m_pglz.json @@ -9,14 +9,14 @@ ], "dataset_size": 100000000, "num_loaded_documents": 91000000, - "total_size": 69085896704, - "data_size": 54617038848, - "index_size": 14468587520, + "total_size": 69077696512, + "data_size": 54613565440, + "index_size": 14463860736, "result": [ - [416.449,10.4025,10.3982], - [1865.43,1457.18,1455.51], - [439.424,31.7577,31.7307], - [477.52,17.5615,17.6512], - [479.118,18.9199,19.5657] + [416.386,10.3443,10.3602], + [1873.06,1458.7,1459.44], + [440.679,33.3137,33.3699], + [477.704,18.1478,17.7634], + [477.76,19.274,18.9819] ] } diff --git a/postgresql/results/m6i.8xlarge_bluesky_10m_lz4.json b/postgresql/results/m6i.8xlarge_bluesky_10m_lz4.json index a0b3242..e9fe105 100644 --- a/postgresql/results/m6i.8xlarge_bluesky_10m_lz4.json +++ b/postgresql/results/m6i.8xlarge_bluesky_10m_lz4.json @@ -9,14 +9,14 @@ ], "dataset_size": 10000000, "num_loaded_documents": 7000000, - "total_size": 5759737856, + "total_size": 5794693120, "data_size": 4653178880, - "index_size": 1106558976, + "index_size": 1141514240, "result": [ - [35.3379,0.945249,0.938868], - [41.45,9.23267,9.23034], - [36.1707,2.49331,2.4911], - [174.534,1.97768,1.90803], - [175.691,2.11244,2.10785] + [35.1545,0.949281,0.949623], + [51.8718,9.55589,9.57942], + [36.1771,2.60652,2.59737], + [175.424,1.99499,1.93142], + [176.353,2.1341,2.11399] ] } diff --git a/postgresql/results/m6i.8xlarge_bluesky_10m_pglz.json b/postgresql/results/m6i.8xlarge_bluesky_10m_pglz.json index 6648bef..e80dfba 100644 --- a/postgresql/results/m6i.8xlarge_bluesky_10m_pglz.json +++ b/postgresql/results/m6i.8xlarge_bluesky_10m_pglz.json @@ -9,14 +9,14 @@ ], "dataset_size": 10000000, "num_loaded_documents": 7000000, - "total_size": 5778792448, - "data_size": 4652179456, - "index_size": 1126612992, + "total_size": 5806309376, + "data_size": 4652408832, + "index_size": 1153900544, "result": [ - [35.1722,0.948157,0.947581], - [48.0881,9.34658,9.3514], - [35.668,2.53469,2.53258], - [174.552,2.07684,1.95298], - [175.98,2.18434,2.21651] + [35.0929,0.96023,0.95458], + [51.5695,9.64536,9.63683], + [36.0052,2.64818,2.63788], + [175.362,2.05905,1.99866], + [176.367,2.21498,2.23456] ] } diff --git a/postgresql/results/m6i.8xlarge_bluesky_1m_lz4.json b/postgresql/results/m6i.8xlarge_bluesky_1m_lz4.json index 272b12f..7c27432 100644 --- a/postgresql/results/m6i.8xlarge_bluesky_1m_lz4.json +++ b/postgresql/results/m6i.8xlarge_bluesky_1m_lz4.json @@ -13,10 +13,10 @@ "data_size": 586768384, "index_size": 144343040, "result": [ - [3.63966,0.135007,0.136015], - [36.808,2.1238,2.13312], - [4.05291,0.344643,0.344627], - [15.3146,0.504157,0.224458], - [15.7782,0.238114,0.247374] + [4.08449,0.133099,0.134603], + [30.3611,2.15746,2.11889], + [4.13365,0.35889,0.357372], + [15.6849,0.487806,0.224725], + [16.1242,0.251007,0.249576] ] } diff --git a/postgresql/results/m6i.8xlarge_bluesky_1m_pglz.json b/postgresql/results/m6i.8xlarge_bluesky_1m_pglz.json index bf08a7e..2f931df 100644 --- a/postgresql/results/m6i.8xlarge_bluesky_1m_pglz.json +++ b/postgresql/results/m6i.8xlarge_bluesky_1m_pglz.json @@ -13,10 +13,10 @@ "data_size": 586825728, "index_size": 144343040, "result": [ - [4.05346,0.135037,0.13426], - [30.2945,2.1009,2.07414], - [4.05195,0.348947,0.347623], - [15.7542,0.50897,0.224949], - [16.1238,0.251958,0.251934] + [4.12528,0.135941,0.135679], + [30.6565,2.20111,2.10495], + [4.13268,0.361572,0.3624], + [15.7716,0.49305,0.225505], + [16.1835,0.255384,0.253597] ] }