Cookies op Tweakers

Tweakers is onderdeel van DPG Media en maakt gebruik van cookies, JavaScript en vergelijkbare technologie om je onder andere een optimale gebruikerservaring te bieden. Ook kan Tweakers hierdoor het gedrag van bezoekers vastleggen en analyseren. Door gebruik te maken van deze website, of door op 'Cookies accepteren' 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

Software-update: MySQL 8.0

MySQL logo (75 pix) MySQL is een krachtige opensource-databaseserver die vooral populair is als website- en forumdatabase. Ook Tweakers.net maakt gebruik van MySQL om onder andere gebruikersgegevens, statistieken en diverse review-, meuk- en nieuwsartikelen in op te slaan. De ontwikkelaars hebben versie uit de 8.0 uitgebracht. Voor meer informatie over de verbeteringen in de 8.0-release verwijzen we door naar deze pagina. Oracle heeft de volgende aankondiging meegeleverd:

Announcing General Availability of MySQL 8.0
MySQL adds NoSQL and many new enhancements to the world’s most popular open source database:
  • NoSQL Document Store gives developers the flexibility of developing traditional SQL relational applications and NoSQL, schema-free document database applications. This eliminates the need for a separate NoSQL document database.
  • SQL Window functions, Common Table Expressions, NOWAIT and SKIP LOCKED, Descending Indexes, Grouping, Regular Expressions, Character Sets, Cost Model, and Histograms.
  • JSON Extended syntax, new functions, improved sorting, and partial updates. With JSON table functions you can use the SQL machinery for JSON data.
  • GIS Geography support. Spatial Reference Systems (SRS), as well as SRS aware spatial datatypes, spatial indexes, and spatial functions.
  • Reliability DDL statements have become atomic and crash safe, meta-data is stored in a single, transactional data dictionary
  • Observability Performance Schema, Information Schema, Invisible Indexes, Error Logging.
  • Manageability Persistent Configuration Variables, Undo tablespace management, Restart command, and New DDL.
  • High Availability InnoDB Cluster delivers an integrated, native, HA solution for your databases.
  • Security OpenSSL improvements, new default authentication, SQL Roles, breaking up the super privilege, password strength, authorization.
  • Performance Up to 2x faster than MySQL 5.7.

Versienummer 8.0
Releasestatus Final
Besturingssystemen Windows 7, Linux, BSD, macOS, Solaris, Windows Vista, Windows Server 2008, Windows Server 2012, Windows 8, Windows 10
Website Oracle
Download https://dev.mysql.com/downloads/mysql/8.0.html
Licentietype GPL

Door Bart van Klaveren

Downloads en Best Buy Guide

21-04-2018 • 10:40

30 Linkedin

Submitter: Solopher

Bron: Oracle

Update-historie

Meer historie

Reacties (30)

Wijzig sortering
Ik vraag mij ondertussen af wat er met MySQL 6.0 en 7.0 is gebeurd... :)
Volgens Wikipedia is er wel een ontwikkelings branch geweest voor versie 6.0, waarbij 1 keer wordt vermeld dat de performance ervan tegenviel. Misschien wordt die versie nu in zijn geheel overgeslagen om associaties te vermijden.

Dat ze ook 7 overslaan is bijzonder. Gezien de enorme features die worden toegevoegd (NoSQL, JSON querying... just wow :o) is het qua marketing slim om te laten zien dat het echt een ander beest is dan MySQL 5.

Ik ben heel benieuwd hoe deze versie in de praktijk gaat draaien. MySQL is nog steeds enorm populair - en wat mij betreft volkomen terecht - maar met het continu evoluerende landschap aan databases is het belangrijk dat ze met hun tijd meegaan. Nu is het wel de vraag wie het aandurft om zijn productie database te upgraden :+ Ik start eerst maar eens een Docker image met 8.0 op :)
JSON zat al in MySQL 5.7. ;) Het zal nu daarom enkel wat uitgebreider zijn.

[Reactie gewijzigd door CH4OS op 21 april 2018 14:34]

Daar heb je een staging/dev omgeving voor toch? ;) Eerst eens even kijken of het werkt, hoe de migratie gaat etc.

Als ik verhalen op internet mag geloven zal de migratie in veel gevallen geen grote problemen geven. Backuppen, even zorgen dat je de juiste charset instelt, migreren en draaien maar.
7 hebben ze helemaal niet overgeslagen wikipedia


Was blijkbaar nog niet helemaal wakker en haalde MySQL en PHP door elkaar.

[Reactie gewijzigd door Euronitwit op 21 april 2018 20:34]

Waar op die pagina over PHP zie jij vermeld staan dat MySQL 7 bestaat, of bestaan heeft?
Hij is aan het pre-drinken voor Koningsdag ;-)
Merk ik wel met meer dingen. Snap het nut er niet van.

Bij vlliegtuigen ook. Gaan ze ineens van 747-400 naar 747-8.
Of een Airbus A380-800.

't Lijkt wel of men niet meer kan tellen tegenwoordig. Of dat men een onverklaarbare obsessie heeft met het cijfer 8. :? |:(
same here :) dacht dat het aan mij lag haha
Iemand die een verklaring heeft voor de huge bump in versienummers? Ergens vind ik die best overdreven, eigenlijk. Aan de andere kant; er zal wel Oracle-logica achter zitten. En volgens mij is omdat Oracle er achter zit tegenwoordig, het ook veel minder populair, ten faveure van MariaDB, wat een fork van MySQL is, maar dan van de originele ontwikkelaars na de overname van MySQL door Oracle.
Why did MySQL version numbering skip versions 6 and 7 and go straight to 8.0?

Due to the many new and important features we were introducing in this MySQL version, we decided to start a fresh new series. As the series numbers 6 and 7 had actually been used before by MySQL, we went to 8.0.
Misschien willen ze MySQL versienummers aan die van Java koppelen. Volgens mij is Java 8 de actuele versie.
Lijkt mij sterk, aangezien java 9 om de hoek ligt (als het er nog niet is)

Ik denk eerder dat het te maken heeft met de grote changelog, 6.0 die in Dev is geweest maar er nooit kwam en dat 5.7 de vorige versie was. Die zaken in combo lijken mij de keuze enigzins te rechtvaardigen.
JDK 9 is er al sinds september vorig jaar. Sterker nog, JDK 10 is er al sinds April dit jaar.
Ik zie het. Wat een draak van een site is het ook. Als ik naar java.com ga om een JRE te downloaden dan verwacht ik de nieuwste te vinden. Ik krijg 8u171 aangeboden en dacht daarom dat Java 8 nog steeds de laatste major release was.
En JDK 9 is EOL zodra Java 10 uit was enz. Een beetje het Google model...
Het versienummer van Java 10 is 18.3 (YY.MM). Niet verbaasd zijn als de volgende MySQL 18.9 is ofzo :)
Ben benieuwd of MariaDB hier last van gaat hebben :)
Om even in te haken op MariaDB; na deze een tijdje te hebben gebruikt, ben ik toch weer overgegaan op MySQL. Zo duurde het even voordat JSON in MariaDB zat en waren sommige wijzingen er pas veel later in t.o.v. MySQL (o.a. nieuwe security scripts/opties, optimalisaties, nieuwe syntaxis, ..).

Opzicht jammer, maar MySQL blijft dus nog altijd onderhouden gelukkig, al blijf ik het jammer vinden dat Oracle de scepter zwaait en ik dus ook wel de forks begrijp.

Verder vind ik de sprong naar het getal 8.0 wel groot, maar opzicht wel goed om aan te duiden dat deze dus veel gewijzigd zijn van 5.x.

[Reactie gewijzigd door foxgamer2019 op 21 april 2018 11:06]

Als je de snelheid niet nodig hebt en ook niet de volledige scope van JSON-functies, kun je ook eens kijken naar PostgreSQL. Maar het is natuurlijk onbetwist dat JSON support in MySQL enorm is uitgebreid sinds zowel JAVA als MySQL onder de paraplu van de Oracle Corporation worden ontwikkeld.

Veel leveranciers en consumenten ondersteunen nu echter PostgreSQL en ik zou het zonde vinden als iemand daar overheen kijkt. Oracle is berucht om zijn grillige licentiebeleid en tja ... geld verdienen is hun hoofdzaak om aandeelhouders tevreden te houden.
Ik heb nooit iets van een snelheids verschil gemerkt en ik heb beide voor grote projecten gebruikt.

Een van de belangrijkste verschillen is volgens mij dat PostgreSQL zich beter aan de SQL standaarden houd. Hierdoor moet je stricter werken, wat volgens mij alleen maar beter is.

Wat ik in de praktijk gemerkt heb is dat je bij MySQL ongeledige datums kan op slaan (waar MySQL dan zonder melding 0000-00-00 van maakt) en kan je ook transacies doen op engines die geen transacties ondersteunen (waarbij je data dus wel opgeslagen wordt als je een rollback doet).

Ik ben jaren geleden overgestapt naar PostgreSQL en voor mij hoef ik niet meer terug. Alleen op het werk wordt nog MySQL gebruikt, maar daar heb ik helaas niet heel veel over te zeggen.

[Reactie gewijzigd door CyberJack op 21 april 2018 17:22]

Wat waren voor jou de redenen om op Postgres over te stappen en waarom wil je niet meer terug? Ik heb binnenkort waarschijnlijk een klant die de keuze voor database helemaal schoon kan beginnen en hoor graag ervaringen en argumenten waarom de een en niet de ander.
Vooropgesteld, als je een standaard ORM gebruikt (zoals Doctrine) dan zal je niet heel veel verschil merken.
Een ORM heeft vaak de overkoepelende functionaliteiten aan boord, maar niet de database specifieke zaken.

Verder lees ik vaak dat PostgreSQL traag is en dat het lastig te installeren/onderhouden zijn is.
Beide heb ik niet zo ervaren. PostgreSQL heeft migratie script voor major releases (je moet er wel voor zorgen dat deze dus niet zomaar geinstalleerd word) en zoals al aangegeven merk ik niet veel van snelheids verschillen.
Ik heb verder geen ervaring met replication van databases.

Voor mij zijn dit de grootste verschillen:
  • strictere manier van werken. Voorbeeld: Als je een "group by" in een query doet, dan heeft MySQL maar minimaal 1 veld nodig. MySQL bepaald dan zelf hoe de overige velden gegroepeerd worden en al gaat dit vaak goed kan dit ook voor onverwachte problemen zorgen. PostgreSQL volgt hierin beter de SQL regels en daardoor moet je alle velden die je opvraagt opnemen in de "group by". Dit is wat meer werk, maar je weet wel precies in welke volgorde al je velden gegroepeerd worden.
  • PostgreSQL heeft een aantal veld type die MySQL niet heeft. Zoals "uuid", "date/time met tijdzone", "boolean (true/false)", "location (lan, lon)" en "inet (ipv4 en ipv6)" veld typen.
  • In PostgreSQL kan je ook zelf veld type aanmaken. Deze velden worden in de database dan ook gevalideerd. Dit heeft als voordeel dat je met meerdere applicaties tegen 1 database kan praten zonder dat iedere applicatie verantwoordelijk is voor zijn eigen implementatie van de validatie.
  • PostgreSQL heeft ook diverse NoSQL veld type zoals "Json" en "XML". MySQL heeft ook "Json" support, maar hier heb ik nog niet naar gekeken.
  • PostgreSQL heeft de mogelijkheid voor recursive queries. Deze heb ik ooit nodig gehad voor het opbouwen van een boom structuur waarbij je een parent/child structuur had. Waar je bij MySQL voor iedere laag een query moet doen kan PostgreSQL in 1 query de gehele boom ophalen.
  • PostgrSQL kan altijd transacties doen, bij MySQL kan dit alleen op InnoDB tabellen (al heeft MySQL weinig moeite met transacties op MyISAM tabellen, je kan alleen geen rollback doen).
PostgreSQL en MySQL verschillen van elkaar (zowel kwa onderhoud en ontwikkeling) en een keuze voor een database moet ook passen bij de requirments van het project. Zaken als onderhoud en eventueel training van ontwikkelaars/dba's is namelijk ook iets waar rekening mee gehouden moet worden.

Ik raad je in ieder geval aan om beide eens te proberen (met Docker kan dit heel makkelijk) om te kijken welke het beste bij het project past.

[Reactie gewijzigd door CyberJack op 22 april 2018 09:53]

Ik weet een hele goede reden: Transactional DDL :9~ _/-\o_ als je migratie in de soeploopt hoef je niet halsoverkop een back-up terug te zetten.

Mijn reden destijds (2006) waren de vele WTFs, zoals ongeldige datums, fouten onderdrukken, geen standaard transacties, geen back-up zonder downtime (lekker als je maar één server hebt), en het feit dat PostgreSQL al veel meer ondersteunde zoals Inet (IP addres)/bool, triggers, user functions, views, en generate_series() (was destijds een goed artikel over hoe je dit kon gebruiken om doorlopende reeks te maken voor bijvoorbeeld rapport).

> Verder lees ik vaak dat PostgreSQL traag is en dat het lastig te installeren/onderhouden zijn is.

Hoogstens moeilijk te configureren 8)7 als je echt alles eruit wilt halen ben je wel even bezig, met meer dan 100 opties die je aan kan passen vereist dit enige kennis! Maar zelfs heb ik nooit echt problemen gehad.

[Reactie gewijzigd door s.stok op 22 april 2018 11:39]

Die ongeldige datums kwam ik achter na een upgrade naar 5.7. 0000-00-00 is geen geldige datum sinds 5.7, dus als je het probeert te updaten of inserten faalt je query.
Maar het is natuurlijk onbetwist dat JSON support in MySQL enorm is uitgebreid sinds zowel JAVA als MySQL onder de paraplu van de Oracle Corporation worden ontwikkeld.
Die link snap ik niet. Waarom zou het eigendom van Java en MySQL door Oracle zorgen voor uitgebreide JSON support?
Stiekem wordt ik hier heel blij van :9~ Nu hopen dat er ook snel support komt vanuit applicaties die nu MongoDB of Postgres draaien!

Ik ga hier de komende tijd wel eens mee testen!

Op dit item kan niet meer gereageerd worden.


Nintendo Switch (OLED model) Apple iPhone 13 LG G1 Google Pixel 6 Call of Duty: Vanguard Samsung Galaxy S21 5G Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True