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
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
330
サーバーレスで作る、動画データ管理基盤
oyasumipants
0
340
密結合なバックエンドから TypeScript のコードを生成する
kemuridama
1
660
oxlintはeslint/typescript-eslintを置き換えられるのか
shomafujita
2
300
tsserverとは何だったのか、これからどうなるのか
nowaki28
1
430
Transactional Change Stream Processing With Debezium and Apache Flink
gunnarmorling
1
150
LLM Plugin for Node-REDの利用方法と開発について
404background
0
150
RailsTokyo 2026#4: AI様があれば、 Hotwireの弱点は消えるか?
naofumi
5
1k
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.3k
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
160
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
120
RTSPクライアントを自作してみた話
simotin13
0
420
Featured
See All Featured
Test your architecture with Archunit
thirion
1
2.3k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
210
Bash Introduction
62gerente
615
210k
Raft: Consensus for Rubyists
vanstee
141
7.5k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
Crafting Experiences
bethany
1
160
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Git: the NoSQL Database
bkeepers
PRO
432
67k
How to Think Like a Performance Engineer
csswizardry
28
2.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
380
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
150
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