[J2EE] Welke databaseserver: MySQL? PostgreSQL?

Pagina: 1
Acties:
  • 275 views sinds 30-01-2008
  • Reageer

  • Eelke Spaak
  • Registratie: Juni 2001
  • Laatst online: 25-04 12:33
Allereerst nog even een gelukkig nieuwjaar allemaal :) .

Ik ben bezig met het ontwikkelen van een J2EE-applicatie die, uiteraard, ook stevig gebruik gaat maken van een databaseserver. Vanaf het begin af aan ben ik er eigenlijk vanuit gegaan dat we gebruik gingen maken van MS SQL Server; hier heb ik ook het meeste ervaring mee.

Nu is tijdens het ontwikkelproces gebleken dat er een eigen server nodig is voor deze applicatie. Het enige probleem is dan dat we alle software zelf moeten gaan aanschaffen. Vooral MS SQL Server is vrij prijzig, en daarom ben ik aan het kijken naar alternatieven. Eigenlijk zou het niet zoveel moeten uitmaken voor de applicatie volgens mij, aangezien de hele persistence laag met Hibernate wordt geregeld. Echter, in mijn ervaring ontkom je er toch niet aan om af en toe nog wat SQL-statements in je code te zetten.

Mijn vraag is: welk (gratis) DBMS raden jullie mij aan?

MySQL heeft voor zover ik weet geen referentiële integriteit en dat stoort mij zeer. Als ik naar PostgreSQL kijk lijkt mij dat een veel 'volwassener' DBMS dan MySQL: foreign keys, subqueries etc. Wat ik me afvraag is waarom PostgreSQL dan niet veel meer gebruikt wordt; is het veel trager of zo?

TheStreme - Share anything with anyone


  • Jrz
  • Registratie: Mei 2000
  • Laatst online: 25-04 10:30

Jrz

––––––––––––

pgsql.
Het wordt minder gebruikt omdat er een lange tijd geen binary win32 port was.

Ennnnnnnnnn laat losssssssss.... https://github.com/jrz/container-shell (instant container met chroot op current directory)


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Ik heb er zelf geen ervaring mee, maar je zou misschien ook eens kunnen kijken naar Derby. Dit is de nieuwe naam van de cloudscape database die voorheen van IBM was, maar nu opensource is geworden.

[edit]
link

[ Voor 18% gewijzigd door Alarmnummer op 02-01-2005 10:22 ]


  • Ploink
  • Registratie: April 2002
  • Laatst online: 19-02 13:41
Ik heb tot zover alleen mysql gebruikt, maar ik vraag me ook af waarom deze db zo veel populairder is dan postgresql.
Toen ik in de testfase botweg de steker uit een mysql server trok, was de belangrijkste tabel corrupt en was na reparatie de helft weg, en dat terwijl er alleen update queries gedaan werden op velden met een vaste lengte...
Daarna heb ik Berkely-DB tabel formaat geprobeerd omdat het veiliger zou zijn. Met enkele queries per seconde resulteerde dit in een continu geratel van de harde schijf. Uiteindelijk raakte de binaire logfile corrupt en begon de server kuren te vertonen, hij sloot client connecties niet meer af totdat ie aan de max zat en de server onbereikbaar was.
Hierbij moet ik wel zeggen dat het een oudere versie was (2 jaar geleden oid) en dat mysql draaide op windows ipv linux.

  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

MySQL heeft de performance zwaar mee.. daarom ook dat ie zo populair is, zelfs aangezien hij een aantal (belangrijke) features mist waaraan een 'goede' rdbms eigenlijk moet voldoen.
PostgreSQL heeft het op gebied van performance IMHO wat moeilijker (uit testen die ik ooit eens gedaan heb). Maar blijft een zeer goed gratis alternatief. Het feit dat er idd geen windows versie beschikbaar was, maakte PostgreSQL al een stuk minder populair.

Volgens mij kan MySQL wel aan jouw behoeften voldoen (eventueel met een ondersteuning voor InnoDB -> transacties, ed..).

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Tot versie 7.0 was PostgreSQL overigens niet zo'n erg goed alternatief, hoewel MySQL zelf ook nog niet echt geweldig was toen. Beginnend met 7.0 werd PostgreSQL eindelijk op een aantal vlakken significant beter (o.a de performance en zelfs de stabiliteit ging omhoog).
Bij PostgreSQL moet je over het algemeen wat meer moeite doen om dingen voor elkaar te krijgen. Configuratie, performance etc zijn allemaal goed tot zeer goed, maar soms is het niet direct na het installeren goed voor elkaar.
Met de laatste versies (8.0) van PostgreSQL is dat ook door de ontwikkelaars onderkend en hebben ze diverse verbeteringen aangebracht om een en ander "out of the box" beter te laten werken. Uiteraard naast de vele andere verbeteringen die het dichter in de buurt van de grote RDBMSen brengt.

Zeker als je gebruik gaat maken van een OR/Mapper is PostgreSQL een erg goede keus. MySQL is namelijk vooral sneller met de queries waarvan een goed OR/M de resultaten van cached. En juist met de complexe queries is PostgreSQL sneller of zelfs veel sneller. Een relatief eenvoudige query was bij mij voor MySQL al zo complex dat Postgres hem 10x sneller uitvoerde...
Na wat moeite doen, zoals de configuratie fatsoeneren en het gebruik van vacuum en analyze (of de auto vacuum daemon) zal met zo'n opstelling de performance van PostgreSQL prima in orde zijn.

Voor jou geldt het niet, door je MSSQL ervaring, maar sommige mensen die van MySQL-applicatie een PostgreSQL-app bouwen doen dat zonder erg goed na te denken. Queries die bij MySQL snel zijn (die kleine simpele selects) worden dan op diverse plaatsen toegepast en zo uitgevoerd dat de performance top was... En dan gaan ze vervolgens domweg de applicatie zo aanpassen dat ie in wezen alleen maar naar een ander dbms connect, zonder na te denken over een nieuwe opzet van de queries.

  • Eelke Spaak
  • Registratie: Juni 2001
  • Laatst online: 25-04 12:33
Heel erg bedankt allemaal. Vooral vanwege het verhaal van ACM (o.a. dat PostgreSQL waarschijnlijk beter aansluit op mijn MSSQL ervaring) zal ik in ieder geval niet meer voor MySQL kiezen.

Alarmnummer: Ik heb naar Derby gekeken, maar volgens mij (en volgens wat verhaaltjes die ik heb gelezen) is dat toch meer iets voor embedded gebruik in wat kleinere applicaties. Dit geld ook voor Hypersonic SQL; dat is ook een Java (embedded) DBMS.

Ik neig vooralsnog naar PostgreSQL :) .

TheStreme - Share anything with anyone


Verwijderd

eneuhm, alternatieven als sap-db en firebird komen zowiezo niet in aanmerking? Naar wat ik hoor is sap-DB een zeer goede database die ook goede java ondersteuning heeft. (of er een goed hibernate dialect is weet ik zo niet, dat zou dus een goede reden kunnen zijn...)

Verwijderd

Ligt er ook helemaal aan wat je met je DB wilt gaan doen.
is het puur de J2EE persistence laag (veel simpele selects/updates en inserts) => MySQL want lekker snel
overigens heeft MySQL vanaf 4.1.x (als je het InnoDB table type gebruikt) referentiele integriteit
, FK's en subqueries(niet alle soorten subqueries overigens)
even heel goed de specs bestuderen van MySQL versie 4.1.7+ (de huidige productie versie) voordat je een snelle beslissing maakt voor PostGreSQL

voor de ingewikkelder SQL truuken zoals triggers, stored procedures etc
is het een no-brainer => PostGreSQL,
MySQL ondersteunt dat namelijk pas in versie 5 en die is nog niet productie rijp.

vanuit bedrijfsmatig oogpunt is MySQL misschien ook interessanter i.v.m. de beter verkrijgbare commerciele support.

oh en ff
offtopic:
ken je de hibernate en [url=middlegen]middlegen[/url] combo al? ik heb het net ondekt en ik ben in luv ;)

  • ggvw
  • Registratie: September 2001
  • Laatst online: 15-12-2024
Was het trouwens niet zo dat mysql voor commerciele toepassingen geld kost? Iets van 220 euro dacht ik. Kan iemand dit bevestigen/ontkennen?
In dat geval kan je beter voor postgres gaan met de nieuwe postgres 8 die 'out of the box' direct werkt . In versie 8 hebben ze een hele goede windows ondersteuning.

Native windows distributie van postgres, zit nog wel in de beta, maar is bij mij zo stabiel als een rots
ftp://ftp.nl.postgresql.org/pub/mirror/postgresql/win32/

'Vervanger' van de enterprise manager
http://www.pgadmin.org/

wat basisinfo, het komt erop neer dat je de pg_hba.conf moet aanpassen en hierna wat gebruikers en databasejes moet aanmaken
http://dev.panopticsearch.com/postgres_microhowto.html

De mensen op het irc kanaal #postgresql op irc.freenode.net zijn erg aardig en kunnen je te hulp zijn.

  • MisterData
  • Registratie: September 2001
  • Laatst online: 09-04 12:07
ggvw schreef op maandag 03 januari 2005 @ 10:59:
Was het trouwens niet zo dat mysql voor commerciele toepassingen geld kost? Iets van 220 euro dacht ik. Kan iemand dit bevestigen/ontkennen?
Dat was volgens mij alleen als je MySQL met je product distribueerde :)

Verwijderd

zoek eens voor de gein naar MSDE, misschien is dat wat voor je.. 't is de gratis variant van ms sql.
http://www.microsoft.com/sql/msde/default.asp

het mist geloof ik alleen een manager ofzo, maar daar heb je ook alternatieven voor, dbamgr

ik zelf ben er niet zo thuis in, maar ik hoop dat je hier wat aan heb

  • Eelke Spaak
  • Registratie: Juni 2001
  • Laatst online: 25-04 12:33
Verwijderd schreef op zondag 02 januari 2005 @ 18:24:
eneuhm, alternatieven als sap-db en firebird komen zowiezo niet in aanmerking? Naar wat ik hoor is sap-DB een zeer goede database die ook goede java ondersteuning heeft. (of er een goed hibernate dialect is weet ik zo niet, dat zou dus een goede reden kunnen zijn...)
sap-DB heet inmiddels MaxDB, en als ik op die site ga kijken, lijkt het mij gewoon hetzelfde als MySQL, maar dan met mogelijkheid tot commerciële licentie (à € 1500).

Firebird heeft volgens mij een prima JDBC-driver Jaybird (met XADataSource implementaties), maar PostgreSQL heeft weer betere administratie faciliteiten beschikbaar. Verder ondersteunt PostgreSQL meer SQL :) . Voeg daar nog aan toe dat de nieuwste versie van de JDBC-driver ook XADataSources gaat ondersteunen en inmiddels al in beta is, lijkt me dat een goede keus. Ik moet wel toegeven dat Firebird waarschijnlijk ook prima zou voldoen.

offtopic:
ReSc: Ja, die combo ken ik en ik maak er ook gretig gebruik van :) . Werkt als een trein als je liever eerst een databaseschema schetst i.p.v. 'saaie' Plain Old Java Objects inklopt.

TheStreme - Share anything with anyone


  • Eelke Spaak
  • Registratie: Juni 2001
  • Laatst online: 25-04 12:33
Verwijderd schreef op maandag 03 januari 2005 @ 11:37:
zoek eens voor de gein naar MSDE, misschien is dat wat voor je.. 't is de gratis variant van ms sql.
http://www.microsoft.com/sql/msde/default.asp

het mist geloof ik alleen een manager ofzo, maar daar heb je ook alternatieven voor, dbamgr

ik zelf ben er niet zo thuis in, maar ik hoop dat je hier wat aan heb
Ja MSDE ken ik, maar die is niet geschikt voor deze applicatie. De naam (Desktop Engine) zegt het al een beetje: hij is perfect voor gebruik in desktopapplicaties als Davilex Business etc., maar voor Enterprise apps is hij niet bedoeld.

Toch bedankt :) .

TheStreme - Share anything with anyone


  • MrBarBarian
  • Registratie: Oktober 2003
  • Laatst online: 07-03-2023
Ik zou voor een J2EE oplossing nooit kiezen voor een DB van MS. Mijn ervaring is dat deze niet echt geweldig worden ondersteunt door de verchillende lagen (hibernate enz enz)..

iRacing Profiel


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

MrBarBarian schreef op maandag 03 januari 2005 @ 11:46:
Ik zou voor een J2EE oplossing nooit kiezen voor een DB van MS. Mijn ervaring is dat deze niet echt geweldig worden ondersteunt door de verchillende lagen (hibernate enz enz)..
Ik ben wel geen expert op het gebied van het gebruik van databases. Maar de afgelopen projecten heb ik met ms sql gewerkt icm Java en dat is me erg goed bevallen. En we werken verder met hibernate :)

[ Voor 4% gewijzigd door Alarmnummer op 03-01-2005 11:51 ]


Verwijderd

Eelke Spaak schreef op maandag 03 januari 2005 @ 11:41:
[...]

sap-DB heet inmiddels MaxDB, en als ik op die site ga kijken, lijkt het mij gewoon hetzelfde als MySQL, maar dan met mogelijkheid tot commerciële licentie (à € 1500).
héhé, die zit denk'k toch ferm fout. (ik wil je nergens heen pushen, ik ben geen DB expert natuurlijk ;)) maar SAP-DB ondersteund triggers, .. (zie http://www.mysql.com/products/maxdb/features.html ). En daar heb je naar het schijnt ook goede management tools voor...de site van Hibernate zegt dat hibernate er goed op werkt (user comments ergens)


/me zit op een heel groot project waar alle beslissingen 3 jaar geleden genomen zijn en waar nog 2 jaar mee/aan verder gewerkt zal worden. Het lijkt hem wel interessant kortere projectjes te hebben en telkens opnieuw zulke dingen te kunnen evalueren.... Dus mijn opmerking is puur vanuit de hoogte gegeven, ik heb met geen van allen professioneel gewerkt.

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 18-04 05:37

alienfruit

the alien you never expected

Volgens mij Firebird toch een afgeleidde van InterBase? Bij mijn weten is dat nog steeds een behoorlijk krachtige database server... wat ondersteunt Firebird niet, wat PostgreSQL wel ondersteunt?

Verwijderd

De gedwongen referentiële integriteit in PostgreSQL is zeker mooi, maar ik heb er wel problemen mee gehad, omdat deze functie de boel enorm vertraagde. In een systeem waar verschillende applicaties periodiek gegevens aan de database toevoegden kwam het nogal eens voor dat de controle op integriteit te langzaam was, waardoor verschillende processen uiteindelijk op elkaar bleven wachten waardoor alles in de soep liep. Dit was zowel bij de Windows-port als de Linux versie het geval, hoewel het probleem bij de Linux versie een stuk later optrad. Na het verwijderen van de referentiële integriteit liep alles wel zonder problemen.

Het voordeel van PostgreSQL boven MySQL vind ik het gebruik van procedurele talen als PL/pgSQL.

  • Onno
  • Registratie: Juni 1999
  • Niet online
Verwijderd schreef op maandag 03 januari 2005 @ 15:23:
In een systeem waar verschillende applicaties periodiek gegevens aan de database toevoegden kwam het nogal eens voor dat de controle op integriteit te langzaam was, waardoor verschillende processen uiteindelijk op elkaar bleven wachten waardoor alles in de soep liep. Dit was zowel bij de Windows-port als de Linux versie het geval, hoewel het probleem bij de Linux versie een stuk later optrad. Na het verwijderen van de referentiële integriteit liep alles wel zonder problemen.
Als het pas na een tijdje optreedt heb je waarschijnlijk of geen geschikte indices, of is je database aan een grondige vacuum-beurt toe. Natuurlijk kost het controleren tijd, maar die tijd zou wel redelijk constant moeten zijn.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

alienfruit schreef op maandag 03 januari 2005 @ 14:33:
Volgens mij Firebird toch een afgeleidde van InterBase? Bij mijn weten is dat nog steeds een behoorlijk krachtige database server... wat ondersteunt Firebird niet, wat PostgreSQL wel ondersteunt?
Ik heb o.a. op de mailinglist die vraag wel eens beantwoord zien worden. Het lijstje verbaasde me eigenlijk nog wel een beetje, die was helemaal niet zo kort. Magoed, ik zou niet echt weten wat voor keywords er gebruikt moeten worden behalve de triviale (postgresql vs firebird ;) ) om die mailinglistpostings weer terug te zoeken.
Verwijderd schreef op maandag 03 januari 2005 @ 15:23:
Dit was zowel bij de Windows-port als de Linux versie het geval, hoewel het probleem bij de Linux versie een stuk later optrad. Na het verwijderen van de referentiële integriteit liep alles wel zonder problemen.
Zoals Onno al expliciet aangaf en ik al eerder impliciet. Bij PostgreSQL zul je moeite moeten doen om het onderhoud goed te regelen, zodra de boel serieus gebruikt wordt. Soms is dat vervelend, soms is dat handig. MySQL heeft het minder nodig (lijkt het), maar heeft dan vooral voor InnoDB weer vrijwel geen mogelijkheden om uberhaupt het onderhoud te plegen dat je met reindex en vacuum/analyze in PostgreSQL wel kan doen.
En om in het geval waar je bij PostgreSQL een vacuum full nodig hebt, in MySQL dan maar de database te dumpen en opnieuw in te laden in nieuwe datafiles?? (wat wij dus, gelukkig maar 1x, serieus een keer hebben moeten doen om de performance weer op niveau en het dataverbruik weer normaal te krijgen)

  • Xochiquetzal
  • Registratie: Oktober 2000
  • Laatst online: 16-04-2025
Ik vroeg me af of de informatie in dit topic nog steeds relevant is. Ben namelijk op het moment zelf aan het onderzoeken wat 't beste is voor een klein bedrijfje.

Verwelkom wat je niet kunt vermijden.


  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Ik denk het wel ja.

Er zijn echter wel 2 veranderingen gebeurt waarmee je rekening kan houden, en dat is 1) dat MySQL versie5 gereleased heeft, waarin heel wat essentiele missing features zitten. en 2) dat Oracle op de markt is gekomen met een gratis versie van zijn database (voorlopig nog beta, zal tegen het einde van dit jaar wel volledig beschikbaar zijn).

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

En nog wat, Postgresql is met 8.0 en zeker met de aankomende 8.1 weer een stuk onderhoudsvriendelijker. Reindex is minder nodig en de autovacuum daemon neemt het vervelende inplannen van de vacuums uit handen.
Daarnaast is Postgresql in beide versies sneller geworden en biedt het op een aantal punten daardoor nog meer performance winst tov mysql. Postgres kan nu (in 8.1) bijvoorbeeld indexen combineren voor delen van de queries, waar ie dat eerder maar heel beperkt kon en mysql nog altijd maar tot 1 index beperkt is per tabel in de query.

  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

ACM schreef op donderdag 03 november 2005 @ 15:25:
En nog wat, Postgresql is met 8.0 en zeker met de aankomende 8.1 weer een stuk onderhoudsvriendelijker. Reindex is minder nodig en de autovacuum daemon neemt het vervelende inplannen van de vacuums uit handen.
Daarnaast is Postgresql in beide versies sneller geworden en biedt het op een aantal punten daardoor nog meer performance winst tov mysql. Postgres kan nu (in 8.1) bijvoorbeeld indexen combineren voor delen van de queries, waar ie dat eerder maar heel beperkt kon en mysql nog altijd maar tot 1 index beperkt is per tabel in de query.
Wat bedoel je precies met vacumeren en autovacuum?
Kan ik dat zien als het resetten van de high-water-mark?

  • jochemd
  • Registratie: November 2000
  • Laatst online: 29-12-2025

  • Eelke Spaak
  • Registratie: Juni 2001
  • Laatst online: 25-04 12:33
Het project waarvoor ik dit topic oorspronkelijk heb gestart is inmiddels aardig onderweg en ik kan je vertellen dat PostgreSQL prima voldoet! Wij gebruiken momenteel versie 8.0, maar v8.1 ondersteunt XA data sources en dat is in de JEE wereld toch wel prettig (distributed transactions etc.) als je met méér dan alleen de database wil communiceren vanuit je application server. Daarom is het niet ondenkbaar dat we binnenkort gaan switchen naar pSQL v8.1.

TheStreme - Share anything with anyone


  • Jrz
  • Registratie: Mei 2000
  • Laatst online: 25-04 10:30

Jrz

––––––––––––

pg-alltheway...

Ennnnnnnnnn laat losssssssss.... https://github.com/jrz/container-shell (instant container met chroot op current directory)


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Ik heb zelf 1 project met PostgresSql gedaan en ik vond het wel ok werken. Alleen de tooling die ik tot zover heb gebruikt vond ik nogal teleurstellend (zeker als je het vergelijkt met Ms Sql). Het wil er mee door voor kleine projecten, maar als je wat database onderhoud moet doen, dan vind ik de tools totaal niet toerijkend. Dus mensen die met PostgresSql werken: welke tools gebruiken jullie erbij?

[ Voor 6% gewijzigd door Alarmnummer op 04-11-2005 19:50 ]


  • Eelke Spaak
  • Registratie: Juni 2001
  • Laatst online: 25-04 12:33
Alarmnummer schreef op vrijdag 04 november 2005 @ 19:49:
Ik heb zelf 1 project met PostgresSql gedaan en ik vond het wel ok werken. Alleen de tooling die ik tot zover heb gebruikt vond ik nogal teleurstellend (zeker als je het vergelijkt met Ms Sql). Het wil er mee door voor kleine projecten, maar als je wat database onderhoud moet doen, dan vind ik de tools totaal niet toerijkend. Dus mensen die met PostgresSql werken: welke tools gebruiken jullie erbij?
Ik gebruik gewoon pgAdmin erbij. MS SQL heb ik ook mee gewerkt voor een aantal projecten en ik moet toegeven dat Enterprise Manager inderdaad een superieure tool is.

TheStreme - Share anything with anyone


  • jochemd
  • Registratie: November 2000
  • Laatst online: 29-12-2025
psql

Verwijderd

Ook bij firebird zijn ze ondertussen met versie 2 aan het stoeien. Er wordt weer wat meer SQL ondersteund en ook de performance is wat verbeterd.

Oftewel alle databases gaan vooruit en de keuze wordt alleen maar moeilijker.

  • JaQ
  • Registratie: Juni 2001
  • Laatst online: 23:44

JaQ

ik gebruik gewoon psql, maar ik ben dan ook geen full-time java programmeur (meer hobbymatig). Databases en bijbehorende (web)servers zijn wel mijn vak, dus een sql prompt doet me meer goed ;)

Overigens is Oracle XE best een leuke optie. Een korte analyse leverde mij dit op:
- Geen Oracle Universal Installer maar InstallShield
- Standaard database XE wordt aangemaakt door Installer
- Harde limiet van user tabelspace tot 4GB (excl system,undo,temp,redolog, ergo: echte opslagruimte)
- Standaard wordt HTMLDB 2.1 geinstalleerd in de database
- Webinterface voor beheer (minimaal, extra menu optie binnen HTMLDB)
- Geen windows versie van SQL*Plus (wel een dos versie)
- Geen Java Bases assistants zoals NetManager & DBCA
- Installatie kost maar 220 Mb (excl database)
- 1 installatie per machine

Ondanks de beperkingen dus wel alle voordelen die Oracle bied.

Egoist: A person of low taste, more interested in themselves than in me


  • matthijsln
  • Registratie: Augustus 2002
  • Laatst online: 20-04 15:44
Ik gebruik ook het liefst postgresql; snelheid en SQL-features zijn gewoon goed en werkt ook fijn op windows. De pgAdmin tool die erbij zit is best ok, ik gebruik hem veel liever dan phpmyadmin wat mij echt op de zenuwen werkt (of is er ook een MS SQL Enterprise Manager-achtige tool voor mysql die geen troep is dan?).

Als je masochistische neigingen hebt kan ik trouwens van harte Oracle 10g aanraden! Is je bloeddruk te laag of werkt je computer te snel is dat met Oracle zo verholpen.

Verwijderd

ACM schreef op maandag 03 januari 2005 @ 23:51:
[...]

Ik heb o.a. op de mailinglist die vraag wel eens beantwoord zien worden. Het lijstje verbaasde me eigenlijk nog wel een beetje, die was helemaal niet zo kort. Magoed, ik zou niet echt weten wat voor keywords er gebruikt moeten worden behalve de triviale (postgresql vs firebird ;) ) om die mailinglistpostings weer terug te zoeken.
Is vast ook nog wel relevant.
Misschien handig om te weten voor welk platform de databaseserver nodig is.
MySql draait niet-native op win32. Idem voor Postgresql (ik dacht dat hier wel verandering in zou komen, of is het eral?)
Firebird draait wel native onder win32.

Performance kan dus weldegelijk verschillen op een ander platform.

  • JaQ
  • Registratie: Juni 2001
  • Laatst online: 23:44

JaQ

matthijsln schreef op vrijdag 04 november 2005 @ 22:27:
Als je masochistische neigingen hebt kan ik trouwens van harte Oracle 10g aanraden! Is je bloeddruk te laag of werkt je computer te snel is dat met Oracle zo verholpen.
Ok, ik hap (moet toch om de aandelen denken :+)

Ten eerste draai jij je productie software altijd op een werkstation en ten tweede weet je dus blijkbaar erg goed hoe je een database moest configureren (balletje gaat terug ;)).

Als je de db_cache_size, java_pool_size en shared_pool_size parameters eens een beetje bewerkt, dan kan je oracle in ongeveer 80 MB memory laden. (+ een 1 of 2 MB per sessie). Dat is meer dan bijvoorbeeld mysql, maar je hebt het ook over iets heel anders. Dat is ongeveer *zuigt aan duim en gokt hoog...* 30% van de java IDE die je gebruikt?

Egoist: A person of low taste, more interested in themselves than in me


  • jochemd
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Verwijderd schreef op vrijdag 04 november 2005 @ 23:08:

MySql draait niet-native op win32. Idem voor Postgresql (ik dacht dat hier wel verandering in zou komen, of is het eral?)
Firebird draait wel native onder win32.
Ik vraag me af welke definitie van 'native' jij gebruikt want volgens de gebruikelijke definitie (geen aparte compatibility layer hoeven te installeren omdat de native Windows APIs worden gebruikt) bestaan van alle 3 native Windows versies. Je zou eventueel van MySQL nog kunnen beargumenteren dat die geen native Windows versie heeft omdat er een cygwin.dll meegeleverd werd, maar daar merk je echt niets van in het gebruik omdat die gewoon in de distributie zit.

Verwijderd

jochemd schreef op zaterdag 05 november 2005 @ 10:35:
[...]

Je zou eventueel van MySQL nog kunnen beargumenteren dat die geen native Windows versie heeft omdat er een cygwin.dll meegeleverd werd, maar daar merk je echt niets van in het gebruik omdat die gewoon in de distributie zit.
Dat is toch echt een duidelijk geval wat betreft non native zijn. Dat je er niets van merkt is namelijk geen criterium. Wél dat api calls van het ene OS worden omgezet naar die van een ander OS. En dat is bij MySQL schijnbaar het geval. (Dat is tenslotte de functie van cygwin)

Maar waar je gelijk in hebt is of dat "native draaien" zo ontzettend relevant is. Relevant is in mijn ogen meer of het stabiel,betrouwbaar en snel werkt. Niet zozeer hóe het werkt.

  • jochemd
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Verwijderd schreef op zaterdag 05 november 2005 @ 23:08:

Dat is toch echt een duidelijk geval wat betreft non native zijn. Dat je er niets van merkt is namelijk geen criterium. Wél dat api calls van het ene OS worden omgezet naar die van een ander OS.
POSIX is geen OS.

Maar dan neem ik aan dat je Oracle ook non-native vind. Oracle heeft tenslotte een compleet eigen filesystem dat volledig voorbij gaat aan het OS. Om nog maar te zwijgen van de eigen threading library in plaats van die van Windows. Feitelijk simuleert Orace intern zelf een half OS.

  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

DrFrankenstoner schreef op vrijdag 04 november 2005 @ 22:26:
ik gebruik gewoon psql, maar ik ben dan ook geen full-time java programmeur (meer hobbymatig). Databases en bijbehorende (web)servers zijn wel mijn vak, dus een sql prompt doet me meer goed ;)

Overigens is Oracle XE best een leuke optie. Een korte analyse leverde mij dit op:
- Geen Oracle Universal Installer maar InstallShield
- Standaard database XE wordt aangemaakt door Installer
- Harde limiet van user tabelspace tot 4GB (excl system,undo,temp,redolog, ergo: echte opslagruimte)
- Standaard wordt HTMLDB 2.1 geinstalleerd in de database
- Webinterface voor beheer (minimaal, extra menu optie binnen HTMLDB)
- Geen windows versie van SQL*Plus (wel een dos versie)
- Geen Java Bases assistants zoals NetManager & DBCA
- Installatie kost maar 220 Mb (excl database)
- 1 installatie per machine

Ondanks de beperkingen dus wel alle voordelen die Oracle bied.
Oracle is één van mijn favoriete databases, waarschijnlijk ook omdat ik er het meeste van ken. Dus voor mij gaat deze XE zéker een optie zijn. Die 4GB limiet voor een tablespace is échtwel voldoende voor de kleine tot middelgrote projecten. Indien deze niet meer voldoende zou zijn, denk ik dat een upgrade wel toepasselijk zou zijn. Ik neem aan dat je ook meerdere tablespaces mag gebruiken in die 4GB?

Zou het mogelijk zijn om meerdere oracle instances te draaien op dezelfde machine?
Ik vermoed van niet

Verwijderd

jochemd schreef op zondag 06 november 2005 @ 00:35:
[...]
POSIX is geen OS.

Maar dan neem ik aan dat je Oracle ook non-native vind. Oracle heeft tenslotte een compleet eigen filesystem dat volledig voorbij gaat aan het OS. Om nog maar te zwijgen van de eigen threading library in plaats van die van Windows. Feitelijk simuleert Orace intern zelf een half OS.
[off topic]

Cygwin:
# Cygwin is a Linux-like environment for Windows. It consists of two parts: A DLL (cygwin1.dll) which acts as a Linux API emulation layer providing substantial Linux API functionality. # A collection of tools, which provide Linux look and feel.

Dus zeer vergelijkbaar met bv Wine:
Think of Wine as a compatibility layer for running Windows programs. Wine does not require Microsoft Windows, as it is a completely free alternative implementation of the Windows API consisting of 100% non-Microsoft code, however Wine can optionally use native Windows DLLs if they are available.

Geloof ik dat windows programma's die via wine op linux gebruikt kunnen worden native lunix applicaties zijn? Nee :) Geloof ik dus dat Linux applicaties die via Cygwin op windows gebruikt kunnen worden windows applicaties zijn. Ook niet.

Cygwin != Posix (voor de duidelijkheid) en Windows NT voldeed zelfs aan de Posix.1 standaard. Voor windows XP/2003 kun je een superset van het windows Posix subsysteem installeren genaamd "Windows Services for UNIX " Maar ook Posix is niet de native Operating System Interface voor Windows (goh) en ook Posix programma's zijn dus geen native windows applicaties.

Wat Oracle hiermee te maken heeft ontgaat mij volledig Oracle voegt eigen functionaliteit toe aan windows en gebruikt daarbij bepaalde subsystemen niet omdat die niet voldoen aan de wensen. Net zoals Microsoft Word geen gebruik maakt van Notepad voor de tekstinvoer. Maar zowel Word als Oracle maken wel gewoon direct gebruik van de windows API.

Ik snap trouwens het probleem niet. MySQL is geen native windows applicatie. So What? Het werkt. En voor velen zelfs goed genoeg om te gebruiken.

[/off topic]

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 23-04 02:19
Jan Klaasen: jouw commentaar geldt precies ook voor Cygwin, die POSIX-functionaliteit toevoegt die niet standaard in Windows zit. MySQL gebruik Cygwin's compatibility layers, Oracle's DBMS gebruikt Oracle's eigen compatibility layers. Sterker nog, de reden dat Oracle zo bloated is, is juist dat ze alles abstraheren van het host-OS. Het is echt flauwekul om dan Oracle wel native te noemen en MySQL niet, terwijl beide applicaties van een abstractielaag uitgaan.

Met je conclusie ben ik het wel eens: als een compatibility layer geen belachelijke performance hit oplevert of het installeren van grote extra libraries vereist, maakt het niet uit.
Xochiquetzal schreef op donderdag 03 november 2005 @ 13:25:
Ik vroeg me af of de informatie in dit topic nog steeds relevant is. Ben namelijk op het moment zelf aan het onderzoeken wat 't beste is voor een klein bedrijfje.
Zoals anderen al aangaven zijn de verschillen kleiner geworden, maar niet verdwenen:
• PostgreSQL heeft nog steeds meer features;
• MySQL is nog steeds sneller (en databases zijn kleiner).
Je hoeft MySQL zeker niet (meer) te vermijden uit angst voor tabelcorruptie, denk ik, en MySQL 5 heeft ook wel een aantal wat geavanceerdere features (zoals subqueries). Voor het schrijven van eigen plug-ins (custom query-algoritmen enzo) en het toevoegen van eigen datatypen is PostgreSQL wel veruit superieur.

[ Voor 39% gewijzigd door Soultaker op 06-11-2005 15:58 ]

Pagina: 1