Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Ján Kmeťko
 Deklarovaný výkon nie je vždy reálnymobrazom (napr. môže platiť len pre špeciálnytestovací prípad, alebo len pre percent...
 1. Výkon DB je obmedzovaný fyzickyvlastnosťami existujúcich algoritmov adostupného HW 2. Výkon DB je znižovaný vnútorno...
 Rýchlosť procesora Prístup na pamäťové médium◦ Latencia◦ Náhodný prístup – frekvencia◦ Sekvenčný prístup – rýchlosť záp...
Názov SR SW R IOpS W IOpS trvalosť zdieľanie kapacita cena Cena/GBRAM 1 GB/s 1 GB/s 60k 60k nie PC 8 GB 200$ 25$ (+ PC)HDD...
 Vyhľadávanie polením intervalu (dáta musia byťzoradené) – O(log 2 N) – náhodné čítanie Vyhľadávanie linárne – O(N) – se...
 Zníženie transaction isolation levelu Eventuálna konzistentnosť◦ Asynchróne menená/invalidovaná cache◦ Čítanie asynchró...
 Správna schéma šírenia dát – cesta kškálovateľnosti Šírenie zmien do stromovej štruktúry –neobmedzená škálovatelnosť pr...
 Nemajú úplnú replikáciu Primárne repliky rozdistribuované na viacerouzlov Neexistuje pevný a dopredu daný kľúčrozložen...
 Obmedzenia CAP teorémy Kde sú dáta ktoré hľadám?!  Distribuované concurrency control Distribuované transakcie a comm...
 Konzistentnosť (Consistency) Dostupnosť (Availability) Odolnosť voči rozdrobeniu siete (Partitiontolerance) Nemôžeme ...
 Statická tabuľka umiestnení Distribuovaná hash tabuľka Dynamická tabuľka umiestnení
 Vyhľadanie entity O(log N) Veľkosť tabuľky - prstov O(log N) Bez možnosti zgrupovania Napr. Cassandra
 Vyhľadanie entity - O(1) Veľkosť tabuľky – O(N), (N/X) X – veľkosťpartície Zgrupovanie entít podľa primárnehousporiada...
 Dvojfázové zamykanie (two phase locking) Zoradené časové značky (timestamp ordering) Konflikty – čakanie / reštart tra...
 Problém konsenzu◦ Komunikácia môže zlyhať v ktoromkoľvek okamihu Dvojfázové potvrdenie◦ Náchylné na zlyhanie koordináto...
 Dostupnosť◦ (1 - P^n) nedostupnosti všetkých potrebných replík Trvalosť◦ (1 – p^n) straty všetkých synchrónnych replík....
 Eventuálna konzistentnosť◦ Push asynchrónna replikácia zmien◦ Pop asynchrónna replikácia zmien One-site transakcie Har...
 Zložitejšie algoritmy Odolnosť voči výpadku uzlov a komunikácie Problém N^M stavov Viac možností optimalizácie Testo...
Priestor na Vaše otázky
Ján Kmeťko - NoSQL a distribuované databázy – pohľad zhora na konzistentnosť výkon a škálovateľnosť
Ján Kmeťko - NoSQL a distribuované databázy – pohľad zhora na konzistentnosť výkon a škálovateľnosť
Upcoming SlideShare
Loading in …5
×

Ján Kmeťko - NoSQL a distribuované databázy – pohľad zhora na konzistentnosť výkon a škálovateľnosť

1,515 views

Published on

  • Be the first to comment

  • Be the first to like this

Ján Kmeťko - NoSQL a distribuované databázy – pohľad zhora na konzistentnosť výkon a škálovateľnosť

  1. 1. Ján Kmeťko
  2. 2.  Deklarovaný výkon nie je vždy reálnymobrazom (napr. môže platiť len pre špeciálnytestovací prípad, alebo len pre percentoreálnych situácii) Univerzálna lineárna škálovateľnosť je mýtus
  3. 3.  1. Výkon DB je obmedzovaný fyzickyvlastnosťami existujúcich algoritmov adostupného HW 2. Výkon DB je znižovaný vnútornouneefektívnosťou databázy 3. Výkon je znižovaný použitímneoptimálnych algoritmov, aleboneoptimálneho HW
  4. 4.  Rýchlosť procesora Prístup na pamäťové médium◦ Latencia◦ Náhodný prístup – frekvencia◦ Sekvenčný prístup – rýchlosť zápisu vs. čítania◦ Linearita adresného priestoru◦ Trvalosť Komunikácia cez sieť◦ Latencia◦ Priepustnosť Spoľahlivosť
  5. 5. Názov SR SW R IOpS W IOpS trvalosť zdieľanie kapacita cena Cena/GBRAM 1 GB/s 1 GB/s 60k 60k nie PC 8 GB 200$ 25$ (+ PC)HDD (lowend)100 MB/s 100MB/s100 100 áno PC 500GB 100$ 0.5$HDD (highend)400 MB/s 400MB/s300 300 áno PC 256GB 1000$ 4$SSD HDD(high end)250 MB/s 90 MB/s 35k 8k áno PC 160GB 440$ 3$RAM SAN 20 GB/s 20 GB/s 600k 600k áno sieť 1TB 500k$ 500$HDD SAN ? ? ? ? áno Sieť 4TB 17k$ 3,5$SSD SAN 1GB/s 1GB/s 300k 300k áno Sieť 2,4TB 125k$ 52$Tabuľka 01 – približné porovnanie typov médií
  6. 6.  Vyhľadávanie polením intervalu (dáta musia byťzoradené) – O(log 2 N) – náhodné čítanie Vyhľadávanie linárne – O(N) – sekvenčné čítanie Cena úpravy indexov pri zápise a zmene dát Cena tranzakčnosti (čakanie na zámky vs. reštarttransakcie) Distribuované DB◦ Cena distribuovaných tranzakcií◦ Úprava synchrónnych replík na viacerých uzloch◦ Náročnejšia concurrency control pri distribuovaných DB
  7. 7.  Zníženie transaction isolation levelu Eventuálna konzistentnosť◦ Asynchróne menená/invalidovaná cache◦ Čítanie asynchrónnej repliky (alebomaterializovaného view)◦ Vlastné riešenia „šírenia dát“◦ Konzistentné prečítanie minulosti Slabá trvalosť Prečítanie uzamknutých, alebomodifikovaných dát Komutatívne operácie (inkrement)
  8. 8.  Správna schéma šírenia dát – cesta kškálovateľnosti Šírenie zmien do stromovej štruktúry –neobmedzená škálovatelnosť pre read-onlydáta Príklad pre celosvetovú stávkovú kanceláriu
  9. 9.  Nemajú úplnú replikáciu Primárne repliky rozdistribuované na viacerouzlov Neexistuje pevný a dopredu daný kľúčrozloženia dát na uzly
  10. 10.  Obmedzenia CAP teorémy Kde sú dáta ktoré hľadám?!  Distribuované concurrency control Distribuované transakcie a commit Predefinovanie ACID podmienok Problém N na M stavov
  11. 11.  Konzistentnosť (Consistency) Dostupnosť (Availability) Odolnosť voči rozdrobeniu siete (Partitiontolerance) Nemôžeme mať všetky tri – príklad Môžeme mať ale rozumnú mieru všetkých CA / AP / CP systémy Potrebujeme skutočne P?
  12. 12.  Statická tabuľka umiestnení Distribuovaná hash tabuľka Dynamická tabuľka umiestnení
  13. 13.  Vyhľadanie entity O(log N) Veľkosť tabuľky - prstov O(log N) Bez možnosti zgrupovania Napr. Cassandra
  14. 14.  Vyhľadanie entity - O(1) Veľkosť tabuľky – O(N), (N/X) X – veľkosťpartície Zgrupovanie entít podľa primárnehousporiadania Možnosť viacvrstvovej tabuľky Napr. HBase, Google BigTable
  15. 15.  Dvojfázové zamykanie (two phase locking) Zoradené časové značky (timestamp ordering) Konflikty – čakanie / reštart tranzakcie Concurrency Control in Distributed DatabaseSystems - PHILIP A. BERNSTEIN
  16. 16.  Problém konsenzu◦ Komunikácia môže zlyhať v ktoromkoľvek okamihu Dvojfázové potvrdenie◦ Náchylné na zlyhanie koordinátora Trojfázové potvrdenie Paxos potvrdenie◦ Odolnosť voči (N - 1)/2 zlyhaniam◦ Náročnosť N(F + 3) / 3 správ
  17. 17.  Dostupnosť◦ (1 - P^n) nedostupnosti všetkých potrebných replík Trvalosť◦ (1 – p^n) straty všetkých synchrónnych replík. P jepravdepodobnosť zlyhania uzla za čas potrebný navytvorenie novej repliky Konzistentnosť (CAP)◦ Okno nekonzistentnosti / perióda zmeny Network partition – izolácia uzla / racku / datacenta◦ Závisí od sieťovej infraštruktúry Konzistentnosť (ACID)◦ Naruší len chyba, nesprávna kombináia algoritmov, alebofailover na asynchrónnu/neaktuálnu repliku
  18. 18.  Eventuálna konzistentnosť◦ Push asynchrónna replikácia zmien◦ Pop asynchrónna replikácia zmien One-site transakcie Harwest a yield◦ Výsledky len z % dát
  19. 19.  Zložitejšie algoritmy Odolnosť voči výpadku uzlov a komunikácie Problém N^M stavov Viac možností optimalizácie Testovanie Zmena schémy dát Update verzie systému za behu Odhad: 10 – 100 krát náročnejšiaimplementácia, ako single node relačnej DB
  20. 20. Priestor na Vaše otázky

×