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
Ruby, gigabajty danych dziennie i czas rzeczywisty
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Łódź Ruby User Group
November 01, 2011
Programming
290
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
460
Other Decks in Programming
See All in Programming
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.2k
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
170
Performance Optimization With LLMs
xleitix
0
140
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
280
最近”作らせてる” ローカルAIアプリの話
akit37
0
480
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
0
510
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
6.7k
Railsバージョンを4倍にした話
optim
0
450
Jetpack Compose Mechanisms
skydoves
3
820
ジョジョの世界をXRで再現する
mofurune
0
170
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
220
Featured
See All Featured
Designing for Timeless Needs
cassininazir
1
530
Code Review Best Practice
trishagee
74
20k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Google's AI Overviews - The New Search
badams
0
1.6k
So, you think you're a good person
axbom
PRO
2
2.2k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
My Coaching Mixtape
mlcsv
0
360
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
710
Fireside Chat
paigeccino
43
4.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
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