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
Tweet

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!