MariaDB on avoimen läh­de­koo­din re­laa­tio­tie­to­kan­ta­jär­jes­tel­mä, joka on syntynyt MySQL:n haaraksi. Te­hok­kai­den tal­len­nus­moot­to­rien­sa ansiosta siitä on tullut erittäin suosittu ja tehokas vaih­toeh­to. Monet vaih­toeh­toi­set ratkaisut tarjoavat kuitenkin ai­nut­laa­tui­sia omi­nai­suuk­sia ja etuja. Tässä luet­te­los­sa esitetään suo­si­tel­ta­via MariaDB-vaih­toeh­to­ja, mukaan lukien sekä ra­ken­teel­taan sa­man­lai­set tie­to­kan­nat että NoSQL-palvelut ja sisäiset muistissa olevat tie­to­kan­nat.

Mikä on MariaDB ja mitä vaih­toeh­to­ja on saa­ta­vil­la?

Suh­teel­lis­ten tie­to­kan­to­jen alalla MariaDB on yksi suo­si­tuim­mis­ta tie­to­kan­nan hal­lin­ta­jär­jes­tel­mis­tä kriit­ti­siin so­vel­luk­siin. Vuonna 2009 Oracle-yhtiön MySQL-yri­ty­sos­ton seu­rauk­se­na lan­see­rat­tu avoimen läh­de­koo­din tie­to­kan­ta­jär­jes­tel­mä tarjoaa täysin yh­teen­so­pi­van, mutta it­se­näi­ses­ti kehitetyn vaih­toeh­don. Olemassa olevat MySQL-työkalut ja -asiakkaat toimivat muut­tu­mat­to­mi­na MariaDB:n kanssa, mikä tekee siir­ty­mi­ses­tä erittäin helppoa. MariaDB on saa­ta­vil­la GNU General Public Licence Version 2 (GPLv2) -li­sens­sil­lä, joka antaa käyt­tä­jil­le oikeuden käyttää sitä il­mai­sek­si, muokata läh­de­koo­dia ja jakaa päi­vi­tyk­siä vapaasti.

MariaDB:n vahvuudet ovat sen mo­ni­puo­li­sis­sa omi­nai­suuk­sis­sa, jotka ylittävät pe­rin­tei­sen re­laa­tio­mal­lin ra­joi­tuk­set. Sen laaja moot­to­riym­pä­ris­tö mah­dol­lis­taa tie­to­kan­nan mu­kaut­ta­mi­sen eri­lai­siin työ­kuor­miin – pe­rin­tei­sis­tä OLTP-ske­naa­riois­ta big data -ana­lyy­sei­hin. Omi­nai­suu­det, kuten ik­ku­na­toi­min­not, yhteiset tau­luk­ko­tun­nis­teet (CTE) ja JSON-do­ku­men­tit, var­mis­ta­vat, että sekä mo­ni­mut­kai­set kyselyt että modernit tie­to­mal­lit voidaan toteuttaa.

Galera Clusterin avulla MariaDB tarjoaa vankan ratkaisun mo­ni­mes­ta­rei­den repli­koin­tiin (korkea käy­tet­tä­vyys) ja kuor­mi­tuk­sen ta­sa­pai­not­ta­mi­seen. In­tegroi­dut suo­jaus­me­ka­nis­mit, kuten tal­len­net­tu­jen tietojen salaus, roo­li­poh­jai­set käyt­tö­oi­keuk­sien hallinta ja sään­nöl­li­set suo­jaus­päi­vi­tyk­set, takaavat korkean suojaus tason. Yritykset hyötyvät myös jous­ta­vis­ta skaa­laus­vaih­toeh­dois­ta ja vankasta ark­ki­teh­tuu­ris­ta, jossa yh­dis­ty­vät suo­ri­tus­ky­ky, käy­tet­tä­vyys ja helppo ylläpito.

MongoDB

MariaDB on re­laa­tio­tie­to­kan­ta, joka hallinnoi pää­asias­sa jä­sen­nel­ty­jä tau­luk­ko­muo­toi­sia tietoja. Sen sijaan do­ku­ment­ti­poh­jai­nen NoSQL-vaih­toeh­to, kuten MongoDB, sopii paremmin ti­lan­tei­siin, joissa on vaih­te­le­via skeemoja tai erittäin he­te­ro­gee­ni­siä tie­to­tyyp­pe­jä. Jär­jes­tel­mä tallentaa tiedot – olivatpa ne jä­sen­nel­ty­jä, puo­li­jä­sen­nel­ty­jä tai jä­sen­tä­mät­tö­miä – jous­ta­vi­na BSON-do­ku­men­tei­na (bi­naa­ri­set JSON-do­ku­men­tit), jolloin vältytään jäykiltä skee­moil­ta. Uusia kenttiä voidaan lisätä milloin tahansa siir­tä­mät­tä olemassa olevia tie­to­jouk­ko­ja, mikä mah­dol­lis­taa nopeat julkaisut ja ite­ra­tii­vi­set laa­jen­nuk­set ket­te­ris­sä pro­jek­teis­sa.

MongoDB jakaa tie­to­jou­kot useille pal­ve­lin­sol­muil­le au­to­maat­ti­sel­la sharding-tek­nii­kal­la, mikä parantaa sekä käy­tet­tä­vyyt­tä että vi­ka­sie­toi­suut­ta. Natiivin ho­ri­son­taa­li­sen skaa­lau­tu­vuu­den ansiosta MongoDB kä­sit­te­lee vai­vat­to­mas­ti kasvavia tie­to­mää­riä. Olipa kyseessä tekoäly, si­säl­lön­hal­lin­ta, mo­bii­li­so­vel­luk­set tai reu­na­las­ken­ta, MongoDB on en­si­luok­kai­nen vaih­toeh­to MariaDB:lle, jos jous­ta­vuus, skee­ma­va­paus ja li­ne­aa­ri­nen skaa­lau­tu­vuus ovat etusi­jal­la.

MongoDB:n etujen yleis­kat­saus

  • Vaa­ka­suo­ra skaalaus, teoriassa rajaton
  • Korkea käy­tet­tä­vyys ja vi­ka­sie­toi­suus
  • Suuri jous­ta­vuus (muuttuvat tie­to­ra­ken­teet ilman siir­to­työ­tä)
  • Ihan­teel­li­nen suurille ja kas­va­vil­le tie­to­mää­ril­le
  • Yh­teen­so­pi­vuus eri kielten, jär­jes­tel­mien ja alustojen kanssa
  • Yk­sin­ker­tai­set repli­koin­ti­me­ka­nis­mit
  • Si­tou­tu­nut yhteisö ja vahva eko­sys­tee­mi

MySQL

Vaikka MariaDB tarjoaa haaraksi li­sä­moot­to­rei­ta ja moderneja omi­nai­suuk­sia, MySQL on edelleen va­kiin­tu­nut stan­dar­di­rat­kai­su pe­rin­tei­siin re­laa­tio­tie­to­kan­toi­hin. Tämä tie­to­kan­ta­jär­jes­tel­mä on saatavana avoimen läh­de­koo­din oh­jel­mis­to­na ja yri­tys­ver­sio­na useille alus­toil­le. Oracle osti MySQL:n vuonna 2010, ja siitä lähtien sitä on jat­ku­vas­ti laa­jen­net­tu suo­ri­tus­ky­vyn op­ti­moin­neil­la ja yri­tys­toi­min­noil­la. Ole­tuk­se­na tie­to­kan­ta käyttää ACID-yh­teen­so­pi­vaa InnoDB-moottoria, joka tarjoaa tran­sak­tioi­den tur­val­li­suu­den ja vie­ra­sa­vain­ten tuen, mutta tarjoaa myös muita moot­to­rei­ta, kuten MyISAM, CSV ja Memory, eri­tyis­tar­koi­tuk­siin.

Tämä MariaDB-vaih­toeh­to saa korkeat pisteet omi­nai­suuk­sien kuten läh­de­koo­din repli­koin­ti, mo­ni­mes­ta­riklus­te­roin­ti (ryh­mä­repli­koin­ti), osiointi ja au­to­maat­ti­nen vi­ka­sie­toi­suus ansiosta. Sen laaja kielten ja alustojen tuki (kuten Java, Python ja PHP) takaa lukuisat in­tegroin­ti­mah­dol­li­suu­det, kun taas kattava do­ku­men­taa­tio ja va­kiin­tu­nut yhteisö auttavat tar­joa­maan nopeaa tukea. MySQL:ää käytetään pää­asias­sa eri verk­ko­pal­ve­lu­jen tietojen tal­len­nus­rat­kai­su­na, ja se soveltuu sekä pieniin pro­jek­tei­hin että suuriin tie­to­va­ras­tos­ke­naa­rioi­hin.

MySQL:n etujen yleis­kat­saus

  • Avoin läh­de­koo­di (mutta saatavana myös yri­tys­ver­sio­na)
  • Erittäin selkeä ja aloit­te­li­jays­tä­väl­li­nen
  • Erittäin luo­tet­ta­va ja käy­tet­tä­vis­sä
  • Erilaisia skaa­laus­vaih­toeh­to­ja
  • Lukuisia tal­len­nus­moot­to­rei­ta saa­ta­vil­la
  • Yh­teen­so­pi­va monien alustojen, jär­jes­tel­mien ja kielten kanssa
  • Kattava do­ku­men­taa­tio ja suuri, ak­tii­vi­nen yhteisö
  • Osa LAMP-pino-stan­dar­dia (Linux, Apache, MySQL ja PHP)

PostgreSQL

Ob­jek­ti­re­laa­tio­tie­to­kan­ta PostgreSQL on tehokas vaih­toeh­to MariaDB:lle, kun tarvitaan mo­ni­mut­kai­sia tie­to­mal­le­ja tai edis­ty­nei­tä SQL-toi­min­to­ja. Avoimen läh­de­koo­din jär­jes­tel­mää on kehitetty jat­ku­vas­ti sen en­sim­mäi­sen julkaisun jälkeen vuonna 1996. Mul­ti­ver­sion Concur­rency Control (MVCC) -tekniikan ansiosta PostgreSQL säilyttää erin­omai­sen suo­ri­tus­ky­vyn myös suurilla kuor­mi­tuk­sil­la ja takaa täyden ACID-yh­teen­so­pi­vuu­den.

PostgreSQL:n keskeinen omi­nai­suus on sen mo­du­laa­ri­nen laa­jen­net­ta­vuus: Ex­ten­sions Framework -kehys mah­dol­lis­taa eri­lais­ten moduulien li­sää­mi­sen – kuten PostGIS geo­da­tal­le, Ti­mesca­leDB ai­ka­sar­joil­le tai Citus ha­jau­te­tuil­le tau­lu­koil­le – muut­ta­mat­ta ydintä. Lisäksi käyt­tä­jil­lä on mah­dol­li­suus toteuttaa mu­kau­tet­tu­ja tie­to­tyyp­pe­jä, omia ope­raat­to­rei­ta ja tal­len­net­tu­ja me­net­te­ly­jä. Siksi PostgreSQL on ihan­teel­li­nen ana­lyyt­ti­siin työ­kuor­miin, geo­so­vel­luk­siin ja hybri­dis­ke­naa­rioi­hin, joissa MariaDB saattaa kohdata ra­joi­tuk­sia sen tiukan re­laa­tio­lä­hes­ty­mis­ta­van vuoksi.

PostgreSQL:n etujen yleis­kat­saus

  • Erittäin vankka ja tur­val­li­nen avoimen läh­de­koo­din tie­to­kan­ta
  • Huip­pu­luo­kan suo­ri­tus­ky­ky
  • Laaja valikoima skaa­laus­vaih­toeh­to­ja
  • Laaja valikoima laa­jen­nuk­sia
  • Erittäin mo­ni­puo­li­nen
  • Erittäin ak­tii­vi­nen yhteisö
  • Lukuisia ra­ja­pin­to­ja

SQLite

SQLite on kirjasto, jossa on in­tegroi­tu re­laa­tio­tie­to­kan­ta­jär­jes­tel­mä. Tämä pal­ve­li­me­ton tie­to­kan­ta on ai­nut­laa­tui­nen, koska se tallentaa kaikki tiedot ja koko skeeman yhteen tie­dos­toon, jolloin erillistä tie­to­kan­ta­pal­ve­lua ei tarvita. SQLite-kirjastoa ei tarvitse asentaa tai kon­fi­gu­roi­da, ja sen hallinta on lähes ole­ma­ton­ta. Toinen erottuva omi­nai­suus on kirjaston pieni koko, vain muutama sata kilotavua. SQLite tukee useimpia SQL-komentoja ja on yh­teen­so­pi­va useimpien yleisten tietojen tal­len­nus­jär­jes­tel­mien kanssa.

Tämän MariaDB-vaih­toeh­don tyy­pil­li­siä käyt­tö­ta­pauk­sia ovat su­lau­te­tut laitteet ja esineiden internet (IoT), verk­ko­si­vus­tot, data-analyysi ja työ­pöy­tä­oh­jel­mien so­vel­lus­tie­dos­to­muo­dot. Koska SQLite-tie­to­kan­to­ja voidaan helposti vaihtaa eri jär­jes­tel­mien välillä, ke­hit­tä­jät käyttävät niitä usein oh­jel­mis­to­jen­sa perustana.

SQLite:n etujen yleis­kat­saus

  • Pal­ve­li­me­ton toiminta
  • Mi­ni­maa­li­nen hal­lin­nol­li­nen työmäärä (ei asennusta, kon­fi­gu­roin­tia tai jatkuvaa ylläpitoa)
  • Kompakti kirjasto – vain muutaman sadan kilotavun kokoinen
  • Siir­ret­tä­vyys
  • Erittäin luo­tet­ta­va ja vi­ka­sie­toi­nen
  • Helppo var­muus­ko­pioin­ti
  • Laaja kielituki

Apache Cassandra

Toisin kuin muut MariaDB-vaih­toeh­dot, Apache Cassandra on sa­ra­ke­poh­jai­nen NoSQL-tie­to­kan­ta, joka on suun­ni­tel­tu suurten ja he­te­ro­gee­nis­ten tie­to­kan­to­jen hal­lin­taan. Sen avoimen läh­de­koo­din de­byy­tis­tä vuonna 2008 lähtien se on pe­rus­tu­nut ha­jau­tet­tuun ver­tais­verk­koark­ki­teh­tuu­riin ja jakaa tiedot au­to­maat­ti­ses­ti useiden solmujen välillä taa­tak­seen mak­si­maa­li­sen vi­ka­sie­toi­suu­den ja korkean käy­tet­tä­vyy­den. SQL:ään perustuva Cassandra Query Language (CQL) helpottaa re­laa­tio­tie­to­kan­to­jen käyt­tä­jien aloit­ta­mis­ta. Samoin sa­ra­ke­poh­jai­nen tal­len­nus­mal­li mah­dol­lis­taa valtavan luku- ja kir­joi­tus­no­peu­den. Vaikka Cassandra tarjoaa vain osit­tai­sen ACID-yh­teen­so­pi­vuu­den, kon­fi­gu­roi­ta­vat yh­den­mu­kai­suusas­teet var­mis­ta­vat tietojen eheyden säi­ly­mi­sen.

Apache Cas­sandran etujen yleis­kat­saus

  • Avoin läh­de­koo­di
  • Skaa­lau­tu­va sekä vaa­ka­suo­raan että pys­ty­suo­raan
  • Häiriötön suo­ri­tus­ky­ky ha­jau­te­tun tietojen tal­len­nuk­sen ansiosta
  • Ky­se­ly­kie­li CQL tutulla SQL-syn­tak­sil­la
  • Kon­fi­gu­roi­ta­vat kon­sis­tens­si­mal­lit va­li­tuil­la ACID-omi­nai­suuk­sil­la
  • Schema-vapaa suun­nit­te­lu mak­si­maa­li­sen mu­kau­tu­vuu­den ta­kaa­mi­sek­si
  • Optimoitu erittäin korkeille lä­pi­me­no­no­peuk­sil­le ja matalille viiveille

Redis

Redis on muistissa oleva tie­to­kan­ta, joka toimii te­hok­kaa­na MariaDB-vaih­toeh­to­na, kun etusi­jal­la ovat erittäin pienet viiveet ja suuri tie­don­siir­to­no­peus. Sen sijaan, että Redis tal­len­tai­si tiedot levyille, se säilyttää kaikki avai­nar­vot suoraan muistissa, mikä mah­dol­lis­taa alle mil­li­se­kun­nin pää­sy­aa­jat. Koska tie­to­kan­ta tukee erilaisia tie­to­tyyp­pe­jä, se pystyy kä­sit­te­le­mään mo­ni­mut­kai­sia työ­kuor­mia.

Tie­to­kan­nan suurimmat edut ovat sen nopea lu­ku­no­peus ja skaa­lau­tu­vuus – nimittäin ver­ti­kaa­li­nen skaalaus RAM-muistin laa­jen­nuk­sen avulla ja ho­ri­son­taa­li­nen skaalaus Redis Clusterin avulla. Jär­jes­tel­mää käytetään pää­asias­sa re­aa­liai­kai­seen ana­ly­soin­tiin, hal­lin­nol­li­siin tehtäviin ja viestien lä­het­tä­mi­seen. Mo­ni­mut­kais­ten tietojen kä­sit­te­lyyn suo­si­tel­laan kuitenkin toista MariaDB-vaih­toeh­toa.

Redisin etujen yleis­kat­saus

  • Avoin läh­de­koo­di
  • Erittäin pieni viive
  • Tarjoaa vaa­ka­suun­tai­sen ja pys­ty­suun­tai­sen skaa­laus­mah­dol­li­suu­den
  • Käyt­tä­jäys­tä­väl­li­nen muotoilu
  • Re­aa­liai­kai­set tiedot alle mil­li­se­kun­nin vas­tea­joil­la
  • Kattavat do­ku­men­taa­tio­re­surs­sit
  • Eri­lais­ten tie­to­tyyp­pien dy­naa­mi­nen käsittely
  • Alus­ta­riip­pu­ma­ton ja kielestä riip­pu­ma­ton
Siirry pää­va­lik­koon