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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Łó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
ふつうのFeature Flag実践入門
irof
8
4.2k
JavaDoc 再入門
nagise
1
420
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
110
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
950
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
130
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
300
Inside Stream API
skrb
1
780
スマートグラスで並列バイブコーディング
hyshu
0
260
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
210
A2UI という光を覗いてみる
satohjohn
1
160
OSもどきOS
arkw
0
590
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
610
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
The Cult of Friendly URLs
andyhume
79
6.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Design in an AI World
tapps
1
250
Designing Experiences People Love
moore
143
24k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
980
Site-Speed That Sticks
csswizardry
13
1.2k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
190
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