4 beste tidsseriedatabaser å se i 2019

Når du utvikler IoT, økonomiske eller industrielle applikasjoner, er valget av en god tidsseriedatabase mesteparten av tiden en hodepine, ved å velge mellom 30+ (og voksende) listen over tidsserieleverandører i bransjen.

Når du velger en tidsseriedatabase, er det best å vite hva de har å tilby og hvordan de kan passe til dine behov.

Handler du mer om å skrive SQL direkte, eller foretrekker du et helt nytt behandlingsspråk for tidsseriene dine? Er du opptatt av skybaserte løsninger, eller har du egne integrasjonsløsninger?

Denne artikkelen vil hjelpe deg å benchmark de forskjellige alternativene.

Her er listen over min beste tidsseriedatabase å bruke i 2019.

1. TilstrømningDB

InfluxDB-rangeringer for 2019

InfluxDB ble bygd av InfluxData i 2013 og er en helt åpen kildekode-tidsseriedatabase som jobber med alle nåværende operativsystemer. InfluxDB støtter et veldig stort sett programmeringsspråk (ja .. til og med Lisp og Clojure ...). Den er optimalisert for tung skrivemengde og fungerer utrolig bra med samtidig.

InfluxDB er skjemafri: det er bygget på NoSQL-smaker og gir mulighet for raske databaseskjemaendringer. Avhengig av hva du prøver å bygge, kan dette konseptuelle valget kanskje ikke tilpasses dine behov.

Hvorfor skal du bruke InfluxDB?
  • Lek med det på 5 minutter

Fem minutter er alt fra det øyeblikket du laster ned det til du kan spille med det. En god teknisk dokumentasjon gjør det superenkelt å installere, konfigurere og starte InfluxDB. Som en NoSQL-lignende database, trenger du ikke å konfigurere databasen på noen måter: du setter inn dataene dine, og du er god til å gå.

  • Integrert TICK-stabel

InfluxDB er en del av TICK-stabelen: Telegraf, InfluxDB, Chronograf og Kapacitor. InfluxData gir, ut av boksen, et visualiseringsverktøy (som kan sammenlignes med Grafana), en databehandlingsmotor som binder direkte med InfluxDB, og et sett på mer enn 50 agenter som kan samle sanntids beregninger for mange forskjellige datakilder.

La oss være rettferdige.

InfluxDB brukes mest av tiden med Grafana. Chronograf er ikke (for øyeblikket) så god som Grafana, men InfluxData prøver å snu skipet. Ved å bygge Flux, et nytt behandlingsspråk, og integrere det direkte med Chronograf, kan de tilby noen veldig unike funksjoner for det de neste månedene.

(Vil du vite mer om Flux? Jeg skrev en artikkel om det.)

InfluxDB nettsted - influxdata.com

2. TimescaleDB

TimescaleDB-rangeringer for 2019

Rangert som nr. 15 i fjor, gjør TimescaleDB store fremskritt i rangeringen i år.

Hvorfor?

Vel, hvis du spør meg, gir de et veldig solid og skalerbart alternativ til InfluxDB. TimescaleDB er også åpen og basert på SQL-lokaler. De gir også et veldig stort sett støttede programmeringsspråk (inkl. Java og Python) for at applikasjonene dine kan integreres direkte med det.

TimescaleDB er direkte bundet med PostgresSQL da den skalerer den berømte relasjonsdatabasen for å tilby et unikt sett med tidsserierelaterte operasjoner (for eksempel raskt inntak).

Hvorfor skal du bruke TimescaleDB?
  • SQL-støtte:

En av de største eiendelene til TimescaleDB er det faktum at det støtter SQL-språket innfødt og lar utviklere raskt hoppe toget uten å måtte lære noe nytt språk. Det er selvfølgelig et veldig fint aspekt for utviklerens produktivitet, siden du kan sikre at SQL-erfarne utviklere i teamet ditt kan være effektive med TimescaleDB.

  • PostgresSQL-integrasjon:

The Guardian gjorde en veldig fin artikkel som forklarte at de gikk fra MongoDB til PostgresSQL til fordel for å skalere sin arkitektur og kryptere innholdet deres på REST. Som du kan si, er store selskaper avhengige av SQL-begrensningssystemer (med en skyarkitektur selvfølgelig) for å sikre systemets pålitelighet og tilgjengelighet. Jeg tror at PostgresSQL vil fortsette å vokse, også TimescaleDB. Ved å tilhøre PostgresSQL-økosystemet, vil TimescaleDB arve fra alle verktøyene og plugins som er utviklet av dette enorme samfunnet.

  • En diskutabel bedre ytelse enn InfluxDB

Jeg må understreke at dette er en 'diskutabel' bedre ytelse ettersom systemer er ganske nye for markedet, og de ble ikke testet på alle de forskjellige sakene bransjen har å tilby.

Som en rettferdig tenkelig forfatter, må jeg påpeke det faktum at Matvey Arye skrev en veldig god artikkel som sammenligner Flux med SQL og på en måte InfluxDB til TimescaleDB. Spesielt poengene hans om optimalisering av søk bør leses nøye, og de gir en veldig solid forklaring på hvorfor de kunne være mer performante (i det minste i teorien).

Matvey Arye-artikkel - SQL vs Flux

TimescaleDB-nettsted - timescale.com

3. OpenTSDB

OpenTSDB-rangeringer for 2019

OpenTSDB har kjørt i mye mer tid enn konkurrentene, og er en av de første teknologiene som adresserer behovet for å lagre tidsseriedata i veldig stor skala. OpenTSDB lover å kunne lagre hundrevis av milliarder datarader over distribuerte forekomster av TSD-servere.

OpenTSDB er en skjemafri database bygd på Apache HBase. For de som ikke vet, er HBase et ikke-relasjonelt styringssystem skrevet for å håndtere store bordlagring på en elegant og effektiv måte.

Hvorfor skal du bruke OpenTSDB?
  • Opptreden!

Ted Dunning (Chief Application Architect at MapR) holdt en ganske eksplosiv snakk om hvordan tidsseriedatabasen skulle bygges og hvordan horisontal tilrettelegging av tidsintervaller kunne skalere en DBMS på opptil 20 til 30 millioner skriver per sekund. Dette er en enorm innsatshastighet med tanke på at en enkelt forekomst av InfluxDB node kan sette inn opptil en million skriver per sekund.

Det kan være lurt å gi OpenTSDB et skudd hvis du har å gjøre med slike innsettingshastigheter i systemet ditt.

  • Integrasjonsøkosystem

Lesing av dokumentasjonen integrerer OpenTSDB med en god del verktøy som Cassandra, BigTable, CollectD, StatsD, Chef og til og med Puppet for distribusjonsadministrasjon.

Ted Dunning på Time Series databasearkitektur

OpenTSDB nettsted - opentsdb.net

4. Grafitt

Grafittrangeringer for 2019

Grafitt er et enda mer etablert og veldig mye brukt databasesystem for tidsserier. Grafitt er et kraftig overvåkingsverktøy som lagrer numeriske tidsseriedata og viser dem på forespørsel via sitt grafitt-webgrensesnitt med rimelig hastighet. Grafitt brukes mest av tiden som et system, nettverk og ytelsesmetrisk butikk. Store selskaper som Booking.com, Reddit og GitHub bruker det til daglig for å lett kunne oppdage strømbrudd på arkitekturen.

Hvorfor skal du bruke grafitt?
  • Grafitt gjør noen få ting, men det gjør det godt.

Grafitt er bygget for å håndtere numeriske data. Siden det ikke kan være en begrensning i seg selv hvis du ikke har å gjøre med numeriske data, gir Grafitt ut av esken et sett med verktøy som gjør det enkelt for utviklere å komme i gang. Graphite Web gir et veldig fint grensesnitt for utviklere å overvåke applikasjonen deres.

  • Et godt integrasjonsøkosystem

Som OpenTSDB kobler Graphite sammen med mange verktøy innfødt og gjør det enkelt for utviklere å koble seg til deres eksisterende infrastruktur. Grafitt kan enkelt koble til CollectD, sensu, Riemann, Windows Server, Logstash og mange flere.

Grafittnettsted - grafiteapp.org

X - din tur til å dele!

Har du erfaring med de tidsseriedatabasene? Hvilken vil du i så fall anbefale, og hvorfor?

Hvis du finner ut at noen TSMS bør rangeres høyere eller lavere, kan du gjerne gi dine egne rangeringer i kommentarfeltet.

XI - Clap & Subscribe

Hvis du likte denne artikkelen, gi oss noen klapper, det hjelper alltid. Abonner på publikasjonen vår som alltid, for å være sikker på at du ikke går glipp av noen artikkelteknikkartikkel i fremtiden.

Takk for klaffen!