REST Polling vs WebSockets for Market Data
NVDA quote updates per second, grouped by how busy the second wasranking ·
2026-10-09 · 5×3
AAPL opening minute: quote updates and distinct prices, second by secondtable ·
2026-10-09 · 60×4
Quote messages per second, four names, 10:30 to 11:00 a.m. ETranking ·
2026-10-09 · 4×3
AAPL trades per second, fifteen minute buckets through the sessionseries ·
2026-10-09 · 26×2
NVDA quote updates per second, grouped by how busy the second was
NVDA quote updates per second, grouped by how busy the second was
| updates_in_the_second | share_of_seconds_pct | share_of_messages_pct |
|---|---|---|
| 1 update | 0.2 | 0 |
| 2 to 5 | 1.7 | 0.1 |
| 6 to 20 | 8.1 | 1.3 |
| 21 to 100 | 62.4 | 42.9 |
| over 100 | 27.6 | 55.8 |
the exact SQL behind every number
WITH
per_second AS
(
SELECT
toDateTime(sip_timestamp) AS second_bucket,
count() AS messages
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'NVDA'
AND sip_timestamp >= '2026-09-15 13:30:00'
AND sip_timestamp < '2026-09-15 15:30:00'
GROUP BY second_bucket
),
totals AS
(
SELECT
count() AS second_count,
sum(messages) AS message_count
FROM per_second
)
SELECT
multiIf(messages = 1, '1 update',
messages <= 5, '2 to 5',
messages <= 20, '6 to 20',
messages <= 100, '21 to 100',
'over 100') AS updates_in_the_second,
round(100.0 * count() / (SELECT second_count FROM totals), 1) AS share_of_seconds_pct,
round(100.0 * sum(messages) / (SELECT message_count FROM totals), 1) AS share_of_messages_pct
FROM per_second
GROUP BY updates_in_the_second
ORDER BY min(messages)
More from this analysisREST Polling vs WebSockets for Market Data
Quote messages per second, four names, 10:30 to 11:00 a.m. ET
ranking 4×3
→
AAPL opening minute: quote updates and distinct prices, second by second
table 60×4
→
AAPL trades per second, fifteen minute buckets through the session
series 26×2
→
KO: total cash dividends per share by year
ranking 22×2
→
See all 3,256 queries →