Een metrische database is een gespecialiseerde database die is ontworpen om tijdreeksgegevens efficiënt op te slaan en op te halen. Dit type gegevens bestaat uit metingen (statistieken) die met regelmatige of onregelmatige tussenpozen worden uitgevoerd, doorgaans gekoppeld aan een tijdstempel. Denk aan zaken als CPU-gebruik, netwerklatentie, websiteverkeer of sensormetingen. Deze databases zijn geoptimaliseerd voor het verwerken van enorme hoeveelheden gegevens en bieden snelle querymogelijkheden voor analyse en visualisatie.
Hier volgt een overzicht van de belangrijkste kenmerken:
* Tijdreeksgegevens: Dit is het kernelement. Gegevenspunten zijn inherent gekoppeld aan een specifiek tijdstip.
* Inname van grote hoeveelheden: Metrische databases zijn gebouwd om de voortdurende toestroom van gegevens uit vele bronnen aan te kunnen.
* Krachtige zoekopdrachten: Ze zijn geoptimaliseerd voor het ophalen van gegevens op basis van tijdsbereiken, aggregatiefuncties (zoals gemiddelde, som, min, max) en filtering.
* Schaalbaarheid: Ze moeten horizontaal schalen om de groeiende hoeveelheden data en gelijktijdige gebruikers te kunnen verwerken.
* Beleid voor het bewaren van gegevens: Bieden vaak opties om te configureren hoe lang gegevens worden bewaard, waarbij de kosten en historische analysebehoeften in evenwicht worden gebracht.
* Integratie van gegevensvisualisatie: Velen zijn ontworpen om te integreren met monitoring- en visualisatietools.
Belangrijke verschillen met relationele databases:
Hoewel je tijdreeksgegevens *zou* kunnen opslaan in een relationele database, is dat inefficiënt. Metrische databases zijn specifiek ontworpen voor:
* Sneller opvragen van tijdreeksgegevens: Relationele databases zijn niet geoptimaliseerd voor de typen query's die gebruikelijk zijn bij tijdreeksanalyses (bijvoorbeeld het verkrijgen van het gemiddelde CPU-gebruik over het afgelopen uur).
* Omgaan met enorme datavolumes: Relationele databases kunnen worstelen met de enorme hoeveelheid gegevens die door monitoringsystemen wordt gegenereerd.
* Geoptimaliseerde datastructuren: Metrische databases gebruiken gespecialiseerde gegevensstructuren (zoals kolomopslag) om de queryprestaties voor tijdreeksgegevens te optimaliseren.
Voorbeelden van populaire metrische databases:
* InfluxDB: Een populaire open-sourceoptie.
* Prometheus: Een andere populaire open-sourceoptie, vaak gebruikt met Kubernetes.
* TijdschaalDB: Een uitbreiding van PostgreSQL die tijdreeksmogelijkheden toevoegt.
* Amazon-tijdstroom: Een volledig beheerde cloudservice van AWS.
* Google Cloud-monitoring: Een beheerde service van Google Cloud Platform.
Kortom, metrische databases zijn van cruciaal belang voor toepassingen die realtime monitoring, analyse en visualisatie van tijdreeksgegevens vereisen. Ze vormen een hoeksteen van moderne monitoring- en observatiesystemen. |