...
De techniek van Herrera, gebruik maken van het transactielogboek, is een techniek die alles al directer doet. De data wordt opgeslagen, De Java applicatie weet dat gelijk en via de pusher channel staat het bijna direct op de website. Eén van de voordelen dat deze techniek heeft is dat er nooit data op wordt gehaald als deze niet wordt opgeslagen. Herrera geeft zelf al aan dat het systeem dat hij gebruikt het proces niet vertraagd wordt door bijvoorbeeld triggers. Zo snel als er een update is in de database weet ook de Java API dit. Vervolgens kan de API dit aan de pusher doorgeven die het dan weer op de website zet. Al deze stappen lijken misschien meer dan het ophalen van data maar is al een stuk efficiënter en sneller. Het gebruikt meerdere elementen die ook los van elkaar bestaan. Zo lijkt het ophalen van data enigszins op long polling (wachten tot er data is in plaats van vragen of het er al is).
Polling
Polling lijk op de eerste techniek, een script dat elke x seconden data ophaalt. Er wordt een request verstuurd met, in dit geval, de vraag of er al data binnen is gekomen. De server (DB/API) zal reageren met of de opgevraagde data, of dat er geen nieuwe data is. Als de client de reactie heeft. ongeacht van wat deze reactie is, zal deze direct weer een nieuwe aanvraag sturen. Dit is een systeem dat sneller zal werken dan bijvoorbeeld een script dat elke keer aangeroepen wordt, maar zal door de snelheid (als een request sneller verwerkt wordt dan het eerder aangegeven script) ook meer resources in gebruik nemen.
Long polling
Long polling is een soort van opvolger, en in dit geval een betere, van polling. Long polling begint op dezelfde manier. Er wordt een request gestuurd naar de server vanaf de client. Hier is ook gelijk al te zien wat er beter is aan long polling ten opzichte van 'gewoon' polling. Bij polling wordt er een response gestuurd. Deze response is zo snel mogelijk, dus of met data, of er is geen nieuwe data. Long polling wacht tot er nieuwe data is. Is er nog geen data, dan ook geen response. Is er wel nieuwe data, dan krijg je ook de response. Zo snel als de response binnenkomt wordt er ook weer een nieuwe request gestuurd zodat de mogelijk nieuwe data weer zo snel mogelijk binnenkomt.
Conclusie
Bronnenlijst
Herrera, E. (2018, 4 mei). Getting data in realtime from MySQL with Java. Pusher. https://pusher.com/tutorials/realtime-mysql-java/
...