Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Creek
Search
Andy Kent
October 22, 2011
Programming
1
78
Creek
Presentation given at LNUG discussing realtime aggregation over unbounded streams
Andy Kent
October 22, 2011
Tweet
Share
More Decks by Andy Kent
See All by Andy Kent
Coder Dojo London MIDI
andykent
2
80
Coder Dojo London Fireworks
andykent
0
130
River JS
andykent
2
650
Scalling Node to 50 Million Requests
andykent
5
300
Other Decks in Programming
See All in Programming
組織で育むオブザーバビリティ
ryota_hnk
0
170
Grafana:建立系統全知視角的捷徑
blueswen
0
330
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
200
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
130
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
2.4k
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
250
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
CSC307 Lecture 08
javiergs
PRO
0
670
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
590
Fluid Templating in TYPO3 14
s2b
0
130
MUSUBIXとは
nahisaho
0
130
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
150
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
320
Exploring anti-patterns in Rails
aemeredith
2
250
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
110
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
730
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
250
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
120
Art, The Web, and Tiny UX
lynnandtonic
304
21k
YesSQL, Process and Tooling at Scale
rocio
174
15k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
170
Designing Powerful Visuals for Engaging Learning
tmiket
0
220
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Transcript
REALTIME DATA ANALYSIS OVER UNBOUNDED STREAMS
REALTIME DATA ANALYSIS OVER UNBOUNDED STREAMS
REALTIME DATA ANALYSIS OVER UNBOUNDED STREAMS
REALTIME DATA ANALYSIS OVER UNBOUNDED STREAMS
WHEN YOU’VE GOT A HOSEPIPE WHAT YOU WANT IS A
CREEK
CREEK https://github.com/andykent/creek
AGGREGATORS count.alltime, count.timeboxed distinct.alltime, distinct.timeboxed max.alltime, max.timeboxed mean.alltime, mean.timeboxed min.alltime,
min.timeboxed sum.alltime, sum.timeboxed popular.timeboxed recent.limited
QUERY DSL track 'popular-words', aggregator: popular.timeboxed field: (o) -> o.text.toLowerCase().split('
') period: 60 precision: 5 top: 10
DEMO TIME!
ESPER
THE FUTURE...
RIVER river = require('river') ctx = river.createContext() ctx.addQuery "SELECT SUM(foo)
FROM my_stream", (newValues, oldValues) -> console.log(newValues, oldValues) c.push('my_stream', {foo:1, bar:2}) c.push('my_stream', {foo:3, bar:4}) https://github.com/forward/river
SQL-PARSER https://github.com/forward/sql-parser
PERSISTENCE
THE END