Portál AbcLinuxu, 11. května 2025 07:28
Řešení dotazu:
Hrozí nebezpečí, že když bude aplikace pracovat s databází a zároveň ji bude synchronizovat přes Dropbox, že dojde k porušení dat?Ano, extrémní. Většina těchto synchronizačních nástrojů funguje tak, že soubor otevře a pak ho lineárně čte a změny přenáší na druhou stranu. Pokud jsi uprostřed čtení a změní se něco na začátku i na konci souboru, přeneseš jenom tu změnu na konci souboru. Teď si představ jednoduchý příklad, že databáze je obyčejný AVL strom (nejsme tak daleko od pravdy, například MySQL používá interně B-strom) a databáze zrovna zjistila, že je rozbalancovaný a je potřeba provést rotaci, což znamená přepsat pár pointrů na začátku a pár na konci. No a teď ti běží synchronizace dropboxem a pointry na začátku ukazují na původní umístění (které už třeba neexistuje nebo je tam něco úplně jiného) a pointry na konci na nové. Strom se tím totálně rozbil.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.