Voor 1:Zoals het is, heb je geen garantie dat syncProcess
zal zijn uitgevoerd tegen de tijd dat de client wordt geëxporteerd. In plaats daarvan zou je iets moeten doen als in dit antwoord
en exporteer in plaats daarvan een belofte.
Voor 2:Met de oplossing waarnaar ik in de bovenstaande vraag heb gelinkt, zou dit worden geregeld.
Voor 3:Een updatetabel zou ook recordverwijderingen opvangen, terwijl gewoon selecteren uit de DB dat niet zou doen, omdat u niet weet welke records zijn verdwenen.
Voor 4:De tweede opmerking na het artikel waarnaar je hebt gelinkt, geeft het antwoord (hint:tijdstempels zijn niet strikt monotoon).