Off-line synchronizace a MongoDb rubrika: Programování: iOS

2 richtertobias
položil/-a 8.12.2015

Ahoj,

nemáte někdo z Vás zkušenosti s off-line synchronizací iOS aplikace s MongoDb ? Celé to běží přes Node.js serveru. Snažim se najít cestu, jak nejůspěšněji sledovat změny dat a dotahovat do mobilu jen změny. Vytvoření/změna by takový problém nebyl, stačil by datum aktualizace. Ale u mazání mě napadají jen složité cesty.

Díky

Komentáře

  • richtertobias : Uvažoval jsem o takovém řešení, ale otázka co se stane s vyšším počtem lidí a trafficem. Ten log nemůžeš vlastně nikdy mazat, protože nevíš jestli jsou synchronizovaný všechny zařízení, takže jen roste. Leda ještě sledovat přihlášené zařízení, poslední sync a případně jim po nějaké době vnutit stáhnout vše znova. 10.12.2015
  • tdvorak : Přesně tak to dělá ta synchronizace repliky. Pokud jí oplog ujede a ona je moc zastaralá, je nutné sesynchronizovat vše od začátku. Oplog má fixně danou velikost, aby nerostl do nekonečna. Více viz https://docs.mongodb.org/manual/tutorial/resync-replica-set-member/ Nedělal bych takovou tabulku změn ručně, protože bude náchylná k chybám. Každá změna do ní bude muset být zanesena z aplikace. Stačí jedno opomenutí v kódu a data nebudou sedět. 10.12.2015
  • richtertobias : Což je to tím pádem ještě jednodušší. Poslední přihlášení by si drželo přímo zařízení a oplog by se mazal po překročení velikosti denní záznamy. To zní dobře, zkusim to otestovat. 10.12.2015
odkaz
7 messa
odpověděl/-a 9.12.2015

Místo smazání nastavuj jen datum smazání. Jen je potřeba, aby s tím aplikační logika počítala, že záznamy s nastaveným datumem smazání jsou "smazané". Záleží, o jakou aplikaci se jedná, ale pokud jsou její data aspoň trochu důležitá, tak bys to možná měl i chtít, aby se nic ve skutečnosti nemazalo.

Nebo při smazání záznamu vlož info někam jinam s datumem smazání.

Pro zobrazení všech 2 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.