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
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
170
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
180
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
350k
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
210
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
280
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
620
AI時代のUIはどこへ行く?その2!
yusukebe
22
7.5k
Creating Composable Callables in Contemporary C++
rollbear
0
170
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
110
Datadog LLM Observabilityで実現する 安全なLLM Usage 管理
3150
0
110
Inside Stream API
skrb
1
780
Featured
See All Featured
Accessibility Awareness
sabderemane
1
140
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
How to make the Groovebox
asonas
2
2.2k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
210
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
180
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
240
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
160
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
Between Models and Reality
mayunak
4
350
Java REST API Framework Comparison - PWX 2021
mraible
34
9.4k
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