Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Welke technieken, die veel gebruikt worden of ons bekend zijn, maken gebruik van een MySQL database?
  • Welke technieken, die veel gebruikt worden of ons bekend zijn, maken geen gebruik van een database of andere database?
  • Welke technieken worden bij autoraces gebruikt om de data van de auto naar een pit te krijgen?
  • Wat zijn een aantal voor- en nadelen van de verschillende technieken voor het weergeven van real-time data?

Welke technieken, die veel gebruikt worden of ons bekend zijn, maken

...

gebruik van een MySQL database?

 Script dat elke x seconden data ophaalt

Een van de manieren om data op te halen uit een database is door elke x seconden een request uit te laten voeren. Je kan bijvoorbeeld alle data ophalen na een bepaald tijdstip en de rest van de data, die je in dit geval al hebt, achterwege laten. In dit geval zal je een timer of iets dergelijks moeten hebben die elk keer de data ophaalt en deze op de applicatie toont. 

...

In het artikel van Herrera geeft hij allereerst drie verschillende mogelijkheden weer voordat hij, in dit geval de derde, techniek kiest en deze ook uitwerkt. De drie technieken die hij benoemt zijn:

    • Poll the database every X seconds and determine if something has changed using a timestamp, version number or status field.
    • Use database or application-level triggers to execute a piece of code when something changes.
    • Use the database transaction/replication log, which records every change to the database. (Herrera, 2018)

Herrera kiest hier voor de derde optie, omdat hij vindt dat deze het meest robuust is. Ook benoemd hij dat deze techniek geen middelen verspilt door bijvoorbeeld polling of het proces vertraagd door bijvoorbeeld het gebruik van triggers. Herrera geeft de volgende afbeelding met hoe het systeem uiteindelijk zal werken.

...

Als er een insert, update of delete op de MySQL database wordt uitgevoerd, wordt dit in een binary log gezet. De Java applicatie luistert naar deze binary log met gebruik van de  mysql-binlog-connector-java. Nadat de Java applicatie deze data heeft ontvangen, wordt deze omgezet zodat alleen de relevante data door wordt gestuurd naar de "Pusher Channel". Vervolgens gebruikt Herrera een React app die verbonden is aan de pusher. De pusher zit als een soort API tussen de React app en de Java backend.

...

Regterschot Racing gebruikt een API om de data van de Raspberry Pi in de database te zetten. De client, in dit geval onze Java web applicatie, kan een request sturen naar deze API. Als de API nieuwe data heeft, dan zal hij deze teruggeven aan de applicatie. Als deze geen nieuwe data heeft, dan krijgt de applicatie een bericht terug dat er geen nieuwe data is. Het is vergelijkbaar met het verversen van je email om te kijken of er nieuwe email is.

...

De sensoren die in een F1 raceauto zitten zijn veelal met elkaar verbonden. Elke auto heeft zijn eigen netwerk en de data wordt van punt één naar punt twee twéé verzonden. Uiteindelijk komt alle data binnen op een server die nog in de auto zelf zit. De data wordt op dat moment geëncrypt en verzonden naar de pit met gebruik van radio signalen.  Op een race circuit staan meerdere palen die de radiosignalen op kunnen pikken en weer kunnen versturen. De palen staan op zo'n manier ingedeeld dat als een coureur niet meer in het bereik is van paal A, hij wel in het bereik is van paal B. 

Ook Bij NASCAR wordt er gebruik gemaakt van data. Ook deze data wordt opgeslagen en wordt de data ook opgeslagen via een transducer door radiosignalen die verstuurd worden naar een centrale computer. Data bij NASCAR wordt echter veelal gebruikt om bijvoorbeeld de afstand tussen auto's aan te geven of hoe snel een auto momenteel rijdt. De data die tijdens een race binnenkomt wordt alleen naar NASCAR medewerkers verstuurd.

...