InfluxDB yra duomenų bazė, spe­cia­liai sukurta laiko eilutėms, pa­si­žy­min­ti aukštu našumu, ho­ri­zon­ta­liu mastelio keitimu ir galinga užklausų kalba. Pri­sta­to­me po­pu­lia­riau­sias InfluxDB al­ter­na­ty­vas, tarp kurių yra re­lia­ci­nės sistemos, NoSQL spren­di­mai ir įterp­to­sios instancės.

Kas yra InfluxDB ir kokios yra al­ter­na­ty­vos?

InfluxDB yra atviro kodo duomenų bazė, spe­cia­liai sukurta laiko eilutėms. Tai reiškia duomenis su laiko žyma, pvz., tem­pe­ra­tū­ros įrašus, oro duomenis ar net serverio našumo sta­tis­ti­ką. InfluxDB leidžia efek­ty­viai saugoti, ieškoti ir apdoroti duomenis su laiko žyma. Šie duomenys dažnai gaunami iš stebėjimo sistemų, IoT jutiklių (IoT reiškia daiktų internetą ) arba iš matavimo ir kontrolės tech­no­lo­gi­jų srities ir gali apimti milijonus gaunamų duomenų įrašų.

Palyginti su re­lia­ci­nė­mis duomenų bazėmis, InfluxDB rodo žymiai geresnį našumą, kai kalbama apie laiko žymėmis pažymėtus matavimo duomenis. Tai tapo įmanoma naudojant spe­cia­liai sukurtą TSM formatą (Time Struc­tu­red Merge Tree), kuris sujungia rašymo ope­ra­ci­jas ir sumažina skaitymo kelius gre­ti­miems duomenims. Duomenų bazių valdymo sistema buvo sukurta ame­ri­kie­čių kom­pa­ni­jos „Inf­luxDa­ta“ ir yra prieinama kaip nemokama atviro kodo versija. Tačiau „Inf­luxC­loud“ ir „Inf­luxEn­ter­pri­se“ taip pat siūlo debesų paslaugą ir komercinę versiją įmonėms.

Viena iš pag­rin­di­nių InfluxDB savybių yra jos skriptų ir užklausų kalba Flux, kuri op­ti­mi­zuo­ja ETL procesą (išgavimo, trans­for­ma­vi­mo, įkėlimo) ir gali būti naudojama kartu su kitomis duomenų bazėmis. Duomenų bazės sistema taip pat palaiko InfluxQL, SQL tipo kalbą, kuri pa­leng­vi­na re­lia­ci­nių duomenų bazių nau­do­to­jams pradėti dirbti. Be to, InfluxDB iš­si­ski­ria lengvu įdiegimu ir ho­ri­zon­ta­liu mastelio keitimu.

MySQL – galinga SQL duomenų bazė struk­tū­ri­zuo­tiems duomenims

MySQL yra viena iš pla­čiau­siai naudojamų re­lia­ci­nių duomenų bazių sistemų pasaulyje. Atvirojo kodo duomenų bazę 2010 m. įsigijo ame­ri­kie­čių kompanija „Oracle“, kuri nuo tada nuolat tobulina šią sistemą. MySQL yra prieinama tiek atvirojo kodo versija, tiek versija įmonėms, skirta įvairioms ope­ra­ci­nėms sistemoms. InfluxDB al­ter­na­ty­va ypač tinka struk­tū­ri­zuo­tų duomenų tvarkymui lentelėse, pasižymi stabilumu ir našumu bei siūlo daugybę sąsajų, pvz., Java ar Python. Taip pat galite pa­si­nau­do­ti iš­to­bu­lin­to­mis saugumo funk­ci­jo­mis ir dideliu pri­ei­na­mu­mu, o tai ypač naudinga misijai kritinėse prog­ra­mo­se.

MySQL pagal nu­ma­ty­tuo­sius nu­sta­ty­mus naudoja InnoDB saugojimo variklį, už­tik­ri­nan­tį visišką ACID atitiktį, sandorių saugumą ir užsienio raktų palaikymą. Taip pat teikiami papildomi saugojimo varikliai, tokie kaip MyISAM, CSV arba Merge. In­te­gruo­tos funkcijos, tokios kaip pag­rin­di­nio ir pa­gal­bi­nio serverių rep­li­ka­ci­ja, kelių pag­rin­di­nių serverių klas­te­ri­za­vi­mas, ho­ri­zon­ta­lu­sis mastelio keitimas ir frag­men­ta­vi­mas, leidžia duomenų bazei tvarkyti su­dė­tin­gus sce­na­ri­jus, ypač su­si­ju­sius su dideliu pri­ei­na­mu­mu. Dėka aiškios do­ku­men­ta­ci­jos, daugybės pamokų ir aktyvios bend­ruo­me­nės, ji taip pat yra labai prieinama naujokams.

MySQL pri­va­lu­mai iš pirmo žvilgsnio

  • Atvirojo kodo su pa­si­rink­ti­niu verslo at­nau­ji­ni­mu
  • Patogi sistema su aiškia struktūra
  • Didelis pa­ti­ki­mu­mas ir greitis
  • Įvairios mastelio keitimo galimybės
  • Rep­li­ka­vi­mas ir klas­te­ri­za­vi­mas dideliam pri­ei­na­mu­mui už­tik­rin­ti
  • Lanksčiai diegiami saugojimo varikliai
  • Išsami do­ku­men­ta­ci­ja ir spe­cia­li­zuo­ta bend­ruo­me­nė
  • LAMP steko stan­dar­tas (Linux, Apache, MySQL ir PHP)
  • Sklandi in­te­g­ra­ci­ja į įvairias aplinkas ir struk­tū­ras

Post­g­re­SQL – lanksti iš­plės­ti­nė duomenų bazė, kurią užtikrina jos objektų-santykių ar­chi­tek­tū­ra.

Post­g­re­SQL yra objektų-relycinė duomenų bazės sistema, kuri buvo nuolat to­bu­li­na­ma nuo jos pirmojo išleidimo 1996 metais. Šis atviro kodo spren­di­mas įspū­din­gas savo aukštu pa­ti­ki­mu­mu ir duomenų vi­en­ti­su­mu, už­tik­ri­nan­tis puikų našumą net esant dideliam krūviui, dėka galingo sandorių ap­do­ro­ji­mo (MVCC).

Ypač svarbus yra jo modulinis išplėtimo galimybės: naudojant pateiktus pa­pil­dy­mus, pvz., PostGIS geo­duo­me­nims, duomenų bazių valdymo sistema gali būti lanksčiai pri­tai­ky­ta in­di­vi­dua­liems rei­ka­la­vi­mams. Var­to­to­jai turi galimybę kurti pa­si­rink­ti­nius duomenų tipus, ope­ra­to­rius ir pro­ce­dū­ras. Tiems, kurie nori patikimai valdyti didelius lentelių duomenis, Post­g­re­SQL yra puiki InfluxDB al­ter­na­ty­va.

Post­g­re­SQL pri­va­lu­mai iš pirmo žvilgsnio

  • Atvirojo kodo be li­cen­ci­jos mokesčių
  • Didelis pa­ti­ki­mu­mas ir saugumas
  • Didelis uni­ver­sa­lu­mas
  • Galingas našumas
  • Daugybė mastelio keitimo galimybių
  • Daugybė prieinamų plėtinių ir sąsajų
  • Didelė ir aktyvi bend­ruo­me­nė
  • Įvairūs duomenų tipai nuo JSONB (dve­je­tai­nis JSON at­vaiz­da­vi­mas) iki geo­duo­me­nų

MariaDB – iš­plės­ti­nė reliacinė duomenų bazė su pa­to­bu­lin­ta variklio eko­sis­te­ma

Duomenų bazių sistema MariaDB yra bend­ruo­me­nės kuriamas MySQL atšaka, kuri buvo paleista 2010 m., po to, kai Oracle įsigijo MySQL. MariaDB iš esmės išlieka visiškai su­de­ri­na­ma su MySQL klientais ir už­klau­so­mis, tačiau taip pat siūlo no­va­to­riš­kus saugojimo variklius, pvz., Aria, Co­lumnS­to­re ana­li­ti­niams ver­ti­ni­mams ir MyRocks SSD op­ti­mi­zuo­tam sau­go­ji­mui.

Tokios išplėtimo funkcijos kaip „Galera Cluster“ leidžia sin­ch­ro­ni­zuo­ti daugelio pag­rin­di­nių serverių rep­li­ka­ci­ją, o tokios funkcijos kaip vir­tu­a­lio­sios kolonos ir dinaminis kolonų sau­go­ji­mas (JSON do­ku­men­tai) padidina lankstumą šiuo­lai­ki­niuo­se taikymo sce­na­ri­juo­se. Dinaminių kolonų funkcija leidžia lanksčiai mo­de­liuo­ti laiko duomenis re­lia­ci­nė­se lentelėse, todėl „MariaDB“ yra įdomi laiko eilučių tipo taikymams. Kaip „InfluxDB“ al­ter­na­ty­va, „MariaDB“ yra ypač patraukli įmonėms, kurios vertina skaidrumą, aukštą našumą ir atvirus stan­dar­tus.

MariaDB privalumų apžvalga

  • Atvirojo kodo su skaidria licencija (GPLv2)
  • Visiškas su­de­ri­na­mu­mas su MySQL
  • Uni­ver­sa­lūs saugojimo varikliai skir­tin­giems rei­ka­la­vi­mams
  • Aukštas našumas ir mastelio keitimas
  • Išplėstos SQL funkcijos, pvz., vir­tu­a­lios kolonos ir JSON do­ku­men­tai
  • Labai stabilus veikimas visose po­pu­lia­rio­se plat­for­mo­se

MongoDB – do­ku­men­tais ori­en­tuo­ta NoSQL dideliems duomenų rin­ki­niams

Nors „InfluxDB“ yra spe­cia­li­zuo­ta dau­giau­sia laiko eilučių duomenims, lanks­tes­nė „NoSQL“ al­ter­na­ty­va yra labiau tinkama he­te­ro­ge­ni­nėms darbo apkrovoms – ir čia į pagalbą ateina „MongoDB “. 2009 m. išleista duomenų bazės sistema saugo struk­tū­ri­zuo­tus, pusiau struk­tū­ri­zuo­tus ir ne­struk­tū­ri­zuo­tus duomenis BSON do­ku­men­tuo­se, taip at­si­sa­ky­da­ma griežtų schemų. Tai leidžia greitai pri­si­tai­ky­ti ir užtikrina lanksčius kūrimo ciklus.

Naudojant au­to­ma­ti­nį skaidymą, duomenų rinkiniai pa­skirs­to­mi keliems serverių mazgams, taip pa­di­di­nant pri­ei­na­mu­mą ir atsparumą gedimams. Dėl ho­ri­zon­ta­laus mastelio keitimo duomenų bazė lengvai pri­si­tai­ko prie di­dė­jan­čių duomenų apimčių. Nesvarbu, ar tai yra ži­nia­tink­lio programa, IoT platforma, ar turinio valdymo sistema, MongoDB yra puiki InfluxDB al­ter­na­ty­va di­dė­jan­čioms duomenų apimtims ir ją naudoja, be kita ko, „New York Times“, „Disney“ ir CERN dalelių grei­tin­tu­vas.

MongoDB privalumų apžvalga

  • Begalinis ho­ri­zon­ta­lu­sis mastelio keitimas, todėl optimalus di­dė­jan­tiems duomenų kiekiams
  • Didelis pri­ei­na­mu­mas ir at­spa­ru­mas gedimams dėl frag­men­ta­vi­mo
  • Labai lankstus nau­do­ji­mas
  • Tinka įvairiems duomenų tipams
  • Su­de­ri­na­mas su įvai­rio­mis plat­for­mo­mis, sis­te­mo­mis ir kalbomis
  • Plati eko­sis­te­ma su įrankiais, tokiais kaip „Compass“ ar „Atlas Charts“
  • Paprastas rep­li­ka­vi­mas

Redis – atminties duomenų bazė, už­tik­ri­nan­ti itin greitą veikimą

Jei ieškote NoSQL sprendimo su mažu atsako laiku, Redis yra puiki InfluxDB al­ter­na­ty­va. Ši atviro kodo duomenų bazė saugo duomenis tik atmintyje, todėl vėlavimas yra mažesnis nei viena mi­li­se­kun­dė. Dėl su­pa­pras­tin­to modelio, pagrįsto va­di­na­mai­siais raktų reikš­mė­mis, Redis idealiai tinka kaip talpyklos sluoksnis, pranešimų tar­pi­nin­kas arba realaus laiko ana­li­ti­kai.

Duomenų bazės sistemos ar­chi­tek­tū­ra leidžia tiek vertikalų mastelio keitimą (naudojant didesnius serverius), tiek ho­ri­zon­ta­lų mastelio keitimą (per Redis klas­te­rius), tačiau ji yra labiau pri­tai­ky­ta greičiui, o ne dideliems duomenų kiekiams. Todėl Redis yra mažiau tinkamas sudėtingų duomenų ir išsamių užklausų parinkčių darbo krūviams. Didesnių duomenų rinkinių atveju dideli RAM rei­ka­la­vi­mai taip pat gali greitai padidinti eks­p­lo­a­ta­ci­jos išlaidas.

Redis pri­va­lu­mai iš pirmo žvilgsnio

  • Atvirojo kodo
  • Iš­skir­ti­nis greitis dėl atminties modelio
  • Vėlavimas mažesnis nei viena mi­li­se­kun­dė
  • Idealiai tinka realaus laiko analizei ir įvykių ap­do­ro­ji­mui
  • Ho­ri­zon­ta­li ir vertikali mastelio keitimo galimybė
  • Didelis patogumas var­to­to­jui
  • Lankstus duomenų ap­do­ro­ji­mas dėl įvairių duomenų tipų
  • Su­de­ri­na­mas su daugeliu sistemų, platformų ir kalbų

SQLite – kom­pak­tiš­kas SQL spren­di­mas, rei­ka­lau­jan­tis minimalių ad­mi­nist­ra­vi­mo pastangų

SQLite yra puiki al­ter­na­ty­va InfluxDB mažesnėms prog­ra­moms ar įterp­tie­siems įren­gi­niams. Minimalus bi­b­lio­te­kos dydis yra tik keli šimtai kilobaitų, o API palaiko daugelį kalbų, todėl SQLite idealiai tinka dar­ba­lau­kio, mo­bi­lio­sioms ir IoT prog­ra­moms, kuriose ištekliai yra riboti. Serverio neturinti, failų pagrindu veikianti duomenų bazė saugo visus duomenis ir visą schemą viename faile ir ne­rei­ka­lau­ja atskiro duomenų bazės paslaugos. Dėl to nereikia daug ad­mi­nist­ra­ci­nių pastangų, taip pat nereikia diegti ir kon­fi­gū­ruo­ti serverio. At­sar­gi­nes kopijas galima lengvai sukurti nu­ko­pi­juo­jant failą.

SQLite ne tik apima didelę dalį SQL standarto, bet ir įspū­din­gas savo su­de­ri­na­mu­mu su dauguma po­pu­lia­rių duomenų saugojimo formatų. Kadangi SQLite duomenų bazės gali būti lengvai perkeltos iš vienos sistemos į kitą, daugelis kūrėjų pasitiki šiuo lengvu varikliu kaip savo programų pagrindu. Dėl vienodos prieigos prie duomenų, mažų išteklių poreikių ir veikimo be serverio SQLite užtikrina aukštą pa­ti­ki­mu­mo lygį.

SQLite privalumų apžvalga

  • Serverio ne­rei­ka­lau­jan­tis veikimas su mi­ni­ma­lio­mis ad­mi­nist­ra­vi­mo są­nau­do­mis
  • Kom­pak­tiš­ka bi­b­lio­te­ka, kuriai reikia tik kelių šimtų kilobaitų atminties
  • Išsamus SQL pa­lai­ky­mas
  • Per­ke­lia­mu­mas
  • Didelis pa­ti­ki­mu­mas ir at­spa­ru­mas gedimams
  • Ne­su­dė­tin­gos at­sar­gi­nės kopijos
  • Optimalus įterptųjų sistemų sce­na­ri­jams
Go to Main Menu