4 bedste tidsseriedatabaser at se i 2019

Når du udvikler IoT, finansielle eller industrielle applikationer, er valget af en god tidsseriedatabase mest af tiden en hovedpine, ved at vælge mellem 30+ (og voksende) liste over tidsserierudbydere i branchen.

Når du vælger en tidsseriedatabase, er det bedst at vide, hvad de har at tilbyde, og hvordan de kan passe til dine behov.

Handler du mere om direkte at skrive SQL, eller foretrækker du et splinternyt behandlingssprog til din tidsserie? Er du bekymret for skybaserede løsninger, eller har du dine egne integrationsløsninger?

Denne artikel hjælper dig med at sammenligne dine forskellige muligheder.

Her er listen over min bedste tidsseriedatabase til brug i 2019.

1. InfluxDB

InfluxDB-placeringer for 2019

InfluxDB blev bygget af InfluxData i 2013 og er en fuldstændig open source-tidsseriedatabase, der fungerer på alle nuværende operativsystemer. InfluxDB understøtter et meget stort sæt programmeringssprog (ja .. endda Lisp og Clojure ...). Den er optimeret til tung skrivning og fungerer utroligt godt med samtidig.

InfluxDB er skemafri: det er bygget på NoSQL-smagsstoffer og giver mulighed for hurtige databaseschemaændringer. Afhængigt af hvad du prøver at opbygge, er dette begrebsmæssige valg muligvis ikke tilpasset dine behov.

Hvorfor skal du bruge InfluxDB?
  • Spil med det på 5 minutter

Fem minutter er alt, hvad det tager fra det øjeblik, du downloader det, indtil du er i stand til at lege med det. En god teknisk dokumentation gør det superenkelt at installere, konfigurere og starte InfluxDB. Som en NoSQL-lignende database behøver du ikke at konfigurere din database på nogen måder: du indsætter dine data, og du er god til at gå.

  • Integreret TICK-stak

InfluxDB er en del af TICK-stakken: Telegraf, InfluxDB, Chronograf og Kapacitor. InfluxData leverer ud af boksen et visualiseringsværktøj (der kan sammenlignes med Grafana), en databehandlingsmotor, der binder direkte med InfluxDB, og et sæt på mere end 50+ agenter, der kan indsamle realtidsmetriks for en masse forskellige datakilder.

Lad os være fair.

InfluxDB bruges mest af tiden med Grafana. Chronograf er ikke (i øjeblikket) så god som Grafana, men InfluxData forsøger at vende skibet rundt. Ved at opbygge Flux, et nyt behandlingssprog og integrere det direkte med Chronograf, kan de muligvis tilbyde nogle meget unikke funktioner til det i de næste måneder.

(Vil du vide mere om Flux? Jeg skrev en artikel om det.)

InfluxDB-websted - influxdata.com

2. TimescaleDB

TimescaleDB-rangeringer for 2019

Placeret som nr. 15 sidste år gør TimescaleDB enorme fremskridt i placeringerne i år.

Hvorfor?

Hvis du spørger mig, giver de et meget solidt og skalerbart alternativ til InfluxDB. TimescaleDB er også åben og er baseret på SQL-lokaler. De leverer også et meget stort sæt understøttede programmeringssprog (inkl. Java og Python), så dine applikationer kan integreres direkte med det.

TimescaleDB er direkte bundet med PostgresSQL, da den skalerer den berømte relationelle database for at tilbyde et unikt sæt tidsserierelaterede operationer (såsom hurtig indtagelse).

Hvorfor skal du bruge TimescaleDB?
  • SQL support:

Et af de største aktiver i TimescaleDB er det faktum, at det understøtter SQL-sproget indfødt og giver udviklere mulighed for hurtigt at springe toget uden at skulle lære noget nyt sprog. Det er selvfølgelig et meget flot aspekt for udviklerens produktivitet, da du kan sikre, at SQL-erfarne udviklere i dit team straks kan være effektive med TimescaleDB.

  • PostgresSQL-integration:

The Guardian gjorde en meget flot artikel, der forklarede, at de gik fra MongoDB til PostgresSQL til fordel for at skalere deres arkitektur og kryptere deres indhold i REST. Som du kan sige, stoler store virksomheder på SQL-begrænsningssystemer (med en skyarkitektur selvfølgelig) for at sikre systemets pålidelighed og tilgængelighed. Jeg tror, ​​at PostgresSQL vil fortsætte med at vokse, også TimescaleDB. Ved at tilhøre PostgresSQL-økosystemet vil TimescaleDB arve fra alle de værktøjer og plugins, der er udviklet af dette enorme samfund.

  • En diskutabel bedre ydelse end InfluxDB

Jeg må understrege, at dette er en 'diskuterbar' bedre ydelse, da systemer er ret nye på markedet, og de blev ikke testet i alle de forskellige sager, som branchen har at tilbyde.

Som en retfærdig forfatter skal jeg påpege, at Matvey Arye skrev en meget god artikel, der sammenligner Flux med SQL og på en måde InfluxDB med TimescaleDB. Især hans punkter om optimering af forespørgsler skal læses omhyggeligt, og de giver en meget solid forklaring på, hvorfor de kunne være mere performante (i det mindste i teorien).

Matvey Arye-artikel - SQL vs Flux

TimescaleDB-websted - timescale.com

3. OpenTSDB

OpenTSDB-rangeringer for 2019

OpenTSDB har kørt i meget mere tid end sine konkurrenter og er en af ​​de første teknologier til at imødekomme behovet for at gemme tidsseriedata i meget stor skala. OpenTSDB lover at være i stand til at gemme hundreder af milliarder af datarække over distribuerede tilfælde af TSD-servere.

OpenTSDB er en skemafri database, der er bygget på Apache HBase. For dem, der ikke ved, er HBase et ikke-relationelt styringssystem skrevet til håndtering af store bordeopbevaring på en elegant og effektiv måde.

Hvorfor skal du bruge OpenTSDB?
  • Ydeevne!

Ted Dunning (Chief Application Architect hos MapR) holdt en ganske forklarende tale om, hvordan tidsseriedatabasen skulle bygges, og hvordan horisontalt arrangering af tidsintervaller kunne skalere en DBMS op til 20 til 30 millioner skriver pr. Sekund. Dette er en enorm indsættelseshastighed i betragtning af, at en enkelt InfluxDB-knudepunkt kunne indsætte op til en million skriv per sekund.

Du ønsker måske at give OpenTSDB et skud, hvis du har at gøre med sådanne indsættelseshastigheder i dit system.

  • Integrationsøkosystem

Læsning af dokumentationen integreres OpenTSDB med en lang række værktøjer som Cassandra, BigTable, CollectD, StatsD, Chef og endda Puppet til implementeringsstyring.

Ted Dunning på Time Series databasearkitektur

OpenTSDB-websted - opentsdb.net

4. Grafit

Grafitrangeringer for 2019

Grafit er et endnu mere etableret og meget udbredt databasesystem for tidsserier. Graphite er et kraftfuldt overvågningsværktøj, der lagrer numeriske tidsseriedata og viser dem på efterspørgsel via sin Graphite-webgrænseflade med en rimelig hastighed. Grafit bruges mest af tiden som et system-, netværks- og applikationsprestationsmetrisk lager. Store virksomheder som Booking.com, Reddit og GitHub bruger det dagligt for let at kunne opdage brud på deres arkitektur.

Hvorfor skal du bruge grafit?
  • Grafit gør et par ting, men det gør det godt.

Grafit er bygget til at håndtere numeriske data. Da det i sig selv kan være en begrænsning, hvis du ikke har at gøre med numeriske data, giver Grafit ud af boksen et sæt værktøjer, der gør det nemt for udviklere at komme i gang. Graphite Web giver en meget flot interface for udviklere til at overvåge deres anvendelse.

  • Et godt integrationsøkosystem

Som OpenTSDB opretter Graphite forbindelse med en masse værktøjer naturligt og gør det let for udviklere at oprette forbindelse til deres eksisterende infrastruktur. Grafit er let i stand til at oprette forbindelse til CollectD, sensu, Riemann, Windows Server, Logstash og mange flere.

Grafitwebsted - grafiteapp.org

X - Din tur til at dele!

Har du erfaring med disse tidsseriedatabaser? I bekræftende fald, hvilken vil du anbefale, og hvorfor?

Hvis du finder ud af, at nogle TSMS skal rangeres højere eller lavere, er du velkommen til at give dine egne placeringer i kommentarsektionen.

XI - Klap og tilmeld

Hvis du kunne lide denne artikel, så giv os nogle klap, det hjælper altid. Tilmeld dig som altid vores publikation for at være sikker på, at du ikke går glip af nogen software engineering-artikel i fremtiden.

Tak for klappet!