Kirjaudu

Uutiskirje

Rekisteröidy Sektoriin ja tilaa itsellesi joko aamuisin tai iltaisin ilmestyvä uutiskirje sähköpostiisi.

Maanantai, 19.8.2002

MySQL ja PostgreSQL haastavat tietokantajättiläiset?

Avoimeen lähdekoodiin perustuvat MySQL- ja PostgreSQL-tietokantaohjelmistot ovat kasvattaneet suosiotaan siinä määrin, että niistä odotetaan jopa haastajaa alan jättiläisille, kuten Oraclelle, IBM:lle ja Microsoftille. Toistaiseksi kuitenkin kaikki kolme markkinoiden kärkinimeä pitävät avoimen lähdekoodin leiristä ponnistavia kilpailijoitaan lähinnä tietokantojen karvahattumalleina. IBM:n ja Microsoftin edustajien mukaan avoimen lähdekoodin tietokantaohjelmistot eivät ole luotettavia eivätkä tarjoa yhtä paljon ominaisuuksia kuin yritysten omat tuotteet.

MySQL AB:n liikevaihdoksi on tänä vuonna arvioitu noin viisi miljoonaa euroa, kun taas esimerkiksi Oraclen liikevaihto oli viime vuonna noin 9,7 miljardia euroa. MySQL AB:n toimitusjohtajan Marten Mickosin mukaan liikevaihto on kuitenkin kolminkertaistunut viime vuoteen verrattuna. Mickos myöntää, että MySQL ei sisällä yhtä monipuolisia ominaisuuksia kuin Oraclen, IBM:n tai Microsoftin tietokantaohjelmistot, mutta monet yritykset eivät välttämättä tarvitsekaan niin raskaita ja monipuolisia tietokantoja.

Lue juttu oma, 19.8.2002 00:05. Lähde: Bloomberg
Rekisteröidy ja kirjaudu sisään, jos haluat kommentoida.

Kommentit ( 16 uutta / 16 )
pistettä.
Näytä vain kommentit joilla on vähintään
ei ainakaan vielä MySQL:stä kaupallisten tietokoantojen haastajaksi
Anonyymi kommentoija, 19.8.2002 00:37:09
Pisteet: +1
Ei MySQL vielä ainakaan kovin hyvin isoja kaupallisia tietokantoja haasta. Nykyisestä MySQL:n versiosta puuttuvat alikyselyt, jotka ovat aika tärkeitä (tosin ne on luvattu versioon 4.1, jonka ilmestymisestä ei ole tietoa). Kyllähän alikyselyt saa korvattua, mutta se on niin paljon työläämpää. Sitä paitsi todella suurilla tauluilla MySQL on hidas. PostagreSQL pystyy käsittelemään todella suuria tauluja nopeammin kuin MySQL.
Re: ei ainakaan vielä MySQL:stä kaupallisten tietokoantojen haastajaksi
Anonyymi kommentoija, 19.8.2002 01:55:15
Pisteet: +1
Ei MySQL vielä ainakaan kovin hyvin isoja kaupallisia tietokantoja haasta. Nykyisestä MySQL:n versiosta puuttuvat alikyselyt, jotka ovat aika tärkeitä (tosin ne on luvattu versioon 4.1, jonka ilmestymisestä ei ole tietoa). Kyllähän alikyselyt saa korvattua, mutta se on niin paljon työläämpää. Sitä paitsi todella suurilla tauluilla MySQL on hidas. PostagreSQL pystyy käsittelemään todella suuria tauluja nopeammin kuin MySQL.
Lisäksi foreign key-relaatioiden puuttuminen useimmista taulumuodoista on äärimmäisen rasittava puute. OK, "hyvä koodi" tarkistaa koodissa relaatiorikkeet, mutta on kiva saada sellainen viimeinen virheblokkaus kannan puolelta mukaan, ettei relaatiotaulu mene aivan käsille jonkun pikkubugin vuoksi.
MySQL:stä puuttuvat alikyselyt
Lisäksi myös foreign key-relaatiot puuttuu
Kuten mainitsit jälkimmäinen saadaan korjattua erilaisilla taulumuodoilla (innodb & co).

Toisaalta usein napistaan, että MySQL:stä puuttuu se ja se. Toiset selvästi haluavat, että MySQL:ää kehitetään ns. isojen kantojen suuntaan, toiset taas haluavat, että MySQL pysyy tehokkaana ja helppokäyttöisenä pikkukantana.

Miksi ei sitten käyttäisi PostgreSQL:ää? Mitä puutteita PostgreSQL:ssä on verrattuna isojen talojen kantoihin? Minua kiinnostaa tässä tapauksessa lähinnä puutteet ANSI SQL standardeihin nähden 89, 92, 99? Toinen mikä myös kiinnostaa on tehokkuus. Minkäkokoisia kantoja olette PostgreSQL:llä ajaneet ja ovatko vasteajat olleet tyydyttäviä?

Itse olen töissä käyttänyt lähinnä Oraclea ja SQL Serveriä ja jonkin verran DB2:sta. Sovelluksia olisi mukavempi toimittaa esim. PostgreSQL:llä, koska silloin saisimme isomman katteen omalle tuotteelle (vrt. Oraclen lisenssi) ja ei tarvitsisi myydä Oraclen lisenssiä siinä samalla. Myös asiakkailta voitaisiin tässä tapauksessa veloittaa pienempi summa. (Tämä lähinnä siinä tapauksessa, että sovellus toimitetaan ja asennetaan asiakkaan omalle palvelimelle).

Olisi mukava kuulla tosi elämän tarinoita sellaisista järjestelmistä, jotka on toimitettu open source tietokannalla. Eniten kiinnostaisi sellaiset järjestelmät, jotka ovat verrattain monimutkaisia (esimerkiksi 50 - 150 taulua).
--
"See the animal in his cage that you built, are you sure what side you're on?" -- Trent Reznor
Re: ei ainakaan vielä MySQL:stä kaupallisten tietokoantojen haastajaksi
Anonyymi kommentoija, 19.8.2002 10:00:39
Pisteet: 0
Miksi ei sitten käyttäisi PostgreSQL:ää? Mitä puutteita PostgreSQL:ssä on verrattuna isojen talojen kantoihin? Minua kiinnostaa tässä tapauksessa lähinnä puutteet ANSI SQL standardeihin nähden 89, 92, 99?
Oracleko tukee SQL standardeja... taitaa olla puppua moinen luulo... parhaiten SQL standardeja kokemukseni mukaan tukee solidin tietokanta tuotteet.

P-pi
Oracleko tukee SQL standardeja... taitaa olla puppua moinen luulo.
Olenko jossain niin väittänyt? Kysyin vain, että tuleeko kelläään mitään puutteita PostgreSQL:n kanssa vastaan verrattaessa sitä SQL standardeihin. MySQL:ssä selvästikin tulee, mutta onko PostgreSQL:llä jotain isoja puutteita tähän nähden. Oracle, SQL Server, DB2, Sybase nyt ainakin tukevat SQL Standardeja edes kohtuullisella tasolla se nyt on selvää (esim. juuri nuo alikyselyt ja viite-eheyden valvonta jne. löytyvät kaikista noista).
--
"See the animal in his cage that you built, are you sure what side you're on?" -- Trent Reznor
Re: ei ainakaan vielä MySQL:stä kaupallisten tietokoantojen haastajaksi
Anonyymi kommentoija, 19.8.2002 12:49:49
Pisteet: +1
MySQL:stä puuttuvat alikyselyt
Lisäksi myös foreign key-relaatiot puuttuu
Kuten mainitsit jälkimmäinen saadaan korjattua erilaisilla taulumuodoilla (innodb & co).
Toisaalta usein napistaan, että MySQL:stä puuttuu se ja se. Toiset selvästi haluavat, että MySQL:ää kehitetään ns. isojen kantojen suuntaan, toiset taas haluavat, että MySQL pysyy tehokkaana ja helppokäyttöisenä pikkukantana.
Miksi ei sitten käyttäisi PostgreSQL:ää?
PostgreSQL on mainio kanta, ainoa oikeastaan mySQL:aa tukeva asia noiden käytössä on 100% kosmeettinen ja laiskuudesta syntynyt -- MySQL-Frontin kanssa kilpailemaan kykenevää frontendia en ole PostgreSQL:lle vielä löytänyt.

Toinen ns. "oikea" ongelma PostgreSQL:ssa on se, että parista hyvinkin perverssistä syystä johtuen joudumme ajamaan samaa kantamoottoria parin Linux-purkin lisäksi myös tuotantokäytössä olevassa W2k:ssa ja PSQL:sta ei ole mitään järkevästi toimivaa Win-versiota vielä olemassa. Mitään cygwin+purkaa -viritystä ei viitsi iskeä koneeseen, jonka päällimmäinen tarkoitus on pysyä pystyssä niin hyvin kuin 2k vain voi (juujuu, ei mitään **IX-houhotusta nyt, kuten aiemmin ilmoitettu, tälle on olemassa monia syitä ja sitä _ei_ voida vaihtaa **IXiin).
PostgreSQL on mainio kanta, ainoa oikeastaan mySQL:aa tukeva asia noiden käytössä on 100% kosmeettinen ja laiskuudesta syntynyt -- MySQL-Frontin kanssa kilpailemaan kykenevää frontendia en ole PostgreSQL:lle vielä löytänyt.
Eikö pgAdmin II ole riittävän hyvä?

Mitään cygwin+purkaa -viritystä ei viitsi iskeä koneeseen, jonka päällimmäinen tarkoitus on pysyä pystyssä niin hyvin kuin 2k vain voi.
Tätähän kehitetään ja ilmeisesti Windows natiivi on tulossa. Kyllä cygwin jollain lailla eräänlainen viritys on, enkä välttämättä itsekään sitä tuotannossa ajaisi. Kehityskäyttössä se toimii ihan riittävän hyvin. Ilmeisesti connectien kasvaessa cygwin menee jollain lailla jaloilleen (oliko ongelma sitten ipc-daemonissa vai missä?)
--
"See the animal in his cage that you built, are you sure what side you're on?" -- Trent Reznor
Re: ei ainakaan vielä MySQL:stä kaupallisten tietokoantojen haastajaksi
Anonyymi kommentoija, 19.8.2002 14:55:13
Pisteet: +1
PostgreSQL on mainio kanta, ainoa oikeastaan mySQL:aa tukeva asia noiden käytössä on 100% kosmeettinen ja laiskuudesta syntynyt -- MySQL-Frontin kanssa kilpailemaan kykenevää frontendia en ole PostgreSQL:lle vielä löytänyt.
Eikö pgAdmin II ole riittävän hyvä?
Kiitän, vaikuttaa varsin pätevältä :-)

Mitään cygwin+purkaa -viritystä ei viitsi iskeä koneeseen, jonka päällimmäinen tarkoitus on pysyä pystyssä niin hyvin kuin 2k vain voi.
Tätähän kehitetään ja ilmeisesti Windows natiivi on tulossa. Kyllä cygwin jollain lailla eräänlainen viritys on, enkä välttämättä itsekään sitä tuotannossa ajaisi. Kehityskäyttössä se toimii ihan riittävän hyvin. Ilmeisesti connectien kasvaessa cygwin menee jollain lailla jaloilleen (oliko ongelma sitten ipc-daemonissa vai missä?)
Juu, cygwinin kanssa alkaa systeemi jotenkin tärisemään kuin lautaselle laitettu hyytelö, vaikkakaan koskaan en ole saanut koko systeemiä alas. Mutta riski, että yli 500k querya päivässä jauhava yksittäinen boxi nykäisee itsensä nurin leikkiessään natiivi-linux -softalla W2k:n päällä, on turhan suuri otettavaksi.

Nooh, natiivia versiota odotellessa.

Ja lisäkommenttina -- niin uskomattoman alkukantainen ja hidas ja lisenssiehtojen raatelema kuin MS Access onkin, se pelaa Windoze-alustalla purkkavirityskantana uskomattoman hyvin ja kelpaa varsin mainiosti mySQL:n korvikkeeksi testauskäytössä, jossa vaaditaan perusfeaturet kannalta kuten nuo em. foreign keyt ja subqueryt. Ja on tuota tullut productionissakin ajettua testausmielessä suhteellisen kovilla loadeilla -- vasta kannan kasvaminen tietyn pisteen yli alkaa pistämään Accessin pahasti polvilleen. Ihan vain todiste siitä, että melkein kaikilla kannoilla on oma paikkansa maailmassa :-)
Miksi ei sitten käyttäisi PostgreSQL:ää? Mitä puutteita PostgreSQL:ssä on verrattuna isojen talojen kantoihin?
Possun ALTER TABLE on perseestä. Jos joutuu tekemään sovelluksiin päivityksiä, jotka vaativat muutoksia tietokanarakenteeseen, voi niiden operoiminen olla vähän vaikeampaa.

Tehokkuudesta: sanotaanko, että possu on vähän anteeksiantamattomampi huonon kanasuunnittelun suhteen. Jos kana on tehty hyvin ja sinne on itse lätkäissyt järkevät avaimet, ei mitään suorituskykyongelmia meillä ole ilmennyt, mutta eipä me hervottomia datamääriä kyllä käsitelläkään.
--
Heikki http://www.heikkikorpela.fi heikki@heikkikorpela.fi
Olisi mukava kuulla tosi elämän tarinoita sellaisista järjestelmistä, jotka on toimitettu open source tietokannalla. Eniten kiinnostaisi sellaiset järjestelmät, jotka ovat verrattain monimutkaisia (esimerkiksi 50 - 150 taulua).
Kysäise Nasalta? :) Luulisi, että siellä riittää isompaakin taulurakennetta kannan käyttöön.. Eivät taida tosin hirveästi innostua kertoilemaan kantojen toimivuudesta yksityisille kyselijöille :)

Onhan tuolla ihan vakuuttaviakin nimiä mysql.com:in user stories-osiossa, luulisi sieltä löytyvän monimutkaisempaakin rakennetta joukosta.
Kysäise Nasalta? :) Luulisi, että siellä riittää isompaakin taulurakennetta kannan käyttöön.. Eivät taida tosin hirveästi innostua kertoilemaan kantojen toimivuudesta yksityisille kyselijöille :)
Niinpä, meinasin lisätä tuohon vielä, että älkää laittako viitteitä noihin user stories osioihin vaan kertokaa omista kokemusistanne. Kiitos.
--
"See the animal in his cage that you built, are you sure what side you're on?" -- Trent Reznor
Niinpä, meinasin lisätä tuohon vielä, että älkää laittako viitteitä noihin user stories osioihin vaan kertokaa omista kokemusistanne. Kiitos.
Minoon käyttänyt aina PostgreSQL:ää ja hyvin on kelvannut. Parasta minusta Postgressä on psql-ohjelma, jolla voi kirjoittaa suoraan SQL-komentoja. En tulisi toimeen ilman sitä! Siinä on historia, eli voi kelailla komentoja vaikka viime viikolta, voi vaihtaa lennossa kannasta toiseen, vaihtaa useria, antaa oikkia, tehdä tauluja ja tietysti tarkistaa saman tien, että kirjoittikos se skripti nyt kaikki kentät oikein.

Siihen käy myös copy-paste tai tekstifailin importtaus tai sillä voi dumpata koko kannan ulos josta se voidaan palauttaa (sisältöineen) saman tien. Kätevä, erittäin hyvä. Suosittelen. Foreign keyt huolehtivat sitten siitä, ettei linkki- ym. kantoihin jää roikkumaan mitään testailuvaiheissa, ja varsinkin jos on useampi kuin yksi koodari niin tietää ettei riko toisen kantoja.
Niinpä, meinasin lisätä tuohon vielä, että älkää laittako viitteitä noihin user stories osioihin vaan kertokaa omista kokemusistanne. Kiitos.
Minoon käyttänyt aina PostgreSQL:ää ja hyvin on kelvannut. Parasta minusta Postgressä on psql-ohjelma, jolla voi <snip>
Kaikki nuo ominaisuudet löytyy myös MySQL:n mysql-rivikomennosta (portattu myös Win32-alustalle)
Kaikki nuo ominaisuudet löytyy myös MySQL:n mysql-rivikomennosta (portattu myös Win32-alustalle)
Juu kuulemma. En ole nähnyt, kuullut sitä ja psql:ää käyttäneiltä että se olisi kökömpi. En osaa sanoa itse, eikä ole tarvetta käyttääkään. Nyt kysyttiinkin kokemuksia PostgreSQL:n käytöstä.
Re: ei ainakaan vielä MySQL:stä kaupallisten tietokoantojen haastajaksi
Anonyymi kommentoija, 19.8.2002 09:27:45
Pisteet: +1
Ei MySQL vielä ainakaan kovin hyvin isoja kaupallisia tietokantoja haasta. Nykyisestä MySQL:n versiosta puuttuvat alikyselyt, jotka ovat aika tärkeitä (tosin ne on luvattu versioon 4.1, jonka ilmestymisestä ei ole tietoa). Kyllähän alikyselyt saa korvattua, mutta se on niin paljon työläämpää. Sitä paitsi todella suurilla tauluilla MySQL on hidas. PostagreSQL pystyy käsittelemään todella suuria tauluja nopeammin kuin MySQL.
Yleensä krittisissä järjestelmissä nopeus ei ole tärkein toimintakriteeri, vaan tiedon eheys. Nopeutta saa tarvittaessa raudalla (ja erityisesti Oraclen tapauksessa optimoimalla/virittämällä) , mutta datan eheys ja oikeellisuus on viimekädessä kiinni tietokantamoottorin toiminnasta. MySQL voi olla joissain tapauksissa nopeampi kuin Oracle, mutta kirjoittaako MySQL jatkuvaa lokia jokaisesta kantaan tehdystä muutoksesta, tai sisältääkö se mekanismeja, joilla voidaan palauttaa kannan data sekunnin tarkkuudella johonkin tiettyyn aikaisempaan tilaan? On sanomattakin selvää, että tällaiset piirteet vaikuttavat kyselyjen suoritusnopeuteen. Tosin MySQL nopeusetu kuihtuu taulujen kasvaessa.

Ei kannata käsittää väärin, käytän itsekin MySQL:ää pienissä webbisysteemeissä ja siihen se soveltuu erittäin hyvin. Toivottavasti kukaan ei kuitenkaan ryhdy toteuttamaan sen päälle mitään pankkisysteemejä.

My 2 cents.
Yleensä krittisissä järjestelmissä nopeus ei ole tärkein toimintakriteeri, vaan tiedon eheys. Nopeutta saa tarvittaessa raudalla (ja erityisesti Oraclen tapauksessa optimoimalla/virittämällä) , mutta datan eheys ja oikeellisuus on viimekädessä kiinni tietokantamoottorin toiminnasta. MySQL voi olla joissain tapauksissa nopeampi kuin Oracle, mutta kirjoittaako MySQL jatkuvaa lokia jokaisesta kantaan tehdystä muutoksesta, tai sisältääkö se mekanismeja, joilla voidaan palauttaa kannan data sekunnin tarkkuudella johonkin tiettyyn aikaisempaan tilaan? On sanomattakin selvää, että tällaiset piirteet vaikuttavat kyselyjen suoritusnopeuteen. Tosin MySQL nopeusetu kuihtuu taulujen kasvaessa.
Yrität kysyä, tukeeko MySQL transaktioita (eri kyselyjen jälkeen voidaankin hylätä, rollback, ne tai hyväksyä, commit).

MySQL:sta on MySQL MAX versio, jonka ainoa ero tavalliseen MySQL:ään ovat nimenomaan transaktio-ominaisuudet. MAX-versio on ilmainen, kuten tavallinenkin.

PostgreSQL:ssä transaktiot ovat olleet jo pitkään.