1.1 Käsitteet ja termit 1.2 Historia Luku 1 Johdanto ITKA204 kevät 2016 1
Kurssin sisältö - tarvittavat käsitteet - historiaa 1. johdanto 2. analyysi ja arkkitehtuuri - DBMS:n sovellusarkkitehtuuri - käsitteellinen mallintaminen 3. relaatiomalli - johdatus relaationaalisiin kieliin - käsitteellisestä mallista loogiseen malliin 4. SQL - datan käsittely, tietokannan toteutus - tapahtumanhallinta 5. normalisointi - datan toisteisuuden ongelmat - loogisen rakenteen optimointi 6. tietovarastointi - data osana liiketoimintaa - tiedonhallinta ja ydintieto 7. hajautus - hajautustekniikat - suuriin datamääriin varautuminen 8. tietokantaparadigmat - vaihtoehtoisia tietomalleja - relaatiomallin vahvuudet ja heikkoudet ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 2
Tiedonhallinta Tiedonhallinnalla tarkoitetaan sitä kehitystyötä, käyttöä ja valvontaa, joka pyrkii datan ja informaation hallintaan, suojaamiseen, jakamiseen ja arvon nostamiseen. (Mosley et al. 2010). Data on merkityksetöntä raakatietoa kuten numeroita, tekstiä, symboleita, kuvia, ääntä tai videota. Informaatio on dataa jossakin kontekstissa. Ilman kontekstia ja sen tulkintaa data on merkityksetöntä (meaningless). Tietämys (knowledge) on informaatiota tietystä perspektiivistä. Perspektiivi tuo informaatiolle merkityksellisyyden (significance). Dataa, informaatiota ja tietämystä kutsutaan yleisesti tiedoksi silloin, kun ei ole tarpeen tehdä eroa niiden erityispiirteiden välillä. Data Informaatio Tietämys Viisaus ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 3
Tiedon elinkaari Muotoillaan Eristetään Tulkitaan Tuhotaan Luodaan Hankitaan Siistitään Koostetaan Arkistoidaan Varastoidaan Korjaillaan Viitataan Palautetaan Ylläpidetään Validoidaan Raportoidaan Varmuuskopioidaan Poimitaan Yhdistellään Analysoidaan Louhitaan ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 4
SI-järjestelmä 1 Kb = 1024 tavua 1949 (arvio): maailman suurin tietovarasto USA:n kongressin kirjasto, 12 500 megatavua. 2002 (arvio): digitaalisen tiedon määrä ylittää analogisen tiedon. 2007 (arvio): tallennettua digitaalista tietoa on yhteensä 276 eksatavua. 2011: Googlen hakukone käsittelee noin 24 petatavua päivässä. 2011: WOW-pelipalvelimet käyttävät yhteensä 1,3 petatavua muistia. 2015: kuluttajan pöytätietokoneessa on noin 8-16 gigatavua muistia, keskisuuressa palvelinkoneessa määrä on noin 10-20-kertainen. 2020 (arvio): laitteiden luoman tiedon osuus on yli 40%. Kerroin Etuliite Lyhenne 10 3 kilo K 10 6 mega M 10 9 giga G 10 12 tera T 10 15 peta P 10 18 eksa E 10 21 jotta Y 10 24 tsetta Z ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 5
Tietokanta Tietokanta (database) on yleisellä tasolla kokoelma toisiinsa liittyvää dataa. Se kuvastaa osaa reaalimaailmasta. Se on loogisesti yhtenäinen kokoelma dataa. Sen rakenne ja data on suunniteltu jotakin käyttötarkoitusta varten. Tietokannalla on looginen ja fyysinen rakenne: Looginen rakenne kuvaa tietokannan ottamatta kantaa fyysiseen toteutukseen. Fyysinen rakenne kuvaa, miten tietokanta on tallennettu fyysisesti (levylohkot, indeksit hajautus jne.) Opiskelija Suoritus Laitos Työsuhde Opintojakso Opettaja ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 6
Tietokannanhallintajärjestelmä ja tietokantajärjestelmä Tietokannanhallintajärjestelmä (database management system, DBMS) on ohjelmisto, joka mahdollistaa tietokannan: Rakenteen määrittämisen Datan etsimisen, lisäämisen, poistamisen ja muokkaamisen Suojaamisen ja ylläpidon Jakamisen eri sovellusohjelmille ja käyttäjille. CRUD Käyttäjät Sovellusohjelma Tietokantajärjestelmä (database system) on tietokannan, DBMS:n ja niitä käyttävän sovellusohjelman yhteisnimitys. Tietokantajärjestelmä sisältää kaikkia osiaan yhden tai useampia. DBMS Tietokanta Tietokantajärjestelmä ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 7
Tietomalli Tietomalli (data model) on Määritelmä tietorakenteista ja operaatioista ja Niihin liittyvistä, mallin kannalta tärkeistä käsitteistä. DBMS noudattaa jotakin tietomallia. Tietomallia, jota käytetään DBMS:ssä, kutsutaan tietokantaparadigmaksi. DBMS:ää kutsutaan tarvittaessa sen tietomallin mukaisella nimellä, esim. Relaatiotietokannanhallintajärjestelmä (relational DBMS, RDBMS) Oliotietokannanhallintajärjestelmä (object-oriented DBMS, OODBMS) Oliorelaationaalinen tietokannanhallintajärjestelmä (object-relational DBMS, ORDBMS) ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 8
Tietomalli Tietomallit jaetaan yleisellä tasolla kolmeen kategoriaan: Käsitteellinen malli: millaista tieto on ja miten se rakentuu, esim. ER-malli tai UML-luokkakaavio. Looginen malli: millaisiin tietorakenteisiin ja minkä tietomallin mukaan tieto tallennetaan, esim. relaatiomalli. Fyysinen malli: miten tieto tallennetaan, esim. taulualueet, levylohkot, indeksit. Käsitteellinen Looginen Suunnittelu Toteutus Fyysinen Data ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 9
Muut termit Kurssimateriaalia varten määriteltyjä käsitteitä: Tietue (record): rakeisuudeltaan määrittelemätön kokonaisuus dataa. Korkea taso: suurpiirteinen, summittainen taso. Esim. SQL on korkean tason kieli. Matala taso: tarkka, lähellä viime käden toteutusta oleva taso. Solmu (node): määrittämättömän kokoinen osa kokonaisuutta, esim. tietokone verkossa. Tuote: tuotteistettu tietokannanhallintajärjestelmä, esim. Oracle, MySQL, SQLite, MongoDB. Abstraktio, abstrahointi: yleistäminen ja kohdealueen kannalta irrelevanttien piirteiden piilottaminen. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 10
1.2 Historia Historian virstanpylväitä 1960-luvulla data tallennetaan pääasiassa tiedostojärjestelmän avulla. 1961: General Electronicsin Integrated Data Store: ensimmäinen DBMS. 1970-luvulla hierarkkiset (esim. IBM:n Information Management System) ja verkkotietokannat yleistyvät. 1970: Edgar F. Codd esittelee relaatiomallin, joka on loogisen tason tietomalli. 1976: Peter Chen esittelee ER-mallin, joka on käsitteellisen tason tietomalli. 1970-luvulla: IBM:n DBMS System R ja sen relaationaalinen kyselykieli SEQUEL. 1970-luvun lopulla: RSI:n kaupallinen RDBMS Oracle ja sen kyselykieli SQL. 1980-luvulla RDBMS:t yleistyvät: Berkeleyn yliopiston Ingres (kyselykielenä QUEL), RSI:n Oracle, IBM:n DB/2, Sybasen SQL Server. 1980-luku: ensimmäiset tietokantasodat: hierarkkiset vs. relaationaaliset. 1986: SQL-kielen standardin ensimmäinen versio. 1989: Malcolm Atkinson et al. julkaiset oliotietokantojen manifestin. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 11
1.2 Historia Historian virstanpylväitä 1990-luvulla asiakas-palvelin-arkkitehtuurin ja internetin nousu. Tietovarastot. 1990-luku: toiset tietokantasodat: moniulotteiset vs. relaationaaliset. 1990-luvulla uudet vapaan lähdekoodin RDBMS:t PostgreSQL ja MySQL. 1992 ja 1999: SQL-standardista julkaistaan uusia versioita. 1990-luvulla: Microsoft ostaa Sybasen. DBMS:n nimeksi tulee Microsoft SQL Server. 1990-luvulla: olio- ja oliorelaationaalisten tietokantojen nousu. 2000-luku: pilvipalvelut ja hajautus yleistyvät. Uudet tietokantaparadigmat: NoSQL. 2003, 2006, 2009 ja 2011: SQL-standardista julkaistaan uusia versioita. 2009: Oracle ostaa MySQL:n. MySQL:n vapaan kehityshaaran nimeksi tulee MariaDB. 2000-2010-lukujen taite: kolmannet tietokantasodat: NoSQL vs. relaationaaliset. 2010-luku: NewSQL. Big Datan ja tiedonlouhinnan nopea yleistyminen. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 12
1.2 Historia Tietokantaparadigmat 1960 1970 1980 1990 2000 2010 flat file hierarkkinen verkko relaationaalinen oliosuuntautunut oliorelaationaalinen NoSQL NewSQL # Tuote Tietomalli 1 Oracle relaationaalinen 2 MySQL relaationaalinen 3 SQL Server relaationaalinen 4 MongoDB dokumentti 5 PostgreSQL relaationaalinen 6 DB/2 relaationaalinen 7 Access relaationaalinen 8 Cassandra sarakeperhe 9 SQLite relaationaalinen Ks. lisää: http://db-engines.com/en/ranking ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 13
Osaamistavoitteet Ymmärtää tietokantoihin ja tiedonhallintaan liittyvät termit ja käsitteet. Ei: Historiaa. Tuotekohtaisia ominaisuuksia. ITKA204 kevät 2016 Toni Taipalus Jyväskylän yliopisto 14