Is SQL nog steeds de moeite waard in het tijdperk van het IoT?

Ongeveer tien jaar geleden was SQL de onbetwiste standaard voor het programmeren, opslaan en beheren van gegevens in relationele database management systemen (RDBMS). Een RDBMS slaat in wezen gegevens op in tabellen met een gestructureerd formaat van rijen en kolommen. De waarden die ze opslaan en zelfs de tabellen zelf kunnen op elkaar worden afgestemd. Verschillende implementaties zoals MySQL, Microsoft SQL Server en PostgreSQL werden op grote schaal gebruikt.

Echter, SQL werd de afgelopen jaren uitgedaagd toen er nieuwe use-cases voor data ontstonden. Ontwikkelingen op het gebied van cloud computing en het internet of things (IoT) maakten het mogelijk om grote en gevarieerde hoeveelheden ongestructureerde data te verzamelen van slimme apparaten en sensoren. Deze stortvloed van grote hoeveelheden data maakte het opslaan van informatie in SQL-databases vrij moeilijk, waardoor het gebruik van NoSQL-databases ontstond. Aangezien NoSQL databases geen vaststaand relationeel schema hebben, hoeven gebruikers zich geen zorgen te maken over het forceren van ongestructureerde data in voorgedefinieerde tabellen. NoSQL heeft door deze flexibiliteit veel hype gekregen.

Als zodanig staan ontwikkelaars nu voor het dilemma om te kiezen tussen SQL en NoSQL voor hun IoT gerelateerde projecten. Voor sommigen is dit echter geen eenvoudige keuze. Veel bedrijfssystemen en -applicaties zijn diepgaand geïnvesteerd in SQL-databases. De meeste van hun ontwikkelaars zijn ook beter bekend met SQL. Er zijn ook tal van gratis middelen met SQL cheat sheets, dus zelfs niet-ontwikkelaars zijn in staat om queries uit te voeren, de betekenis achter elk SQL symbool te begrijpen en informatie uit databases te halen – zonder dat ze daarvoor diepgaande programmeerkennis nodig hebben. Vanwege de manier waarop SQL ingebakken is, willen veel organisaties ook gewoon hun IoT integreren met hun bestaande SQL-gebaseerde systemen en infrastructuren.

De grote vraag is of het mogelijk is, en zo ja, is de inspanning het waard?

Opkomst van het IoT

Enterprise adoptie van het IoT neemt toe naarmate meer apparaten worden gebruikt in verschillende bedrijfsprocessen. Gartner verwacht dat tegen 2020 5,8 miljard zakelijke en automotive eindpunten op het IoT zullen zijn aangesloten.

Productiebedrijven integreren nu meer met het internet verbonden robots en sensoren, waardoor industriële besturingssystemen op afstand toegankelijk worden. Magazijnen maken gebruik van trackers om de product bewegingen te monitoren. Kantoren maken ook gebruik van IoT-apparaten zoals slimme thermostaten, beveiligingscamera’s en apparaten om de kosten te verlagen en routine processen te automatiseren. Om hun IoT-implementatie te maximaliseren, moeten ze hun IoT-apparaten niet alleen in hun infrastructuur kunnen integreren, maar ook in hun bedrijfsapplicaties.

Dit betekent ook dat ze ervoor moeten zorgen dat gegevens veilig en naadloos kunnen worden doorgegeven. De apparaten van het IoT kunnen veel data genereren die hun big data en analytische inspanningen kunnen voeden. De inzichten die uit analyses kunnen worden gegenereerd, kunnen uiteindelijk een concurrentievoordeel worden. Grote ondernemingen hebben al laten zien hoe dit mogelijk is. UPS gebruikt bijvoorbeeld tracking data van hun vloot om optimale routes te creëren waardoor hun leveringen efficiënter en effectiever worden.

Waarom NoSQL een boost heeft gekregen

Interessant is dat NoSQL al heel lang bestaat, maar het is pas recentelijk dat het steun heeft gevonden onder de ontwikkelaars. Een van de sterke argumenten voor het gebruik van NoSQL met IoT-data is de snelheid en het gemak waarmee gebruikers gegevens van apparaten kunnen opslaan. NoSQL gebruikt key/value stores, of voor sommige meer geavanceerde NoSQL databases, objecten. Met NoSQL wordt nieuwe informatie gewoon toegevoegd. Dit stelt NoSQL databases in staat om allerlei nieuwe informatie te accepteren. Voor inspanningen die gewoonweg de stromen van IoT-data willen verzamelen en loggen in een database, lijkt NoSQL zeer geschikt.

Dit in tegenstelling tot het gestructureerde formaat van SQL. Vaak kunnen degenen die met SQL databases werken het een uitdaging vinden om te bepalen waar bepaalde waarden moeten worden toegewezen, vooral als ze niet in het bestaande schema passen. Zulke kwesties zullen ongetwijfeld gemeengoed worden naarmate nieuwe apparaten die nieuwe informatie verzamelen, in de infrastructuur worden geïntegreerd.

De case voor SQL

Vanwege deze overwegingen, veel nieuwe inspanningen gewoon verbergen over SQL als een keuze voor hun IoT inspanningen. Soms kan deze keuze zelfs leiden tot wrijving binnen organisaties. Terwijl ontwikkelaars misschien gebruik willen maken van de flexibiliteit van NoSQL, kan het gebruik ervan nieuwe investeringen vereisen. Het verwerven van nieuwe infrastructuur componenten, zelfs als ze alleen maar cloud instances zijn, kan vrij moeilijk te rechtvaardigen zijn als het bedrijf bestaande en significante verplichtingen heeft voor de SQL infrastructuur.

De uitdaging voor de technology officers is dan om een ecosysteem te creëren dat bedrijven in staat stelt om te genieten van de voordelen van het IoT en tegelijkertijd de SQL middelen en mogelijkheden te maximaliseren. Het gebruik van SQL met het IoT is haalbaar. Het is mogelijk om data aggregators of nodes te gebruiken die informatie ontvangen van eindpunten die de data kunnen voorbewerken voordat ze worden doorgegeven aan een SQL database server. Een andere aanpak is om SQL in te bedden in endpoint software om data voor te bereiden en te verwerken voordat deze naar SQL servers wordt verzonden. Ruwe data kan nog steeds worden opgeslagen in deze nodes of op een back-up, maar de SQL-voorbereide data zal worden gebruikt voor toepassingen.

Als het gaat om business intelligence en analyse, is het nog steeds makkelijker om met gestructureerde SQL-data te werken en deze te begrijpen. De bestaande expertise en bekendheid van ontwikkelaars en zelfs niet-ontwikkelaars om met SQL te werken, betekent ook dat ze gemakkelijk kunnen profiteren van de gegevens die door hun IoT-apparaten worden gegenereerd.

Conclusie

Uiteindelijk komt het allemaal neer op een kwestie van omstandigheden. Kleinere inspanningen en projecten die vanaf nul beginnen, kunnen ervoor zorgen dat het beginnen met NoSQL hen de meeste flexibiliteit en wendbaarheid kan geven. Organisaties die het gebruik en de investeringen in SQL hebben gevestigd, kunnen manieren vinden om de technologie te blijven gebruiken voor hun IoT-inspanningen. Maar wat duidelijk is, is dat SQL nog steeds relevant is en van grote waarde kan zijn in deze moedige nieuwe IoT-gedreven wereld.

 

https://www.tailorit.nl/trainingen/it-beheer/ms-sql-server/