Názor k článku Svět se strašlivě změnil, ale databáze jsou pořád stejné od kvr kvr - Problémy existujících SQL je samozřejmě škálovatelnost a taky...

  • Článek je starý, nové názory již nelze přidávat.
  • 30. 1. 2019 1:41

    kvr kvr

    Problémy existujících SQL je samozřejmě škálovatelnost a taky spolehlivost, znovu připomínám tu první, bo jde ruku v ruce v komplexních systémech s tou druhou.

    Abych zajistil spolehlivost řešení (jakžtakž), tak musím celou operaci nacpat do jedné SQL transakce, což znamená mít všechna relevantní data v jedné databázi (bez distribuovaných transakcí, viz níže) a stejně tak jeden komplexní aplikační service, který řeší danou logiku. Zároveň musím zajistit naprostou spolehlivost HW, což je prakticky nemožné. Pak se zhroutí teoreticky 100% spolehlivé pole a business má přinejmenším mnohahodinový výpadek, o tom, zda má skutečně kompletní poslední data, lze jen polemizovat.

    Distribuované transakce zdánlivě problém vyřeší, pokud se jim dá důvěřovat - pořád tam hrozí riziko výpadku HW či SW v době druhého commit a nekonsistence přijde tak jako tak. Takže jde jen o falešný pocit bezpečí.

    NoSQL (nebo i staré MySql či zcela jiné technologie) jsou otevřené v tom, co skutečně dokážou, může to znamenat víc práce na aplikační úrovni, ale mám úplně jinou škálovatelnost a hlavně spolehlivost implementovanou na základě business logiky, která ví, jak například zajistit idempotentnost operací. Většina operací totiž zdaleka nevyžaduje ACID, ale jen nějakou souslednost aktivit, včetně případného potvrzení jejich provedení na zcela jiný service, který je typicky mimo (distribuovanou) transakci.