Mikä on tietokanta? Määritelmä ja tyypit
⚡ Älykäs yhteenveto
Mikä on tietokanta? Tietokanta on systemaattinen, jäsennelty tietokokoelma, joka tukee sähköistä tallennusta, hakua ja hallintaa. Se tukee jokapäiväisiä järjestelmiä puhelinluetteloista sosiaalisiin verkostoihin, ja sitä käytetään ohjelmistolla, jota kutsutaan tietokannan hallintajärjestelmäksi (DBMS).

Mikä on Data?
Yksinkertaisesti sanottuna, tiedot ovat tietoja kiinnostuksen kohteesta. Nimesi, ikäsi, pituutesi ja painosi ovat kaikki tietoja sinusta. Kuvat, kuvat, tiedostot ja PDF-tiedostot voidaan myös laskea dataksi, koska jokainen sisältää tietoa, jota voidaan tallentaa ja käsitellä.
Mikä on tietokanta?
A tietokanta on systemaattinen tiedonkeruu. Tietokannat tukevat tiedon sähköistä tallennusta, hakua ja käsittelyä, mikä helpottaa tiedon hallintaa skaalautuvasti.
Tarkastellaan muutamia tuttuja esimerkkejä. Verkkopuhelinluettelo käyttää tietokantaa ihmisten, puhelinnumeroiden ja yhteystietojen tallentamiseen. Sähköntoimittaja käyttää tietokantaa laskutuksen, asiakasongelmien ja vikahistorian käsittelyyn. Facebook tallentaa jäseniä, ystävyyssuhteita, julkaisuja, viestejä, mainoksia ja paljon muuta – kaikki tämä sijaitsee tietokannoissa. Kaava on sama kaikilla toimialoilla: tiedot järjestetään siten, että sovellukset ja ihmiset voivat tehdä niistä luotettavasti hakuja.
Tietokantojen tyypit
Yleisimmät tietokantatyypit on esitetty alla. Jokainen niistä sopii tiettyyn datamuotoon ja työmäärään.
Hajautetut tietokannat
Hajautettu tietokanta levittää tietoja useille eri toimipisteille tai sijainneille. Jokainen toimipiste säilyttää oman lohkonsa, kun taas asiakkaat näkevät yhden loogisen tietokannan. Malli on yleinen globaaleissa sovelluksissa, jotka vaativat pientä viivettä ja paikallista saatavuutta.
Relaatiotietokannat
Relaatiotietokanta tallentaa tiedot riveittäin ja sarakkeittaisiin taulukoihin ja käyttää avaimia taulukoiden yhdistämiseen toisiinsa. Usein RDBMS:ksi kutsuttu tietokanta on edelleen suosituin. DBMS perhe markkinoilla. Esimerkkejä ovat MySQL, Oracle Database, PostgreSQLja Microsoft SQL Server.
Oliopohjaiset tietokannat
Oliopohjaiset tietokannat tallentavat dataa objekteina, joista jokaisella on attribuutit ja metodit, jotka määrittelevät datalle sallitut toiminnot. Ne vastaavat selkeästi oliopohjaisia ohjelmointikieliä ja poistavat ORM-kerroksen tarpeen.
Keskitetty tietokanta
Keskitetty tietokanta säilyttää kaikki tiedot yhdellä keskitetyllä palvelimella. Käyttäjät muodostavat yhteyden samaan tietovarastoon useista eri sijainneista, mikä yksinkertaistaa hallintaa, mutta tekee palvelimesta yhden ainoan kiistakapuhelimen.
Avoimen lähdekoodin tietokannat
Avoimen lähdekoodin tietokannat julkaisevat lähdekoodinsa sallitulla lisenssillä, joten kuka tahansa voi käyttää, muokata ja levittää sitä. MySQL, PostgreSQL, SQLite, MariaDBja MongoDB ovat laajalti käytettyjä esimerkkejä.
Pilvitietokannat
Pilvitietokanta on optimoitu virtualisoidulle, tarvittaessa käytettävälle infrastruktuurille. Se toimitetaan hallittuna palveluna, skaalaa tallennustilaa ja laskentatehoa joustavasti ja tarjoaa korkean käytettävyyden sisäänrakennetun replikoinnin ansiosta. Esimerkkejä ovat Amazon RDS, Azure SQL-tietokanta ja Google Cloud Kiintoavain.
Tietovarastot
A tietovarasto keskittää historiallista ja kumulatiivista dataa useista lähdejärjestelmistä tukeakseen päätöksentekoa, raportointia ja ennustamista. Se yksinkertaistaa analytiikkaa antamalla organisaatiolle yhden luotettavan version totuudesta.
NoSQL-tietokantoja
NoSQL-tietokannat käsittelevät erittäin suuria, usein jäsentämättömiä tietojoukkoja, jotka eivät sovi siististi riveihin ja sarakkeisiin. Dokumentti-, avain-arvo-, sarakeperhe- ja graafisäilöillä on kukin eri käyttötapa ja ne tarjoavat horisontaalista skaalautuvuutta, jota perinteisten relaatiotietokantojen on vaikea saavuttaa.
Graafiset tietokannat
Graafitietokanta käyttää graafiteoriaa – solmuja ja reunoja – suhteiden tallentamiseen ja suoraan kyselyyn. Se sopii erinomaisesti petosten havaitsemiseen, suosittelukoneisiin ja sosiaalisten verkostojen analysointiin, joissa entiteettien väliset yhteydet ovat yhtä tärkeitä kuin itse entiteetit.
OLTP-tietokannat
OLTP (Online Transaction Processing) -tietokannat keskittyvät suuren läpimenon ja pienen latenssin tapahtumiin usean käyttäjän ympäristöissä. Ne takaavat ACID-ominaisuudet ja on viritetty monille pienille luku- ja kirjoitusoperaatioille, jotka ohjaavat operatiivisia järjestelmiä, kuten kassajärjestelmiä ja pankkisovelluksia.
Henkilökohtainen tietokanta
Henkilökohtainen tietokanta tallentaa tietoja yhdelle tietokoneelle yhdelle käyttäjälle tai pienelle tiimille. Microsoft Pääsy ja SQLite ovat tyypillisiä esimerkkejä.
Multimodaalinen tietokanta
Multimodaalinen tietokanta tukee useita datamalleja – esimerkiksi dokumentti-, graafi- ja avain-arvo-malleja – yhden moottorin sisällä. ArangoDB ja Microsoft Azure Cosmos DB on suosittu multimodaalinen vaihtoehto.
Asiakirja/JSON-tietokanta
Dokumenttikeskeisessä tietokannassa jokainen tietue on itsenäinen dokumentti, yleensä JSON-, BSON- tai XML-muodossa. Yksi dokumentti voi sisältää runsaasti sisäkkäistä dataa ja vaihtelevia kenttiä, mikä tekee mallista joustavan nopeasti liikkuville sovelluksille. MongoDB ja Couchbase ovat tunnettuja esimerkkejä.
Hierarkkinen tietokanta
Hierarkkinen tietokanta käyttää puurakennetta, jossa on ylä- ja alaosasuhteita. Solmut edustavat tietueita ja haarat kenttiä. Windows Rekisteri päällä Windows XP ja IBM IMS on klassinen esimerkki hierarkkisista tietokannoista.
Verkkotietokanta
Verkkopohjainen tietokannan hallintajärjestelmä tukee tietueiden välisiä monta-moneen-suhteita, mikä tuottaa monimutkaisempia rakenteita kuin hierarkkinen malli. RDM-palvelin on esimerkki tietokannan hallintajärjestelmästä, joka toteuttaa verkkomallin.
Tietokannan komponentit
Tietokannan komponentit.
Jokainen tietokanta rakentuu viidestä yhdessä toimivasta osasta:
Palvelimet
Laitteisto on fyysinen kerros – tietokoneet, I/O-laitteet, tallennusvälineet ja verkot. Se tarjoaa rajapinnan tietokannan ja muun maailman välille.
Tuotteemme
Ohjelmisto kattaa kaiken, mikä hallitsee ja ohjaa tietokantaa: itse tietokannan hallintajärjestelmän, käyttöjärjestelmän, verkko-ohjelmiston, jonka avulla useat käyttäjät voivat jakaa tietoja, sekä sovellukset, jotka lukevat ja kirjoittavat tietokannan hallintajärjestelmän kautta.
Päiväys
Data on raakadataa, havaintoja, numeroita, symboleja ja kuvia, joita tietokanta tallentaa. Pelkkä raakadata on merkityksetöntä; tietokanta järjestää ja käsittelee sen hyödylliseksi tiedoksi.
Menettelyt
Proseduurit ovat dokumentoituja ohjeita ja sääntöjä, jotka ohjaavat tietokannan suunnittelua, käyttöä ja ylläpitoa. Ne kertovat järjestelmänvalvojille ja käyttäjille, miten järjestelmää käytetään luotettavasti.
Tietokannan käyttökieli
Tietokannan käyttökieli – useimmiten SQL – antaa käyttäjien ja sovellusten lisätä, päivittää, poistaa ja kysellä tietoja. Käyttäjät antavat tiettyjä komentoja, jotka tietokannan hallintajärjestelmä jäsentää, suunnittelee ja suorittaa pohjana olevaa tallennustilaa vasten.
Mikä on tietokannan hallintajärjestelmä (DBMS)?
A Tietokannan hallintajärjestelmä (DBMS) on ohjelmistokerros, jonka avulla käyttäjät voivat määrittää, tallentaa, hakea, päivittää ja suojata tietoja. A DBMS koordinoi pääsyä useiden käyttäjien ja sovellusten välillä, valvoo eheyttä ja hallitsee, kuka voi nähdä tai muuttaa mitä.
Tietokannan hallintajärjestelmäteknologia ei ole uusi – Charles Bachmanin Integroitu tietovarasto (IDS), joka rakennettiin General Electricissä 1960-luvun alussa, pidetään laajalti ensimmäisenä tietokannan hallintajärjestelmänä. Siitä lähtien ala on kehittynyt hierarkkisten, verkkopohjaisten, relaatiopohjaisten, oliopohjaisten ja NoSQL-mallien kautta, joista jokainen on vastannut seuraavan sukupolven datatyökuormiin.
Tietokannan hallintajärjestelmien historia
Alla olevat virstanpylväät trace tietokantateknologian kehitys.
- 1960s — Charles Bachman suunnittelee ensimmäisen tietokannan hallintajärjestelmän (DBMS, Integrated Data Store) General Electricille.
- 1968 - IBM laivojen tiedonhallintajärjestelmä (IMS), yksi varhaisimmista hierarkkisista tietokannan hallintajärjestelmistä.
- 1970 — Edgar F. Codd julkaisee teoksen ”A Relational Model of Data for Large Shared Data Banks” (”Relaatiomalli suurille jaetuille tietopankeille”), jossa hän esittelee relaatiomallin.
- 1976 — Peter Chen virallistaa entiteetti-relaatiomallin (ER).
- 1980s - relaatiomalli tulee hallitsevaksi tietokantaparadigmaksi ja SQL standardoidaan.
- 1985 — Oliopohjaiset tietokannan hallintajärjestelmät näyttävät sopivan olio-ohjelmointikielten nousuun.
- 1990s — Objektirelaatio-ominaisuudet tulevat valtavirran reaaliaikaisiin tietokantanhallintajärjestelmiin.
- 1992 - Microsoft julkaisee ensimmäisen version Microsoft Pääsy henkilökohtaisiin tietokantoihin.
- 1995 — Verkkosovellukset alkavat vauhdittaa internet-laajuisten tietokantojen käyttöä.
- 1997 — XML syötetään tietokantoihin sekä muotona että kyselykohteena.
- 2009 — Termi NoSQL hyötyy tracdokumentti-, avain-arvo- ja graafisäilöjen kasvaessa nopeasti.
- 2010it ja sen jälkeen — Pilvinatiivit ja hajautetut SQL-tietokannat (Aurora, Spanner, CockroachDB) ilmestyä.
DBMS: n edut
Hyvin toteutettu tietokannan hallintajärjestelmä tarjoaa organisaatioille useita käytännön etuja:
- Tarjoaa monia tekniikoita tiedon tehokkaaseen tallentamiseen ja hakemiseen.
- Tasapainottaa useiden samaa dataa jakavien sovellusten tarpeet.
- Tarjoaa yhtenäiset hallintomenettelyt.
- Suojaa sovellusohjelmoijia tallennustilan yksityiskohdilta.
- Tarjoaa tietojen eheyden ja turvallisuuden rajoitusten ja käyttöoikeuksien hallinnan avulla.
- Aikatauluttaa samanaikaisen käytön niin, että vain kelvolliset toiminnot onnistuvat.
- Lyhentää sovelluskehitysaikaa uudelleenkäytettävien palveluiden avulla.
DBMS: n haitat
Myös tietokannan hallintajärjestelmämallilla on kompromisseja:
- Laitteisto- ja ohjelmistokustannukset voivat olla huomattavat.
- Useimmat järjestelmät ovat monimutkaisia, joten käyttäjät ja ylläpitäjät tarvitsevat koulutusta.
- Tietojen keskittäminen yhteen tietokantaan luo arvokkaan kohteen käyttökatkoksille, korruptiolle tai hyökkäyksille.
- Samanaikainen käyttö vaatii huolellista suunnittelua, jotta vältetään päivitysten menetykset ja umpikujat.
- Tietokannan hallintajärjestelmää ei ole suunniteltu raskaaseen numeeriseen laskentaan; erikoistyökalut käsittelevät tämän työmäärän paremmin.

