Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Creek
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Andy Kent
October 22, 2011
Programming
86
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Creek
Presentation given at LNUG discussing realtime aggregation over unbounded streams
Andy Kent
October 22, 2011
More Decks by Andy Kent
See All by Andy Kent
Coder Dojo London MIDI
andykent
2
88
Coder Dojo London Fireworks
andykent
0
130
River JS
andykent
2
660
Scalling Node to 50 Million Requests
andykent
5
310
Other Decks in Programming
See All in Programming
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
4.8k
テストを司るデーモンに会いに行く 〜隔離した仮想マシンでテストを通すまで〜
h1d3mun3
1
450
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
0
1.5k
Jetpack Compose メカニズム
skydoves
0
440
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
220
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
150
Snowflakeで業務アプリを作ろう。 Snowflakeのアプリ機能解説&実践ガイド
ayumu_yamaguchi
1
280
すこし踏み込む CancellationToken
htkym
2
560
XHTMLが残したもの
yosuke_furukawa
PRO
2
820
cdk deploy JawsSonic #MARATHONしながらAWSリソースをデプロイしてみよう
akihisaikeda
2
140
Security issues being discussed on Web Platforms
petamoriken
0
970
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
370
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.2k
The SEO Collaboration Effect
kristinabergwall1
1
570
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
330
Practical Orchestrator
shlominoach
192
12k
How to Talk to Developers About Accessibility
jct
2
550
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
240
Accessibility Awareness
sabderemane
1
210
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
The Pragmatic Product Professional
lauravandoore
37
7.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
510
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