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

Eventual simplicity - Csibi András (Scarab Research)

Eventual simplicity - Csibi András (Scarab Research)

Milyen evolúciós lépésekben jutottunk el a Google Datastore-tól a MongoDB-n át a LevelDB használatáig? Tanulságok egy skálázható kiszolgáló infrastruktúra építéséről. Kulcsszavak: shared nothing architecture, extremely eventual consistency, log structured merge trees.

Budapest Database Meetup

March 07, 2013
Tweet

More Decks by Budapest Database Meetup

Other Decks in Technology

Transcript

  1. Scarab Cloud - szempontok Scarab Cloud adatgyűjtés ajánlások • nagy

    rendelkezésre állás • gyorsaság • skálázhatóság • alacsony ops overhead
  2. To the Cloud! • Platform-as-a-Service • Dev without Ops •

    Nagy rendelkezésre állás • Automatikus skálázódás • Google Datastore
  3. Google Datastore Problémák • latency: ~100 ms / lekérdezés •

    írás: ~100 ms • olvasás: ~20 ms • nincs bulk írás
  4. Google Datastore Tanulságok • éljenek a cache-ek! • lokális readek

    • az operatív DB (modellek) elfér egy gépen • eventual consistency OK • async loggolás jó ötlet
  5. recommender2 recommender1 jetty mongo jetty mongo Elastic Load Balancer Scarab

    Recommender 2.5 ... latency: ~5-10 ms 99th percentile: ~25 ms
  6. recommender1 recommender2 jetty leveldb Elastic Load Balancer Scarab Recommender 3.0

    jetty leveldb ... latency: ~0.5-1 ms 99th percentile: ~2.5 ms
  7. Eventual Simplicity 1.0 2.0 3.0 DB GAE datastore MongoDB LevelDB

    App-DB táv Elosztott Egy gépen Beágyazott Latency 100ms 10ms 1ms Strukturáltság strukturált strukturált byte[]
  8. Teljesítmény • <1 ms latency • 500 QPS max terhelés

    • 22 millió request naponta • 1 db 2 core-os virtualizált gépen • 99.99% rendelkezésre állás • válasz előállítása ~= válasz gzippelése
  9. Eventual Simplicity • Cache-ek - minél nagyobb, minél közelebb •

    Consistency vs. Availability • Az egyszerűség időbe telik • Merj kicserélni központi komponenseket