Kymenlaakson Ammattikorkeakoulu Tietotekniikka/Tietoverkkotekniikka Jussi Toivakka ja Juha Törö MySQL & PostGRE
1 Sisällysluettelo 2 Yleistä tietokannoista... 3 3 MySQL... 4 3.1 Historiaa... 4 3.2 Käyttö... 4 3.3 Vahvuudet ja heikkoudet... 4 4 PostGRE... 5 4.1 Yleistä... 5 4.2 Historia... 5 4.3 PostGREn vahvuuksia... 5 5 Lähteet... 6
Jussi Toivakka & Juha Törö 2 Yleistä tietokannoista Tietokanta on tietotekniikassa käytetty termi, joka tarkoittaa kokoelmaa tietoja, joilla on jonkinlainen yhteys toisiinsa. Tietokannat ovat hyvin oleellisessa asemassa tiedon varastoinnissa, sillä on olemassa valtavia määriä dataa, mutta liian vähän aikaa sen fyysiseen käsittelyyn. Sen takia on keksitty tietokantaohjelmistoja, jotka nopeasti hakevat tarvittavan datan. Tietokantojen koot voivat vaihdella hyvin pienistä tietueista aina monen teratavun kokoisiin tietokantoihin. Tietotekniikassa tietokannat esitetään useimmiten taulukkorakenteella. Yksinkertaisimmillaan tietokanta voi näyttää seuraavalta: ID Nimi Sukunimi Ikä 1 Maria Database 24 2 Tieto Kantanen 31 3 My SQL 28 Relaatiotietokanta taas koostuu useista taulukoista, joilla on yhteys toisiinsa. Relaatiotietokanta kannattaa suunnitella huolellisesti, sillä hyvin suunnitellusta tietokannasta voi helposti tyydyttää monimutkaiset tietotarpeet ja voi välttää paljon turhaa työtä kun ei joudu luomaan uudelleen koko tietokantaa ja syöttämään kaikkia tietoja uudelleen. Hyvin toteutettua tietokantaa on helppo päivittää ilman että se hajoaa kokonaan. Esimerkki relaatiotietokannasta: (toteutettu Microsoft Accessilla)
3 MySQL Jussi Toivakka & Juha Törö 3.1 Historiaa MySQL on ruotsalaisen MySQL AB-yrityksen kehittämä relaatiotietokantaohjelmisto, jonka perustajia olivat suomalainen Michael Monty Widenius sekä ruotsalaiset Allan Larsson ja David Axmark. Ohjelmiston ensimmäinen versio julkaistiin toukokuun 23. päivä vuonna 1995. Sun Microsystems osti MySQL AB:n 16. tammikuuta 2008 miljardilla dollarilla, joka myytiin edelleen Oraclelle 7,4 miljardilla dollarilla, jonka yhteydessä myös MySQL:n omistus siirtyi Oraclelle. 3.2 Käyttö MySQL lienee relaatiotietokantaohjelmistoista helppokäyttöisin uudelle käyttäjälle. Siihen on saatavilla graafinen käyttöliittymä MySQL Workbench, joka tekee tietokantojen luomisesta, päivittämisestä ja muuttamisesta varsin helppoa ilman laajaa tietämystä SQL-ohjelmistoista. MySQL on myös helposti saatavilla hyvin monelle käyttöjärjestelmälle käyttökohteesta riippuen joko ilmaisella GNU GPL-lisenssillä tai kaupalliseen käyttöön tarkoitetulla maksullisella lisenssillä, joka sisältää enemmän ominaisuuksia. MySQL on helposti saatavilla LAMP-alustasta joka sisältää Linuxin, Apachen, MySQL/MariaDB ja PHP, Perl ja/tai Python. Koska MySQL on niin suosittu käyttäjien keskuudessa, löytyy siihen paljon tukea Internetistä. LAMP-alusta onkin varsin kätevä, sillä MySQLtietokanta on hyvin suosittu web-palveluiden tietokantana. MySQL-tietokannan päälle rakennettava ohjelmalogiikka tehdään usein PHP-, Python- tai Perl-ohjelmointikielellä, sivut julkaistaan Apache-webpalvelimella, joka edelleen toimii Linux-käyttöjärjestelmän päällä. 3.3 Vahvuudet ja heikkoudet MySQL:n etuja ovat mm: Suuri suosio paljon tukea saatavilla Helppokäyttöinen vähäiselläkin SQL-osaamisella Toimii hyvin monella eri käyttöjärjestelmällä Mukautuvuus tarpeiden mukaan Hyvä tietoturva Nopea Avoin lähdekoodi (tavallaan) MySQL:n kehitys on hidastunut huomattavasti sen jälkeen, kun Oracle osti Sun Microsystemsin ja sai omistusoikeut MySQL lähdekoodiin. Ilmaisella lisenssillä saatavilla oleva MySQL sisältää edelleen avoimen lähdekoodin, mutta kaupallisessa versiossa lähdekoodia on rajoitettu. Tämä on herättänyt paljon kritiikkiä niin käyttäjien kuin kehittäjien keskuudessa, ja mm. Michael Widenius muiden
Jussi Toivakka & Juha Törö kehittäjien kanssa on siirtynyt kehittämään uutta relaatiotietokantaohjelmistoa nimeltä MariaDB, kun he ovat olleet tyytymättömiä MySQL:n kehitykseen. Muita heikkouksia on mm: Epävakaa, buginen ilman lisäosia Vähemmän ominaisuuksia kuin kilpailijoilla Ei toimi hyvin suurten tietokantojen kanssa. 4 PostGRE 4.1 Yleistä PostGRESQL on relaatiotietokantajärjestelmänä varteenotettavin kilpailija MySQL tietokantajärjestelmälle. PostGRESQL on avointa lähdekoodia ja se on lisensoitu joustavalla BSDlisenssillä, joka antaa käyttäjälle oikeuden muuttaa ohjelmaa tarpeidensa mukaan. 4.2 Historia PostGRESQL juontaa juurensa Yhdysvaltojen länsirannikolle Berkeleyn yliopistoon luvun 1980 alkupuolelle. Kehitystyönä työstettiin Ingres-tietokantajärjestelmää. Projektia johti Michael Stonebraker, joka siirtyi tekemään Ingresin kaupallista versiota 1982. Ingressin jälkiprojektina haluttiin ratkaisu tuon aikaisten tietokantojen ongelmiin, jonka lopputulemana oli PostGRE. Ohjelmoijat ja servereiden ylläpitäjät alkoivat muodostaa yhteisöä Postgresin ympärille. He toivoivat ominaisuuksia ja laajennuksia ohjelmaan. 1993 mennessä järjestelmälle oli kertynyt suuria määriä käyttäjiä ja toiveita. Tämän takia Berkeley julkisti lähdekoodin. Nyt käyttäjät pystyivät muokata ohjelmaa tarpeidensa mukaan ja jakamaan sitä yhteisön kesken toisilleen. 1994 kaksi Berkeleyn yliopiston opiskelijaa lisäsivät PostGREsiin SQL tulkin, korvaten vanhan QUEL-systeemin, luoden Postgres95:n. 1996 uuden kyselykielen vuoksi Postgres95:tä tuli PostGRESQL. Nykyään kehitystyö tapahtuu maailmanlaajuisesti. Kehitystyötä kuitenkin johtaa ydinryhmä, jolla on päätösvalta muutoksiin uusissa julkisissa päivityksissä. Omaa rajapinnat yleisimmille ohjelmointikielille, kuten; C, C++, Python, PHP, Ruby. ACID ja ANSI SQL yhteensopiva ja laajennuksia esimerkiksi XML ja MD5 toiminnallisuuteen. 4.3 PostGREn vahvuuksia PostGRESQL:n etuja on lisenssiongelmattomuus, vapaa muokattavuus ja laaja määrä ominaisuuksia. Toimii Windowsilla, Linuxilla ja Mac OS X:llä. Asiakastuki on helposti saatavilla yhteisölliseltä PostGRESQL:n käyttäjäkunnalta. PostGRESQL on suunniteltu toimimaan pienillä kunnossapitotoimilla, monet yritykset ovat lähestyneet pääohjelmoija kirjein ja lahjoituksin, kiittäen
Jussi Toivakka & Juha Törö saumattomasta sovelluksesta. Ohjelma on valittu, nimitetty ja palkittu lukuisia kertoja, milloin parhaana tietokantajärjestelmänä ja milloin parhaana palvelinsovelluksena. Suurimpia sponsoreita; Red Hat Inc, Command Prompt Inc, 2ndQuadrant, Dalibo, EnterpriseDB ja tunnetuinpia; VMware, Skype, Google, HP ja Huawei. 5 Lähteet https://fi.wikipedia.org/wiki/tietokanta https://fi.wikipedia.org/wiki/postgresql https://fi.wikipedia.org/wiki/mysql http://verkkopedagogi.net/vanhat/fi/sisalto/materiaalit/access2003/luku0375c6.html?c:d=41970 2&selres=419702