to je niekde hotove

Ide o distribuovanu databazu pri ktorej mame osetrit padnutie spojenia. Mam dve identicke databazy, kde zapis do jednej
vyvola zapis dat do druhej a naopak. Obsah data ako taky nie je podstatny.
Takto by to malo vyzerat v idealnom pripade.

To pingovanie by sme tam mali namontovat a v pripade fail-u osetrit poziadavky na databazu.
Cize ked dojde k niecomu ako toto

musime zabezpecit, aby nedochadzalo k problemom s konzistentnostov dat.
Ja som zatial zanalyzoval niekolko moznosti a problemov:
- ak vypadne spojenie a dojde k zapisu do jednej databazy, zapisane data musim nalezite oznacit, pripadne niekde odsunut kopiu
ktora caka na obnovu spojenia a na nasledny zapis.
- rezerva klucov. Teda ak by nebolo spojenie a doslo by k zapisom na oboch stranach, aby sa po obnoveni spojenia nestrieskali duplicitne primarne kluce. Kvoli tomu ten ping: pingcheck() = fail => reserve keys. Zatial ma napadlo pridat ku klucu timestamp aby sa to dalo nasledovne upravit podla poradia?? (mozno zbytocnost)
- rezerva dat. Ak by doslo k nejakej manipulacii na oboch stranach pocas vypadku (napr. znizenie poctu tovaru alebo hoci co) tak aby som po obnove spojenia nezistil, ze na dvoch stranach doslo k objednavke a ja teraz nemam matros kery by som poslal, alebo nieco take. Tu ma napadla tiez len rezerva, ze pri vypadku spojenia obmedzit niektore manipulacie s datami.
Platforma je na mne, ja by som to primarne riesil v C# a s vyuzitim Visual Studia a nalezitych doplnkov. Databaza, najskor SQL.
Mate niekto nejake pripomienky, navrhy? S databazami som robil zatial dost lightovo, takze to je pre mna dost vela vyzva
