Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 36 reacties
Bron: MySQL

De alombekende Open Source database MySQL, waar onder andere tweakers.net op draait is eindelijk stabiel verklaard. Het heeft bijna twee jaar geduurd sinds 3.22, die in januari 1999 stabiel werd verklaard. Naast dat het programma natuurlijk een stuk stabieler is geworden, heeft MySQL 3.23 ook een aantal grotere features erbij gekregen die niet te vinden waren in 3.22 of 3.21. De hoofd-ontwikkelaar Michael "Monty" Widenius en de rest van het MySQL development team gaan zich nu concentreren op versie 4.0. Hieronder een gedeelte uit het artikel:

Below is a list of the major new features in MySQL 3.23:

  • New Table Handlers
    • MyISAM is a new SQL tuned ISAM library. MyISAM is the now the default for MySQL tables (MySQL 3.23 is still backwards compatible with ISAM). MyISAM provides increased performance and support for 64bit OS's (thus supporting large files).
    • BDB is the Berkeley Database table type. BDB adds support for SQL transactions (COMMIT, ROLLBACK). Thus allowing BDB tables to survive crashes. BDB tables also support page-level locking.
    • HEAP tables are new in-memory table types. They can be used for extremely fast look-up tables.
    • MERGE tables are a collection of identical MyISAM tables that can be used as one for SELECT, DELETE, UPDATE statements. MERGE tables can help you manage a set of large log tables -- helping to bypass many constraints associated with large tables.
    Any of these table types can be mixed and matched for use in MySQL 3.23 (specified at the CREATE TABLE ... TYPE=" rel="external">MYISAM, BDB, HEAP, MERGE SQL statement). This gives Database Administrators the option to have the most optimized database setup to suit their specific needs.
  • Replication
    One way replication can be used is to increase both robustness and speed. For robustness two (or more) systems can used to switch to a backup server if you have problems with the master. The extra speed is achieved by sending part of the non-updating queries to the replica server.

    Replication can also benefit database backup operations. Live backups of the system can be done on a slave instead of a master, eliminating potential problems and possible downtime.
  • Full-text Search
    MySQL 3.23 now has full-text indexing and searching capabilities. This allows you to search your vast databases of textual information, with queries returning search string occurrence/relevance.
  • Online Table Maintenance
    MySQL 3.23 now incorporates many of the table maintanence features of the (previously only external) utilities `(my)isamchk' directly into the MySQL server.

    The use of these newly incorporated features can help to eliminate system downtime, by allowing the Database Administrator to repair damaged tables without shutting-down the MySQL server.

Martin Sturm was de eerste die ons hiervan op de hoogte bracht.

Moderatie-faq Wijzig weergave

Reacties (36)

Mja MySql roelt gewoon! Vorige week las ik dit nog:

NASA switches from Oracle to MySQL

In November a team at NASA's Marshall Space Flight Center finished the transition of the NASA Acquisition Internet Service (NAIS) from Oracle to MySQL. NAIS sends e-mail notifications to users based on specified interests and enables users to query the Web site (nais.nasa.gov) for updated opportunities.

Dwight Clark, project leader of NAIS, claims to have noticed an increase in speed of performance without experiencing any problems.

The switch to Open Source software was primarily driven by costs, and MySQL was found to be the most robust product available. The President's Information Technology Advisory Committee recommended in September that the federal government encourage open-source software as an alternative for software development for high-end computing and allow open-source development efforts to compete on a 'level playing field' with proprietary solutions in government procurements.

source: www.MySql.com
article: http://www.mysql.com/news/article-51.html

Read the whole story at Federal Computer Week:

www.fcw.com/fcw/articles/2000/1204/pol-nasa-12-04-00.asp
The NAIS team already was investigating open-source relational database software when Oracle started to restructure its license agreements with NASA in a way that would be cost-prohibitive for the organization, said John Sudderth, senior computer scientist with Computer Sciences Corp., a contractor for NAIS. NAISí annual budget is about $300,000.
Dat zegt toch niets? Er staat ook duidelijk bij dat het besluit met name bepaald is door financiele motieven, het lijkt me ook logisch dat als je een simpel iets hebt je er niet met een enorm duur pakket als oracle tegen gaat gooien.
Allemaal leuk en aardig, maar het is nog steeds geen fatsoenlijke database. Leuk databaseje voor je eigen huis en tuin gepruts, maar als je meer dan 5 tables hebt, dan loop je tegen iets zeer pijnlijks aan. Waar is de recursieve select ???? Nop, nee meneer daar zijn we nog niet aan toe. Dat maakt het leven nou niet echt geslaagd in mysql en zo zijn er nog een paar kleine zaken (b.v. het ontbreken van views).

Ik snap natuurlijk ook wel dat zoiets tijd kost, maar naar een jaar of 3 had ik toch meer verwacht ;(
Hier wil ik toch even op reageren.
Ok, subquery's kent MySQL niet, maar ze hebben in deze nieuwe versie wel de TEMPORARY tabellen geinstroduceerd. En dat is volgens mij een aardige oplossing van het missen van subquery's.

Probeer het maar eens. Het staat duidelijk uitgelegd in de erg goede documentatie van MySQL.
Corrigeer me als ik verkeerd zit, maar volgens mij heb je daar weinig aan. Een table (ook een tempory) wordt aangemaakt in de tablespace en niet in de connection space. M.a.w. als ik 10 gebruikers tegelijkertijd op mijn DB heb prutsen dan kom in problemen met de naamgeving van mijn tables en zal de ene gebruiker ineens het resultaat kunnen krijgen van een andere query. Als dit niet het geval is, dan is het inderdaad een leuke workaround, alleen dat je genoeg geheugen (RAM) moet hebben zet te denken ....
corrigeer dan maar:
quote uit mysql manual
"In MySQL Version 3.23, you can use the TEMPORARY keyword when you create a table. A temporary table will automatically be deleted if a connection dies and the name is per connection. This means that two different connections can both use the same temporary table name without conflicting with each other or with an existing table of the same name. (The existing table is hidden until the temporary table is deleted)."
MySQL is inderdaad een hele fijna database om mee te werken. Tis puur een keuze of je MySQL of Sybase gebruikt, als gebruiken meer mensen MySQL gok ik zo?

Maar es kijken of die verbeteringen het waard zijn om up te graden :Y)
Verschil is dat MySQL gratis en open source is, en Sybase duizenden guldens kost, toch?
edit:

Ah, ok, voor commercieel gebruik moet je dus een licentie betalen. Weer wat geleerd, thanks.
Ah, ok, voor commercieel gebruik moet je dus een licentie betalen. Weer wat geleerd, thanks.
Euh, dat hangt er sterk van af wat je "commercieel gebruik" noemt. Je moet eens goed lezen: zelfs als je een commerciele web-applicatie schrijft, is MySQL volledig GRATIS :9 Je moet enkel een licentie opnemen, als je een programma VERKOOPT waarin je op ESSENTIELE WIJZE MySQL gebruikt. Fijn fijn...
Uhh.. dacht het niet.. wij gebruikten Sybase op Linux en hebben dat gewoon gedownload.. anders hebben we een probleempje ;)
De versies van de grote jongens alla Oracle en Sybase zijn gratis te downloaden voor development. Op het moment dat je support wilt (lees de docs, of de maillinglist), heb je een licentie nodig. Dit geldt natuurlijk ook als je je database wil deployen/commercieel wilt gaan gebruiken. Dus "gratis" is nogal relatief ;)
daartegenover staat wel weer dat MySQL platform onafhankelijk is en ook nog eens een stuk sneller dan andere database-systemen.
Sneller is in DB Land een relatief begrip, hoewel mysql voor een hoop zaken een goed alternatief bied is het echt niet te vergelijken met de grote databases, zelf werk ik als Sqlserver ontwikkelaar en dan weet je wat op dit moment de tekort komingen zijn van MySql, een hoop zaken die in sqlserver zitten daar is nog niet eens een begin aangemaakt in MySql, neem zaken als stored procedures, dts, geindexeerde views, en zo kan ik nog wel even doorgaan.
mysql ondersteunt niet alle SQL functies, zo kan het bv geen subselects aan { select * from test where not in ( select * from tabel2) } en dat gaat je na een tijdje opbreken, moet je steeds pielen met JOINs enzo, mysql is gwoon leuk als je met een paar tabellen werkt en nix egt moeilijks wilt maken
Nested select statement kunnen volgens mij wel, maar dat het beperkt is klopt. Bijvoorbeeld triggers en stored procedures zijn er naar mijn mening niet. Borlands InterBase ( http://www.borland.com/interbase/ ) is een goed alternatief.
Interbase heeft echter geen noemenswaardige security, dus die MOET je achter een firewall zetten. Verder zijn de utilities die bij interbase zitten gewoon pet.

Voor de simpele dingen zou ik daarom liever mySQL pakken dan Interbase, vooral omdat je voor die dingen de DB server toch op dezelfde bak wil draaien als de webserver...
volgens mij kunnen nested queries gewoon helemaal niet
maar 99 van de 100 keer dat je denkt "hmm, subquery zou fijn zijn" kan 't ook met joins oid...en dat is ook nog eens sneller denk ik.
MySQL is naar mijn mening inderdaad een leuke DBase voor het simpele opslag werk. Maar het is geen echte relationele DBase voor zover ik heb begrepen. Het grote voordeel in mijn ogen is de erg goede samenwerking met PHP.
Ik ben zelf nu naar PostgreSQL aant kijken aangezien die wel een echte relationele DBase is.
Op m`n werk gebruiken we ook MySql. Het is snel, goedkoop en de problemen die er zijn kun je makkelijk omheen werken. We gebruiken alleen simpele select en update statements.. dan is MySql perfect :) Postgress heb ik nog nooit mee gewerkt.

Ik ben benieuwd naar MS Sql server 2000, die schijnt ook loei snel te zijn.
Het gaat niet zo zeer om de snelheid alleen, het gaat ook om de features, als je kijkt hoe eenvoudig het is om replicatie/backup te schedulen dan kan je daar als gemiddelt bedrijf al een helehoop geld mee terug verdienen, daarnaast bied sqlserver veel meer mogelijkheden voor developers, met mysql moet je database extern aansturen, in sqlserver kan je zelf je queries definieren en die dan aanroepen, voordeel is dat je procedures binnen sqlserver zelf kan programmeren wat op zich al heel veel voordelen heeft.
Volgens mij ondersteunt MySQL ook vrij uitgebreid replicatie.

PostgreSQL is ook niet verkeerd. Alleen niet icm met een VB project... :) dan kun je volgens mij het beste gewoon MS SQLserver nemen..
offtopic:
je zult vast wel gelijk hebben sjors maar ik ben blij met MySql :) En eerlijk gezegd vond ik SQL server 7.0 een drama programma.
he? heb je in mysql geen stored procedures? dat meen je niet
huh, wat is er dan zo een drama aan?
postgres is zelfs object relational (wat de echte geek dan een ordbms noemt)

maar als je inderdaad alleen maar dingen doet die toch niet erg veilig hoeven te zijn(dus geen transacties nodig) of waar je geen moeilijke queries voor nodig hebt (dus geen nested queries of recursiveheid nodig) hoef je ook de overhead die een volwassen systeem met zich meebrengt niet te hebben
MySQL is wel degelijk een relationele database. NEt als met andere "platte" relationele databases moet je wel met indexen en keys werken.

Of een database relationeel is hangt eigenlijk meer af van de inhoud dan van de database trouwens. Zelfs in platte ASCII tabellen kun je een relationele database opzetten. Het is maar waar je de relatie definieert.
Je kunt altijd nog "fortune" bouwen met

SELECT joke FROM fortune ORDER BY RAND() LIMIT 1

Da's dus nieuw in 2.23
Als dat waar is, dan is dat voor mij reden genoeg om up te graden! :)
Deze SQL leest trouwens wel je hele tabel uit en sorteert hem. Da's niet zo fijn. Kun je beter de rijen nummeren, en dan een select op een willekeurig nummer doen. In gewoon SQL:

SELECT joke FROM fortune WHERE row_id = RAND(SELECT MAX(row_id) FROM fortune)

Maar ja, MySQL ondersteunt geen subquery...

(en de aanname is dat er een unique index op row_id staat, anders moettie alsnog de tabel doorploeteren)
Dan scheidt je de queries toch even... :)
Tja... ik heb 3.23 al ween tijdje op m'n localhost draaien... en ehm... heb nooit eeen bug gevonden ;)! Dus 'm.. :Z
ZendOptimizer 1.0.0 (voor PHP 4.04) is ook uit, dus het wordt weer eens tijd voor een 'grote' update :D
MySQL is fijn om snel, seef en simpel een database in je web pagina's te bouwen. Met Apache en wat servlets bouw je in een paar dagen een prima systeempje.

Het "My" gedeelte zit dus wel snor, aan het "SQL" stuk moet nogal gewerkt worden. Bovenaan de lijst van dingen die je echt wil staan sub-queries, daar kannie niet mee overweg.

Je kunt altijd nog "fortune" bouwen met

SELECT joke FROM fortune ORDER BY RAND() LIMIT 1

Da's dus nieuw in 2.23 :P
Ik heb toch wel behoefte aan een goed vergelijkend artikel over open source databases (en evt een commerciele zoals oracle als referentie)

Zelf loop ik weg met PostgreSQL, dat is veel volwassener dan mySQL is al bijna helemaal ansi92 compatible kan al lang transacties, subqueries enzo dus begrijp niet waarom het niet veel populairder is want het is even gratis. En ook net zo snel want daar heb ik wel een keer een artikel over gezien dat dat vergeleek.

Maar in het rijtje nieuwe features zie ik toch een paar dingen staan waarvan ik denk oei kan dat wel met postgres?
Lekker zeiken maar weer op MySQL, als je het niet goed vindt gebruik het dan niet of ga het er zelf bij bouwen als je een feature vindt ontbreken! het feit dat ze er nog niet inzitten komt waarschijnlijk omdat geen van de developers deze ooit nodig gehad heeft!
Iedereen die zit te zaniken dat MySQL 'die en die functie' niet ondersteunt: gebruik dan wat anders... PostgreSQL bijvoorbeeld. MySQL is wel _erg_ snel hoor! Dat is ook een hoop waard.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True