InfluxDB on eri­tyi­ses­ti ai­ka­sar­joil­le suun­ni­tel­tu tie­to­kan­ta, joka tarjoaa korkean suo­ri­tus­ky­vyn, vaa­ka­suun­tai­sen skaa­lau­tu­vuu­den ja tehokkaan ky­se­ly­kie­len. Esit­te­lem­me sinulle suo­si­tuim­mat InfluxDB-vaih­toeh­dot, joihin kuuluvat re­laa­tio­tie­to­kan­nat, NoSQL-ratkaisut ja su­lau­te­tut ins­tans­sit.

Mikä on InfluxDB ja mitä vaih­toeh­to­ja on olemassa?

InfluxDB on avoimen läh­de­koo­din tie­to­kan­ta, joka on kehitetty eri­tyi­ses­ti ai­ka­sar­joil­le. Tämä viittaa ai­ka­lei­mal­la va­rus­tet­tui­hin tietoihin, kuten läm­pö­ti­la­mit­tauk­siin, sää­tie­toi­hin tai jopa pal­ve­li­men suo­ri­tus­ky­kyyn liit­ty­viin ti­las­toi­hin. InfluxDB mah­dol­lis­taa ai­ka­lei­mal­la va­rus­tet­tu­jen tietojen tehokkaan tal­len­nuk­sen, hakujen ja kä­sit­te­lyn. Nämä tiedot ovat usein peräisin val­von­ta­jär­jes­tel­mis­tä, IoT-an­tu­reis­ta (IoT tar­koit­taa esineiden in­ter­ne­tiä ) tai mittaus- ja oh­jaus­tek­nii­kan alalta, ja ne voivat sisältää miljoonia saapuvia tietueita.

Ver­rat­tu­na re­laa­tio­tie­to­kan­toi­hin InfluxDB:n suo­ri­tus­ky­ky on huo­mat­ta­vas­ti parempi ai­ka­lei­mat­tu­jen mit­taus­da­tan osalta. Tämä on mah­dol­lis­ta eri­tyi­ses­ti kehitetyn TSM-formaatin (Time Struc­tu­red Merge Tree) avulla, joka yhdistää kir­joi­tuso­pe­raa­tiot ja minimoi lukupolut pe­räk­käi­sil­le tiedoille. Tie­to­kan­nan hal­lin­ta­jär­jes­tel­män on ke­hit­tä­nyt ame­rik­ka­lai­nen yritys Influx­Da­ta, ja se on saatavana ilmaisena avoimen läh­de­koo­din versiona. InfluxCloud ja InfluxEn­terpri­se tarjoavat kuitenkin myös pil­vi­pal­ve­lun ja kau­pal­li­sen yri­tys­ver­sion.

InfluxDB:n keskeisiä omi­nai­suuk­sia on sen oma skripti- ja ky­se­ly­kie­li nimeltä Flux, joka optimoi ETL-prosessin (Extract, Transform, Load) ja jota voidaan käyttää jopa yhdessä muiden tie­to­kan­to­jen kanssa. Tie­to­kan­ta­jär­jes­tel­mä tukee myös InfluxQL:ää, SQL:n kaltaista kieltä, joka helpottaa re­laa­tio­tie­to­kan­to­jen käyt­tä­jien aloit­ta­mis­ta. Lisäksi InfluxDB on helppo asentaa ja skaalata vaa­ka­suun­nas­sa.

MySQL, tehokas SQL-tie­to­kan­ta struk­tu­roi­tu­ja tietoja varten

MySQL on yksi maa­il­man­laa­jui­ses­ti eniten käy­te­tyis­tä re­laa­tio­tie­to­kan­ta­jär­jes­tel­mis­tä. Avoimen läh­de­koo­din tie­to­kan­ta ostettiin vuonna 2010 ame­rik­ka­lai­sel­le Oracle-yhtiölle, joka on siitä lähtien ke­hit­tä­nyt jär­jes­tel­mää jat­ku­vas­ti. MySQL on saatavana sekä avoimen läh­de­koo­din versiona että yri­tys­ver­sio­na useille käyt­tö­jär­jes­tel­mil­le. InfluxDB-vaih­toeh­to sopii erityisen hyvin tau­lu­koi­den struk­tu­roi­tu­jen tietojen hal­lin­taan, loistaa va­kau­del­laan ja suo­ri­tus­ky­vyl­lään ja tarjoaa runsaasti ra­ja­pin­to­ja, kuten Java tai Python. Hyödyt myös ke­hit­ty­neis­tä tur­val­li­suuso­mi­nai­suuk­sis­ta ja korkeasta käy­tet­tä­vyy­des­tä, mikä on eduksi eri­tyi­ses­ti kriit­ti­sis­sä so­vel­luk­sis­sa.

MySQL käyttää ole­tuk­se­na InnoDB-tal­len­nus­moot­to­ria, joka tarjoaa täyden ACID-yh­teen­so­pi­vuu­den, tran­sak­tioi­den tur­val­li­suu­den ja vie­ra­sa­vain­ten tuen. Saa­ta­vil­la on myös muita tal­len­nus­moot­to­rei­ta, kuten MyISAM, CSV tai Merge. In­tegroi­tu­jen omi­nai­suuk­sien, kuten master-slave-repli­koin­ti, multi-master-klus­te­roin­ti, ho­ri­son­taa­li­nen skaalaus ja sharding, ansiosta tie­to­kan­ta pystyy kä­sit­te­le­mään vaativia ti­lan­tei­ta, eri­tyi­ses­ti korkean käy­tet­tä­vyy­den osalta. Selkeän do­ku­men­taa­tion, lukuisien oppaiden ja ak­tii­vi­sen yhteisön ansiosta se on myös erittäin help­po­käyt­töi­nen aloit­te­li­joil­le.

MySQL:n edut yhdellä sil­mäyk­sel­lä

  • Avoin läh­de­koo­di ja va­lin­nai­nen yri­tys­päi­vi­tys
  • Käyt­tä­jäys­tä­väl­li­nen jär­jes­tel­mä selkeällä ra­ken­teel­la
  • Korkea luo­tet­ta­vuus ja nopeus
  • Erilaiset skaa­laus­vaih­toeh­dot
  • Repli­koin­ti ja klus­te­roin­ti korkean käy­tet­tä­vyy­den ta­kaa­mi­sek­si
  • Jous­ta­vas­ti käyt­töö­no­tet­ta­vat tal­len­nus­moot­to­rit
  • Kattava do­ku­men­taa­tio ja omis­tau­tu­nut yhteisö
  • LAMP-pino-standardi (Linux, Apache, MySQL ja PHP)
  • Saumaton in­tegroin­ti eri­lai­siin ym­pä­ris­töi­hin ja ke­hys­ra­ken­tei­siin

PostgreSQL, jous­ta­vas­ti laa­jen­net­ta­va tie­to­kan­ta ob­jek­ti­re­laa­tio­naa­li­sen ark­ki­teh­tuu­rin­sa ansiosta

PostgreSQL on ob­jek­ti­re­laa­tio­tie­to­kan­ta­jär­jes­tel­mä, jota on kehitetty jat­ku­vas­ti sen en­sim­mäi­sen julkaisun jälkeen vuonna 1996. Tämä avoimen läh­de­koo­din ratkaisu on vai­kut­ta­va korkean luo­tet­ta­vuu­ten­sa ja tietojen eheytensä ansiosta. Se tarjoaa erin­omai­sen suo­ri­tus­ky­vyn jopa suurilla kuor­mi­tuk­sil­la tehokkaan tran­sak­tio­kä­sit­te­lyn­sä (MVCC) ansiosta.

Erityisen huo­mio­nar­vois­ta on sen mo­du­laa­ri­nen laa­jen­net­ta­vuus: PostGIS-laa­jen­nuk­sen kal­tais­ten lisäosien avulla tie­to­kan­nan hal­lin­ta­jär­jes­tel­mä voidaan rää­tä­löi­dä jous­ta­vas­ti yk­si­löl­lis­ten vaa­ti­mus­ten mu­kai­sek­si. Käyttäjät voivat luoda mu­kau­tet­tu­ja tie­to­tyyp­pe­jä, ope­raat­to­rei­ta ja me­net­te­ly­jä. PostgreSQL on vahva vaih­toeh­to InfluxDB:lle niille, jotka haluavat hallita luo­tet­ta­vas­ti laajoja tau­luk­ko­poh­jai­sia tietoja.

PostgreSQL:n edut yhdellä sil­mäyk­sel­lä

  • Avoin läh­de­koo­di ilman li­sens­si­mak­su­ja
  • Erittäin kestävä ja tur­val­li­nen
  • Erittäin mo­ni­puo­li­nen
  • Tehokas suo­ri­tus­ky­ky
  • Lukuisia skaa­laus­vaih­toeh­to­ja
  • Monet laa­jen­nuk­set ja ra­ja­pin­nat saa­ta­vil­la
  • Laaja ja ak­tii­vi­nen yhteisö
  • Mo­ni­puo­li­set tie­to­tyy­pit JSONB:stä ( JSON:n bi­nää­ri­nen esi­tys­muo­to) geodataan

MariaDB, skaa­lau­tu­va re­laa­tio­tie­to­kan­ta, jossa on pa­ran­net­tu moot­to­riym­pä­ris­tö

MariaDB-tie­to­kan­ta­jär­jes­tel­mä on yhteisön kehittämä MySQL-haara, joka lan­see­rat­tiin vuonna 2010 sen jälkeen, kun Oracle osti MySQL:n. MariaDB on yti­mel­tään täysin yh­teen­so­pi­va MySQL-asiak­kai­den ja -kyselyjen kanssa, mutta se tarjoaa myös in­no­va­tii­vi­sia tal­len­nus­moot­to­rei­ta, kuten Aria, Co­lumnS­to­re ana­lyyt­ti­siin ar­vioin­tei­hin ja MyRocks SSD-op­ti­moi­tuun tal­len­nuk­seen.

Galera Clusterin kaltaiset laa­jen­nuk­set mah­dol­lis­ta­vat synk­ro­ni­sen mo­ni­mes­ta­repli­koin­nin, kun taas vir­tu­aa­li­set sarakkeet ja dy­naa­mi­nen sa­ra­ke­tal­len­nus (JSON-do­ku­men­tit) pa­ran­ta­vat jous­ta­vuut­ta ny­ky­ai­kai­sis­sa so­vel­lus­koh­teis­sa. Dy­naa­mis­ten sa­rak­kei­den omi­nai­suus mah­dol­lis­taa ai­ka­pe­rus­teis­ten tietojen joustavan mal­lin­ta­mi­sen re­laa­tio­tau­lu­kois­sa, mikä tekee MariaDB:stä kiin­nos­ta­van vaih­toeh­don ai­ka­sar­jo­jen kal­tai­sil­le so­vel­luk­sil­le. InfluxDB:n vaih­toeh­to­na MariaDB on erityisen hou­kut­te­le­va yri­tyk­sil­le, jotka ar­vos­ta­vat lä­pi­nä­ky­vyyt­tä, korkeaa suo­ri­tus­ky­kyä ja avoimia stan­dar­de­ja.

MariaDB:n etujen yleis­kat­saus

  • Avoin läh­de­koo­di ja lä­pi­nä­ky­vä lisenssi (GPLv2)
  • Täy­del­li­nen yh­teen­so­pi­vuus MySQL:n kanssa
  • Mo­ni­puo­li­set tal­len­nus­moot­to­rit eri­lai­siin vaa­ti­muk­siin
  • Korkea suo­ri­tus­ky­ky ja skaa­lau­tu­vuus
  • Edis­tyk­sel­li­set SQL-omi­nai­suu­det, kuten vir­tu­aa­li­set sarakkeet ja JSON-do­ku­men­tit
  • Toimii erittäin vakaasti kaikilla yleisillä alus­toil­la

MongoDB, do­ku­ment­ti­poh­jai­nen NoSQL suurille tie­to­jou­koil­le

InfluxDB on pää­asias­sa eri­kois­tu­nut ai­ka­sar­ja­da­taan, mutta he­te­ro­gee­ni­siin työ­kuor­miin sopii paremmin jous­ta­vam­pi NoSQL-vaih­toeh­to – ja tässä MongoDB tulee kuvioihin. Vuonna 2009 julkaistu tie­to­kan­ta­jär­jes­tel­mä tallentaa struk­tu­roi­tu­ja, puo­li­struk­tu­roi­tu­ja ja struk­tu­roi­mat­to­mia tietoja BSON-do­ku­men­teis­sa – jolloin jäykät skeemat jäävät pois. Tämä mah­dol­lis­taa nopeat mu­kau­tuk­set ja ketterät ke­hi­tys­syklit.

Au­to­maat­ti­sen sharding-toiminnon avulla tie­to­jou­kot jaetaan useille pal­ve­lin­sol­muil­le, mikä parantaa sekä käy­tet­tä­vyyt­tä että vi­ka­sie­toi­suut­ta. Ho­ri­son­taa­li­sen skaa­lau­tu­vuu­den ansiosta tie­to­kan­ta sopeutuu helposti kasvaviin tie­to­mää­riin. Olipa kyseessä sitten verk­ko­so­vel­lus, IoT-alusta tai si­säl­lön­hal­lin­ta­jär­jes­tel­mä, MongoDB on en­si­luok­kai­nen InfluxDB-vaih­toeh­to kas­va­vil­le tie­to­mää­ril­le, ja sitä käyttävät muun muassa New York Times, Disney ja CERN-hiuk­kas­kiih­dy­tin.

MongoDB:n etujen yleis­kat­saus

  • Ra­joit­ta­ma­ton vaa­ka­suo­ra skaa­lau­tu­vuus, joten op­ti­maa­li­nen kas­va­vil­le tie­to­mää­ril­le
  • Korkea käy­tet­tä­vyys ja vi­ka­sie­toi­suus sharding-tekniikan ansiosta
  • Erittäin joustava käyttö
  • Sopii eri­lai­sil­le da­ta­tyy­peil­le
  • Yh­teen­so­pi­va monien alustojen, jär­jes­tel­mien ja kielten kanssa
  • Laaja eko­sys­tee­mi, jossa on työkaluja kuten Compass tai Atlas Charts
  • Yk­sin­ker­tai­nen repli­koin­ti

Redis, erittäin nopea suo­ri­tus­ky­kyi­nen sisäisen muistin tie­to­kan­ta

Jos etsit NoSQL-vaih­toeh­toa, jolla on lyhyet vasteajat, Redis on erin­omai­nen vaih­toeh­to InfluxDB:lle. Tämä avoimen läh­de­koo­din tie­to­kan­ta tallentaa tiedot kokonaan muistiin, jolloin viiveet ovat alle mil­li­se­kun­nin. Redis on vir­ta­vii­vai­nen malli, joka perustuu ns. avai­nar­voi­hin, ja se sopii erin­omai­ses­ti vä­li­muis­ti­ker­rok­sek­si, vies­tin­vä­lit­tä­jäk­si tai re­aa­liai­kai­seen ana­ly­tiik­kaan.

Tie­to­kan­ta­jär­jes­tel­män ark­ki­teh­tuu­ri mah­dol­lis­taa sekä ver­ti­kaa­li­sen skaa­lauk­sen (käyt­tä­mäl­lä suurempia pal­ve­li­mia) että ho­ri­son­taa­li­sen skaa­lauk­sen (Redis-klus­te­rien avulla), mutta se on suunnattu enemmän nopeuteen kuin suuriin tie­to­mää­riin. Siksi Redis ei sovellu kovin hyvin mo­ni­mut­kai­sia tietoja ja laajoja ky­se­ly­vaih­toeh­to­ja si­säl­tä­viin työ­kuor­miin. Suu­rem­pien tie­to­jouk­ko­jen kohdalla korkeat RAM-muis­ti­vaa­ti­muk­set voivat myös nopeasti nostaa käyt­tö­kus­tan­nuk­sia.

Redisin edut yhdellä sil­mäyk­sel­lä

  • Avoin läh­de­koo­di
  • Erin­omai­nen nopeus muis­ti­mal­lin ansiosta
  • Viiveet alle mil­li­se­kun­nin
  • Ihan­teel­li­nen re­aa­liai­kai­seen ana­ly­tiik­kaan ja ta­pah­tu­mien kä­sit­te­lyyn
  • Vaa­ka­suo­ra ja pys­ty­suo­ra skaa­lau­tu­vuus
  • Erittäin käyt­tä­jäys­tä­väl­li­nen
  • Joustava tie­to­jen­kä­sit­te­ly mo­ni­puo­lis­ten tie­to­tyyp­pien ansiosta
  • Yh­teen­so­pi­va monien jär­jes­tel­mien, alustojen ja kielten kanssa

SQLite, kompakti SQL-ratkaisu, joka vaatii vain vähän hal­lin­nol­lis­ta työtä

SQLite on erin­omai­nen vaih­toeh­to InfluxDB:lle pie­nem­mis­sä so­vel­luk­sis­sa tai su­lau­te­tuis­sa lait­teis­sa. SQLite on ihan­teel­li­nen ratkaisu työpöytä-, mobiili- ja IoT-so­vel­luk­siin, joissa resurssit ovat ra­jal­li­set, sillä sen kirjaston koko on vain muutama sata kilotavua ja se tukee laajasti kieliä API:n kautta. Pal­ve­li­me­ton, tie­dos­to­poh­jai­nen tie­to­kan­ta tallentaa kaikki tiedot ja koko skeeman yhteen tie­dos­toon eikä vaadi erillistä tie­to­kan­ta­pal­ve­lua. Tämän ansiosta suurin osa hal­lin­nol­li­ses­ta työstä sekä asen­nuk­ses­ta ja pal­ve­li­men kon­fi­gu­roin­nis­ta jää pois. Var­muus­ko­piot voidaan luoda helposti ko­pioi­mal­la tiedosto.

SQLite kattaa paitsi suuren osan SQL-stan­dar­dis­ta, myös vakuuttaa yh­teen­so­pi­vuu­del­laan useimpien yleisten tietojen tal­len­nus­for­maat­tien kanssa. Koska SQLite-tie­to­kan­to­ja voidaan siirtää vai­vat­to­mas­ti eri jär­jes­tel­mien välillä, monet ke­hit­tä­jät luottavat tähän kevyeen moot­to­riin so­vel­lus­ten­sa perustana. Yh­te­näi­sen tie­don­saan­nin, vähäisten re­surs­si­vaa­ti­mus­ten ja pal­ve­li­met­to­man toiminnan ansiosta SQLite tarjoaa korkean luo­tet­ta­vuus­ta­son.

Yleis­kat­saus SQLite-edut

  • Pal­ve­li­met­to­man toiminnan hal­lin­noin­ti vaatii vain vähän työtä
  • Kompakti kirjasto, jonka muistin tarve on vain muutama sata kilotavua
  • Laaja SQL-tuki
  • Siir­ret­tä­vyys
  • Korkea luo­tet­ta­vuus ja vi­ka­sie­toi­suus
  • Yk­sin­ker­tai­set var­muus­ko­piot
  • Op­ti­maa­li­nen su­lau­tet­tui­hin so­vel­luk­siin
Siirry pää­va­lik­koon