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
Ruby, gigabajty danych dziennie i czas rzeczywisty
Search
Łódź Ruby User Group
November 01, 2011
Programming
280
2
Share
Ruby, gigabajty danych dziennie i czas rzeczywisty
Speaker: Łukasz Piestrzeniewicz
Łódź Ruby User Group
November 01, 2011
More Decks by Łódź Ruby User Group
See All by Łódź Ruby User Group
Wprowadzenie do websockets
lrug
1
450
Other Decks in Programming
See All in Programming
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
280
飯MCP
yusukebe
0
480
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.3k
Geminiをパートナーに神社DXシステムを個人開発した話(いなめぐDX 開発振り返り)
fujiba
0
130
Go_College_最終発表資料__外部公開用_.pdf
xe_pc23
0
110
Kubernetes上でAgentを動かすための最新動向と押さえるべき概念まとめ
sotamaki0421
1
360
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
390
おれのAgentic Coding 2026/03
tsukasagr
1
130
Nuxt Server Components
wattanx
0
240
PHPで TLSのプロトコルを実装してみる
higaki_program
0
730
事業会社でのセキュリティ長期インターンについて
masachikaura
0
220
脱 雰囲気実装!AgentCoreを良い感じにWEBアプリケーションに組み込むために
takuyay0ne
3
430
Featured
See All Featured
WCS-LA-2024
lcolladotor
0
510
Designing for Performance
lara
611
70k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
320
Optimising Largest Contentful Paint
csswizardry
37
3.6k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
780
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
310
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
85
Done Done
chrislema
186
16k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
The Spectacular Lies of Maps
axbom
PRO
1
680
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
270
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Transcript
RUBY, GIGABAJTY DANYCH DZIENNIE I CZAS RZECZYWISTY Łukasz Piestrzeniewicz
WYSZUKIWANIE KOSZTUJE
DANE DO WYKORZYSTANIA Statystyki
30GB DANYCH/DZIEŃ 5,5 TB - dane z pół roku
0,5-5 WYSZUKIWAŃ NA SEKUNDĘ
SKOMPLIKOWANA STRUTURA DANYCH
TRUDNE ZAPYTANIA • Najtańsze dostępne loty z konkretnego miasta •
Najpopularniejsze cele lotów • Jak długo warto cache’ować wyniki
50 MS NA PRZYJĘCIE DANYCH
250 MS NA WYŚWIETLENIE STATYSTYKI
CO NIE DZIAŁA • Bazy NoSQL • Bazy SQL
ZWYKŁY SPOSÓB • Zbierz dane • Wrzuć w storage •
Wybierz to co Cię interesuje • Wyświetl wyniki
LEPSZY SPOSÓB • Zbierz dane • Wybierz to co Cię
interesuje • Wrzuć w storage • Wyświetl wyniki
POMYSŁ • Jedna tabela na zapytanie • Dane tylko dla
tego zapytania • Kasujemy zbędne dane • Brak zapytań ad-hoc
TRZY FAZY • Kolekcja danych (błyskawiczna) • Przetwarzanie danych (w
tle) • Wyświetlanie statystyk (natychmiastowe)
KOLEKCJA • Aplikacja Goliath • Dane w request • Zapisanie
na dysk • Dodanie do kolejki przetwarzania • 1 ms
PRZETWARZANIE • Resque (Redis) • Wybierz dane z paczki •
Zaktualizuj wszystkie tabele • 300 ms
WYŚWIETLANIE • Odczyt z jednej tabeli • Renderowanie HTML •
100 ms
MAP/REDUCE by hand
PODSUMOWANIE • Istniejące technologie • Odmienny sposób patrzenia • Umiejętność
przekonania klienta, że nie dostanie wszystkiego • Ruby się skaluje • Evented programming FTW!
ROOM FOR IMPROVEMENT • Zapis danych na dysk z poziomu
workera