Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ruby, gigabajty danych dziennie i czas rzeczywisty

Ruby, gigabajty danych dziennie i czas rzeczywisty

Speaker: Łukasz Piestrzeniewicz

Avatar for Łódź Ruby User Group

Łódź Ruby User Group

November 01, 2011

More Decks by Łódź Ruby User Group

Other Decks in Programming

Transcript

  1. TRUDNE ZAPYTANIA • Najtańsze dostępne loty z konkretnego miasta •

    Najpopularniejsze cele lotów • Jak długo warto cache’ować wyniki
  2. ZWYKŁY SPOSÓB • Zbierz dane • Wrzuć w storage •

    Wybierz to co Cię interesuje • Wyświetl wyniki
  3. LEPSZY SPOSÓB • Zbierz dane • Wybierz to co Cię

    interesuje • Wrzuć w storage • Wyświetl wyniki
  4. POMYSŁ • Jedna tabela na zapytanie • Dane tylko dla

    tego zapytania • Kasujemy zbędne dane • Brak zapytań ad-hoc
  5. TRZY FAZY • Kolekcja danych (błyskawiczna) • Przetwarzanie danych (w

    tle) • Wyświetlanie statystyk (natychmiastowe)
  6. KOLEKCJA • Aplikacja Goliath • Dane w request • Zapisanie

    na dysk • Dodanie do kolejki przetwarzania • 1 ms
  7. PRZETWARZANIE • Resque (Redis) • Wybierz dane z paczki •

    Zaktualizuj wszystkie tabele • 300 ms
  8. PODSUMOWANIE • Istniejące technologie • Odmienny sposób patrzenia • Umiejętność

    przekonania klienta, że nie dostanie wszystkiego • Ruby się skaluje • Evented programming FTW!