"Als je zonodig subqueries en stored procedures wilt gebruiken moet je maar een andere database pakken."
Wat is dat nu voor een fatalistisch argument? Als jij zo'n mooie JOIN zit te tikken die er vervolgens 3 seconden over doet om te draaien, heb jij dan nooit zoiets van "verdomme waarom doet MySQL niet gewoon subqueries, dan was ik zo klaar"? Jij gaat gewoon lekker zitte kloppen en accepteert dat het nu eenmaal zo is?
"Vaak kun je er ook gewoon omheen programmeren, maar ik krijg de indruk dat sommige personen daar een onnodig groot probleem van maken."
ARG! Hier kan ik echt slecht tegen

Je gaat toch niet database functionaliteit in je applicatie zitten bouwen? Dat is toch gekkenwerk man. Je gaat toch je applicatie niet ingewikkelder maken omdat de database die je gebruikt iets niet kan terwijl vrijwel alle andere databases het wel kunnen? Dan ga je toch op zoek naar een betere database?
"InnoDB is al enige tijd een standaard onderdeel van MySQL."
Het wordt standaard meegeleverd, omdat zoveel klanten vroegen hoe ze InnoDB moesten installeren. Het wordt nog niet standaard gebruikt.
"Voor zover ik heb begrepen moet je voor replicatie (vaak commerciële) third-party add-ons gebruiken."
Ik vertel je dus net dat dat niet zo is.
"MySQL presteert trouwens uitstekend onder hoge loads als je de InnoDB storage engine gebruikt (met row-level locking). MyISAM tabellen doen het ook prima onder een hoge load zolang er niet veel mutaties van de database zijn."
Dit wordt een wellis niettes verhaal. Mijn ervaring met MySQL is dat het breekt onder hoge belasting. Jouw ervaring is, gelukkig voor jou, anders.
"In onze database helpt het behoorlijk."
hehe, in onze database schelen de stored-procedures, functions, triggers, partial-indexes, functional indexes en subqueries nog veel meer, niet alleen in snelheid, maar ook in ontwikkeltijd. Onze databases hebben nooit orphan records, hoe debiel de programmeur ook tekeer gaat.
"Als er echt veel klanten (betalende gebruikers) naar stored procedures zouden vragen, zou er wel meer prioriteit aan gegeven worden."
Was dat maar waar, luisterde MySQL maar naar haar klanten. MySQL heeft er gewoon geen zin in of geen resources voor. MySQL stelt nu eenmaal vreemde prioriteiten, zoals snelheid. MySQL heeft in MyISAM de PK/FK relaties er aan gegeven omdat het sneller is zonder. Dat daarmee je database een onsamenhangende brij kan worden dat boeit blijkbaar niemand.
"Het is goed denkbaar dat de klanten van MySQL een vergelijkbare mentaliteit ten aanzien van stored procedures hebben als MySQL zelf,
namelijk dat je de functionaliteit ook grotendeels in eigen software kunt oplossen."
Ik hoop echt dat dat niet het geval is. Als de grote massa die MySQL gebruikt echt zo denkt dan is het diep triest gesteld met de wereld.
"Waar het om gaat is dat PostgreSQL (net zoals MySQL trouwens) nog features en support mist om met de grote spelers mee te doen in het high-end segment."
PostgreSQL kun je nog net niet als een drop-in replacement voor Oracle gebruiken, maar het zit er heel erg veel dichter bij dan MySQL.
MySQL is veel en veel te vergevend om ooit Oracle te kunnen concurreren. Oracle is erg strict en zal koste wat kost voorkomen dat jij foute data in je database stopt. MySQL helpt je graag bij het invoeren van foute data.
"Ondanks het ontbreken daarvan heeft MySQL nu al een veel betere acceptatie in grote bedrijven."
Moet je wel onthouden dat de enige reden dat MySQL wordt geaccepteert is dat iedereen wel eens van MySQL heeft gehoord. Elke werknemer draait het thuis en kan ermee overweg en dus "is het een goed product".
Als je de features van MySQL vergelijkt met PostgreSQL (of interbase of sybase) dan schuif je MySQL echt lachend opzij als een hopeloos onbruikbaar speledingetje.
"Toch zijn er bedrijven die vinden dat Windows een betere oplossing voor hen is."
Er zijn altijd uitzonderingen, maar denk je dat MySQL zijn populariteit te danken heeft aan een handjevol bedrijven die perse windows willen draaien?
"Adverteren doen ze niet."
Ah, dan zullen die banners op tweakers en PFZ wel illusie zijn geweest.
"maar ook om het beheren van users en het optimaliseren van de server. Dat is bij MySQL allemaal erg eenvoudig en relatief goed gedocumenteerd,"
Net als bij _elke_ andere database.
"en er is veel kennis bij andere gebruikers."
Net als bij _elke_ andere database.
"De commerciële support (direct van de maker, zoals de meeste bedrijven dat het liefst zien) is bij MySQL zonder twijfel beter geregeld dan bij PostgreSQL."
Klopt, PostgreSQL is niet commercieel, je kunt geen supportcontract afsluiten met de makers, maar wel met 3d parties.
"Het zal een kwestie van prioriteiten zijn. Nu clustering af is komt er wellicht weer wat meer vaart in de ontwikkeling van 4.1."
Denk je? Ik denk eerder dat ze na introductie van clustering een hele hoop herrie krijgen van de nieuwe cluster-gebruikers over het ontbreken van al die elemantaire zaken zoals triggers en dat ze 4.1 dan gewoon stoppen en doorgaan met 5. Dat geeft ze weer een paar jaar de tijd om al die elementaire dingen door te voeren.
"Dat MySQL 5 nu al als development preview is vrijgegeven is alleen maar handig voor mensen die nieuwe features willen uitproberen."
Het is een alpha, dat geef je niet vrij. Beta's geef je vrij omdat die semi-stabiel zijn. Alpha's houd je voor jezelf want die kunnen de broel nog behoorlijk laten crashen.
MySQL moet snel volwassen worden want ze proberen steeds verder in de professionele tak door te dringen en ze komen steeds dichter bij de mensen die wel weten wat databases zijn en wat databases horen te kunnen. En de huidige MySQL versies voldoen dan gewoon niet. Geen enkele ervaren database gebruiker zal bv accepteren dat hij zelf in zijn applicatie moet gaan voorkomen dat er te lange waardes in een kolom komen. Elke ervaren database gebruiker wil subqueries, triggers, functions, en de grote database gebruikers (honderden miljoenen records) die willen echt perse functional indexes en partial indexes, anders duren hun queries weken ipv dagen.