Tietokannat ja data

Data on nykyajan öljyä. Tässä osiossa selitämme miten tietoa säilytetään, järjestellään ja käsitellään tietokannoissa ja erilaisissa dataformaateissa. Tutustutaan tiedon hallintaan arkikielellä.

ACID — Atomicity, Consistency, Isolation, Durability

Lyhyesti: Tietokantatapahtumien luotettavuusperiaatteet, jotka takaavat datan eheyden.

Tarkemmin: ACID on kuin pankkitapahtumien turvallisuussäännöt. Atomicity = koko tapahtuma onnistuu tai koko tapahtuma peruutetaan (ei puolitiehen jäämistä). Consistency = data pysyy järkevässä tilassa. Isolation = tapahtumat eivät sekoitu toisiinsa. Durability = kun tapahtuma on valmis, se on pysyvästi tallennettu. Pankkisiirto ei saa kadota tai jäädä puolitiehen.

API — Application Programming Interface

Lyhyesti: Tapa jolla ohjelmat keskustelevat keskenään ja jakavat dataa.

Tarkemmin: API toimii kuin kahvilan tarjoilija. Sinä (ohjelma) pyydät jotain, tarjoilija (API) vie pyynnön keittiöön (tietokantaan), ja tuo sinulle vastauksen. Kun mobiilisovellus hakee säätiedot, se käyttää sääpalvelun API:a. API määrittelee mitä voit pyytää ja missä muodossa saat vastauksen.

BASE — Basically Available, Soft state, Eventual consistency

Lyhyesti: Vaihtoehtoinen lähestymistapa ACID:ille suurissa hajautetuissa järjestelmissä.

Tarkemmin: BASE on kuin verkkokauppa joka hyväksyy että tiedot voivat olla hetken epätarkkoja, kunhan lopulta kaikki on kunnossa. Basically Available = järjestelmä toimii vaikka joku osa olisi rikki. Soft state = data voi muuttua ajan myötä. Eventual consistency = lopulta kaikki kopiot datasta ovat samat. NoSQL-tietokannat käyttävät usein BASE-mallia.

CDC — Change Data Capture

Lyhyesti: Tekniikka jolla seurataan ja tallennetaan kaikki muutokset tietokannassa.

Tarkemmin: CDC on kuin tietokannan muutospäiväkirja. Se kirjaa ylös jokaisen lisäyksen, muutoksen ja poiston reaaliajassa. Tämä mahdollistaa muiden järjestelmien päivittämisen heti kun jotain muuttuu. Esimerkiksi kun asiakas päivittää osoitteensa, CDC voi automaattisesti päivittää sen myös laskutusjärjestelmään ja CRM:ään.

CRUD — Create, Read, Update, Delete

Lyhyesti: Neljä perusoperaatiota joita tehdään datalle: luo, lue, päivitä, poista.

Tarkemmin: CRUD on kuin perusmappi kaikille datantoiminnoille. Create = lisää uusi asiakastietue. Read = hae asiakkaan tiedot. Update = päivitä puhelinnumero. Delete = poista asiakastietue. Jokainen tietokantasovellus tekee näitä neljää perustehtävää. API:t ja verkkosivustot rakentuvat CRUD-operaatioiden päälle.

CSV — Comma-Separated Values

Lyhyesti: Yksinkertainen tiedostomuoto taulukkomuotoisen datan tallentamiseen pilkuilla erotettuina.

Tarkemmin: CSV on kuin tekstimuotoinen Excel-taulukko. Jokainen rivi on taulukkorivi, ja sarakkeet erotetaan pilkuilla: "Nimi,Ikä,Kaupunki". Se on niin yksinkertainen formaatti että sitä voi avata millä tahansa ohjelmalla. Excelissä tehty taulukko voidaan tallentaa CSV:nä ja siirtää mihin tahansa tietokantaan.

Data Lake — Laaja datavarasto raakamuotoiselle datalle

Lyhyesti: Valtava säiliö jonne voidaan tallentaa kaikenlaista dataa sellaisenaan ilman ennakkokäsittelyä.

Tarkemmin: Data Lake on kuin jättimäinen varasto jonne voit heittää kaiken datan: tekstitiedostoja, kuvia, lokeja, sensoritietoa, mitä vain. Toisin kuin Data Warehouse, Data Lake ei vaadi että tiedot ovat siistissä taulukkomuodossa. Voit analysoida dataa myöhemmin kun tiedät mitä siitä haet. "Store first, ask questions later."

DB / DBMS — Database / Database Management System

Lyhyesti: Tietokanta ja järjestelmä joka hallitsee sitä.

Tarkemmin: Database on kuin digitaalinen arkistokaapin, jossa tieto on järjestetty taulukoihin. DBMS on kuin kirjastonhoitaja, joka tietää missä mikäkin on, hakee sinulle tiedot ja huolehtii että kukaan ei tuhoa mitään. MySQL, PostgreSQL ja Oracle ovat DBMS:iä. Tietokanta ilman hallinnointijärjestelmää olisi kuin kirjasto ilman luetteloa.

DWH — Data Warehouse

Lyhyesti: Keskitetty varasto puhtaalle, analysoitavalle datalle eri lähteistä.

Tarkemmin: Data Warehouse on kuin siisti, järjestetty arkisto jossa kaikki yrityksen data on puhdistettuna ja yhtenäisessä muodossa. Se kerää tietoja eri järjestelmistä (myynti, markkinointi, asiakaspalvelu) ja järjestää ne niin että johtajat voivat tehdä raportteja ja analyysejä. Kuin kirjasto jossa kaikki kirjat on luetteloitu ja järjestetty.

ELT — Extract, Load, Transform

Lyhyesti: Dataprosessi jossa tieto haetaan, ladataan kohteeseen ja sitten muokataan siellä.

Tarkemmin: ELT on kuin muutto jossa pakataan kaikki tavarat autoon (Extract), kuljetetaan uuteen kotiin (Load) ja sitten järjestellään huonekalut (Transform) uudessa paikassa. Nykyaikaiset pilvipohjaiset data warehouset suosivat ELT:tä koska ne pystyvät käsittelemään valtavia datamääriä tehokkaasti sisäisesti.

ETL — Extract, Transform, Load

Lyhyesti: Dataprosessi jossa tieto haetaan, muokataan ja sitten ladataan kohdetietokantaan.

Tarkemmin: ETL on kuin ruuan valmistus: haet raaka-aineet kaupasta (Extract), pilkkot ja maustat ne (Transform), ja tarjoilet valmiin aterian (Load). Esimerkiksi myyntidataa eri järjestelmistä puhdistetaan, yhtenäistetään ja ladataan data warehouseen raporttien tekoa varten. Perinteinen tapa käsitellä dataa.

JSON — JavaScript Object Notation

Lyhyesti: Kevyt tekstimuotoinen dataformaatti strukturoidun tiedon tallentamiseen ja siirtämiseen.

Tarkemmin: JSON on kuin XML:n yksinkertaisempi serkku. Se käyttää aaltosulkeita {} objekteille ja hakasulkeita [] listoille. Se on helppo lukea sekä ihmisille että koneille. Web-API:t käyttävät JSON:ia lähes yksinomaan. Esimerkki: {"nimi": "Matti", "ikä": 30, "harrastukset": ["lukeminen", "juoksu"]}.

NAS — Network Attached Storage

Lyhyesti: Verkkoon kytketty tallennuslaite jonka kautta voidaan jakaa tiedostoja.

Tarkemmin: NAS on kuin jaettu kovalevy verkossa. Se on erillinen laite joka sisältää kovalevyjä ja jakaa niitä kaikille verkon käyttäjille. Kotona tai pienessä toimistossa NAS voi toimia varmuuskopiointipalvelimena, mediapalvelimena ja jaettuna tallennustilana. Synology ja QNAP tekevät suosittuja NAS-laitteita.

NFS — Network File System

Lyhyesti: Unix/Linux-protokolla tiedostojen jakamiseen verkon kautta.

Tarkemmin: NFS mahdollistaa sen että etäpalvelimen kovalevyt näyttävät ikään kuin ne olisivat paikallisia kovalevyjäsi. Voit avata, muokata ja tallentaa tiedostoja aivan kuin ne olisivat omalla koneellasi, vaikka ne oikeasti sijaitsevatkin palvelimella. Se on kuin jatkokappale tietokoneesi kovalevylle, mutta verkon kautta.

NoSQL — Not Only SQL

Lyhyesti: Tietokantateknologioiden perhe joka ei käytä perinteisiä taulukkoja ja SQL:ää.

Tarkemmin: NoSQL-tietokannat ovat kuin erilaiset säilytysratkaisut eri tarpeisiin. MongoDB tallentaa dataa JSON-tyylisesti, Redis on kuin superhopea muistikirja avain-arvo -pareille, ja Neo4j tallentaa suhteet ihmisten välillä verkostona. Ne skaalautuvat paremmin suurilla datamäärillä kuin perinteiset SQL-tietokannat, mutta ACID-takuut ovat heikompia.

OLAP — Online Analytical Processing

Lyhyesti: Järjestelmä monimutkaisten data-analyysien tekemiseen suurista datamassoista.

Tarkemmin: OLAP on kuin monidimensionaalinen Excel supersuurille datamäärille. Se mahdollistaa datan tarkastelun eri näkökulmista nopeasti: myynnin tutkiminen tuotteittain, alueittain, kuukausittain ja asiakastyypeittäin samanaikaisesti. Business Intelligence -työkalut käyttävät OLAP:ia. Se on optimoitu luentaan, ei kirjoittamiseen.

OLTP — Online Transaction Processing

Lyhyesti: Järjestelmä päivittäisten liiketoimintatransaktioiden käsittelyyn reaaliajassa.

Tarkemmin: OLTP on kuin pankin kassajärjestelmä - se käsittelee tuhansia pieniä tapahtumia nopeasti ja luotettavasti. Verkkokaupassat tilaukset, pankkisiirrot ja hotellivaraukset ovat OLTP-tapahtumia. Se on optimoitu nopeille lisäyksille, muutoksille ja poistoille, toisin kuin OLAP joka on optimoitu lukemiseen ja analyyseihin.

RAID — Redundant Array of Independent Disks

Lyhyesti: Tekniikka jolla useita kovalevyjä yhdistetään toimimaan yhtenä luotettavampana yksikkönä.

Tarkemmin: RAID on kuin turvaverkko kovalevyille. RAID 1 tekee kahdesta kovalevystä peilit - jos toinen hajoaa, data löytyy toisesta. RAID 5 jakaa datan usealle levylle ja lisää vikasietoisuutta. RAID 0 yhdistää levyt nopeutta varten mutta ei paranna turvallisuutta. Se on kuin vakuutus tärkeälle datalle.

SAN — Storage Area Network

Lyhyesti: Erillinen nopea verkko joka yhdistää palvelimet jaettuun tallennustilaan.

Tarkemmin: SAN on kuin yksityistie tallennuslaitteille. Se on erillinen verkko (yleensä kuitukaapelit) joka yhdistää palvelimet valtaviin tallennuslaitteisiin supernopeasti. Toisin kuin NAS, SAN:issa palvelimille näkyy tallennustila ikään kuin se olisi paikallinen kovalevy. Suuret datacentreissa käyttävät SAN:ia kriittisille sovelluksille.

SMB — Server Message Block

Lyhyesti: Windows-protokolla tiedostojen, tulostimien ja muiden resurssien jakamiseen verkossa.

Tarkemmin: SMB mahdollistaa sen että Windows-koneesi voi käyttää toisen Windows-koneen kansioita ikään kuin ne olisivat omalla koneellasi. Se hoitaa myös tulostimien jakamisen verkossa. Kun mappaat verkkoaseman Windows-koneessa tai tulosteet verkkotulostimeen, käytät luultavasti SMB:tä. Se on kuin Windows-maailman sisäinen kieli resurssien jakamiseen.

SQL — Structured Query Language

Lyhyesti: Standardikieli tietokantojen kanssa keskustelemiseen.

Tarkemmin: SQL on kuin englannin kielen yksinkertaisempi versio tietokannoille. Voit sanoa "SELECT nimi FROM asiakkaat WHERE kaupunki = 'Helsinki'" ja tietokanta ymmärtää että haluat kaikkien helsinkiläisten asiakkaiden nimet. Se on ollut käytössä vuodesta 1974 ja toimii lähes kaikissa tietokannoissa samalla tavalla. Kuin Esperanto tietokannoille.

XML — eXtensible Markup Language

Lyhyesti: Merkintäkieli strukturoidun datan tallentamiseen ja siirtämiseen.

Tarkemmin: XML on kuin HTML:n isoveli datalle. Se käyttää tageja kuten <nimi>Matti</nimi> järjestämään tietoja. Se on hyvin tarkka ja monipuolinen, mutta myös sanallisempi kuin JSON. Vanhemmat järjestelmät ja monet yrityssovellukset käyttävät edelleen XML:ää. Se on kuin virallinen kirje siinä missä JSON on tekstiviesti.