<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Chápu, že umíš PHP a MySQL, takže učit se něco nového je zátěž
      navíc, ale jak jsem dočetl popis tvého problému, tak mi naskočila
      <a moz-do-not-send="true" href="http://couchdb.apache.org/">CouchDB</a>,
      kterou používají třeba pro apku <a moz-do-not-send="true"
href="https://play.google.com/store/apps/details?id=com.droid4you.application.wallet">Wallet</a>.</p>
    <p> CouchDB má mu vlastnost, že si synchronizaci dat řeší sama,
      včetně toho který záznam je poslední, co s konflikty (ne, není to
      tak magické jak to zní) a nějaké výpadky spojení ji moc netrápí.</p>
    <p>Co si pamatuju z přednášky vývojáře Wallet, tak si data posbírají
      přes CouchDB a pak to z ní vycucnou a hodí do SQL databáze, se
      kterou pak pracují jak jsou zvyklí.</p>
    <p>Pokud by mě osobně tlačil čas, tak bych šel cestou nejmenšího
      odporu a z centrálního serveru bych kontroloval změny každých pět
      minut (třeba). Nedržel bych se replikace, protože udržovat <b>všude</b>
      stejnou databázi je zbytečná datová zátěž a kdyby mi někde vznikl
      konflikt (byt jenom se stejným ID u autoincrementu), tak bych si
      toho asi hodil mašli.</p>
    <p>Jarda<br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 07/02/2018 11:26 AM, Jan B. Kolář
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:1664639.76Gbd4SjGZ@omen">
      <pre wrap="">Ahoj,

chtěl jsem Vás poprosit o radu s jedním problémem, který teď řeším.

Když byl loni blázinec kolem EET, rozhodl jsem se jít vlastní cestou a pro 
svoje prodejny nasadil pokladní software v PHP (v PHP umím programovat, takže 
jsem si byl schopen do programu udělat implementaci EET). Celá věc mi běží na 
serveru a pokladny se tam připojují pomocí SSH tunelu.

Co mi však  začalo dělat starosti jsou výpadky připojení. Za celý rok jich 
bylo jen pár, přesto bych však nechtěl dostat pokutu za to, že v době výpadku 
nedávám lístky.

Začal jsem si tedy pohrávat s myšlenkou, že bych aplikaci přesunul na každou 
pokladnu zvlášť (tzn. na pokladně by běžel nginx, PHP a mysql) a na server si 
dělal jen replikaci databází, abych pak mohl dělat z pokladen výkazy, aniž by 
byly v běhu.

Až po sem myšlenka dobrá, jenže dnes mi došlo, že budu potřebovat některá data 
sdílet mezi pokladnami - například seznam produktů. Ten potřebuji mít 
přístupný lokálně, aby šlo produkty účtovat v případě výpadku, ale zároveň ho 
také potřebuji synchronizovat, aby se produkt do seznamu nemusel přidávat na 
každé pokladně zvlášť. No a tady nevím, jak k tomu mám přistoupit :-( 

Neřešil jste někdo podobný problém? Napadlo mě, zda nemít pro sdílená data 
druhou databázi, která by byla na serveru a replikovala se na pokladny. 
Přiznám se ale, že nevím, jak bych v tomto případě řešil zápisy do master 
databáze na serveru a čtení z lokální slave databáze na pokladně. 

Ocením jakoukoliv radu nebo odkaz.

Všechny zdraví

Honza

</pre>
    </blockquote>
    <br>
  </body>
</html>