-
MySQL hat sich von einem „Spielzeug“ in den Händen von Entwicklern zur „beliebtesten Open-Source-Datenbank der Welt“ entwickelt. Der Prozess wurde von Produktversions-Upgrades und der Hinzufügung einiger neuer Funktionen (insbesondere Unternehmensdatenbankfunktionen) begleitet. MySQL hat sich von einem „Spielzeug“ in den Händen von Entwicklern zur „beliebtesten Open-Source-Datenbank der Welt“ entwickelt. Der Prozess wird von Produktversions-Upgrades und der Hinzufügung einiger neuer Funktionen (insbesondere Unternehmensdatenbankfunktionen) begleitet. Jetzt, da MySQL 5.0 perfekt entwickelt ist, bezeichnen nur noch wenige Menschen MySQL als „Spielzeugdatenbank“. Die umfangreichen Funktionen von MySQL erfüllen die Bedürfnisse vieler Benutzer. Die jüngsten Maßnahmen von Oracle zeigen, dass sie MySQL sehr ernst nehmen – Oracle hat mehrfach seine Absicht geäußert, MySQL zu erwerben.
MySQL-Produkt-Roadmap
Beginnen wir mit den einflussreicheren Versionen von MySQL und schauen uns die Updates von MySQL an.
MySQL 4.0
MySQL 4.0 wurde im März 2003 veröffentlicht und macht neue MySQL-basierte Anwendungen breiter verfügbar. Aber in Version 4.0 unterstützt MySQL keine gespeicherten Prozeduren, Trigger, serverseitigen Zeiger oder Ansichten. MySQL 4.0 wurde gegenüber der Version 3.23 erheblich verbessert. Derzeit ist MySQL noch keine Datenbank auf Unternehmensebene.
Im Folgenden sind die wichtigsten neuen Funktionen von MySQL 4.0 aufgeführt:
VOLLTEXT-Index: Das, was die Benutzer vielleicht am meisten erwarten, ist der VOLLTEXT-Index.
FULLTEXT erstellt einen Index für ein Textfeld und bietet so einen leistungsstarken und flexiblen Mechanismus zum Durchführen boolescher Suchen im Index. Nach allgemeiner Entwicklungserfahrung müssen Entwickler normalerweise Indizes erstellen und auf Textdaten zugreifen, und FULLTEXT-Indizes sind viel besser als gedacht.
Während viele Lösungen auf Ganzwortindizes beschränkt sind, gibt es bei FULLTEXT-Indizes keine solche Einschränkung, sodass Entwickler Phrasen hinzufügen oder aufteilen können.
ANSI SQL UNION: Unterstützt die ANSI SQL UNION-Anweisung, die Abfrageergebnisse in einem Ergebnissatz sammelt.
Operationen mit mehreren Tabellen: UPDATE und DELETE für mehrere Tabellen können ausgeführt werden.
Neue Anweisungen: Es wurden einige nicht standardmäßige neue Anweisungen hinzugefügt, die anderen DBMS-Benutzern bekannt sind (z. B. IDENTITY und TRUNCATE TABLE), sowie neue Funktionen wie FOUND_ROWS(), die die Anzahl der Datensätze zurückgeben können, die ohne eine LIMIT-Klausel zurückgegeben werden können .
InnoDB-Speicher-Engine: Die InnoDB-Speicher-Engine war damals eine Standardfunktion des Servers und wurde in Version 4.0 zu einer zusätzlichen Option. InnoDb ist ein Tabellentyp, der ACID-konforme Transaktionen anstelle des standardmäßigen MyISAM-Tabellentyps ermöglicht, was die allgemeine Verwendung beschleunigen kann, für kritische Vorgänge jedoch nicht sehr nützlich ist.
InnoDB-Tabellen verwenden Sperren auf Zeilenebene, was bedeutet, dass Aktualisierungen eines Datensatzes nur diesen Datensatz sperren, nicht die gesamte Tabelle. Das Sperren der gesamten Tabelle geht ziemlich schnell, wenn die Auswahl auf eine große Datenbank zugreift (wie es bei den meisten Websites der Fall ist), aber langsamer, wenn die Anzahl der Einfügungen und Aktualisierungen der Anzahl der Optionen nahekommt. Die Kritik an MySQL konzentriert sich seit langem auf Sicherheits- und Konsistenzprobleme bei MyISAM-Tabellen, und ACID-kompatible InnoDB-Tabellen tragen wesentlich zur Lösung dieser Probleme bei.
Abfrage-Caching: MySQL 4.0 kann in einigen Fällen schneller sein. Dies wird in erster Linie durch Abfrage-Caching erreicht, das zur Verbesserung der Geschwindigkeit doppelte Abfrageergebnisse speichert, obwohl viele ausgereifte Anwendungen auf einer bestimmten Codeebene ihre eigene Abfrage-Caching-Funktionalität ausführen. Bestimmte Anweisungen wurden auch in der Geschwindigkeit verbessert.
Eingebetteter Server: MySQL 4.0 verfügt über eine eingebettete Serverbibliothek, die es Anwendungen ermöglicht, MySQL als zugrunde liegende Datenbank zu verwenden.
latin1_de: MySQL 4.0 unterstützt einen zusätzlichen Zeichensatz latin1_de, der dafür sorgt, dass deutsche Wörter korrekt gespeichert werden.
MyISAM: MyISAM-Tabellen in MySQL 4.0 unterstützen derzeit symbolische Links auf Tabellenebene, sodass Windows-Benutzer symbolische Links auf Tabellenebene erstellen können (dies funktioniert immer für Unix-Benutzer).
Sicherheitsmodell: Das Sicherheitsmodell von MySQL 4.0 wurde verbessert, sodass Administratoren Berechtigungen detaillierter autorisieren können. Mit den neuen Berechtigungen können Benutzer temporäre Tabellen erstellen, Tabellen sperren, bestimmte Replikationsaufgaben ausführen, alle vorhandenen Datenbanken anzeigen und sogar eine Verbindung herstellen, wenn das maximale Verbindungslimit erreicht ist – sehr nützlich für DBAs, um Notfallaufgaben auszuführen und sogar die Ausführung von Speicherverfahren zu ermöglichen ( Diese Funktion wurde in MySQL 5 implementiert. Mithilfe des erweiterten Sicherheitsmodus können DBAs auch die Anzahl der Verbindungen, Aktualisierungen oder Abfragen begrenzen, die Benutzer pro Stunde durchführen können.
MySQL 4 ist für die Ausführung auf Novell Netware 6.0 konzipiert. Darüber hinaus können viele MySQL-Servervariablen geändert werden, ohne den Server neu zu starten, was sehr nützlich ist, da durch einen Neustart die alten Einstellungen wiederhergestellt werden.
MySQL 4.1
Nach der Einführung von MySQL 4.1 bietet 4.1 für einige Benutzer aufregendere Upgrade-Möglichkeiten als MySQL 4.0:
MySQL 4.1 unterstützt Unterabfragen
Viele Abfragen können ohne die Verwendung von Unterabfragen effizienter geschrieben werden, es gibt jedoch Ausnahmen. Unterabfragen sind eine standardmäßige ANSI-SQL-Funktion.
Unterstützt Unicode (UTF-8) und ermöglicht so eine umfassendere Internationalisierung.
Jede Spalte, Tabelle oder Datenbank kann einen anderen Zeichensatz haben, was erforderlich ist, wenn Daten in mehreren Sprachen gespeichert werden.
Unterstützt geografische Daten (OpenGIS)
Verbesserter Warnversand. Wenn eine Warnung nicht ausreicht, kann MySQL 4.1 mehrere Warnungen an den Client senden, was für die gesamte Datenverarbeitung sehr nützlich ist.
Die Geschwindigkeit wurde etwas verbessert. Diese Geschwindigkeitsverbesserungen werden jedoch möglicherweise durch die zusätzliche Belastung, die MySQL 4.1 mit sich bringt, zunichte gemacht.
Obwohl das MySQL-Handbuch eines der besten veröffentlichten Handbücher ist, enthält MySQL 4.1 einen HELP-Befehl, der nur mit dieser Version funktioniert.
Abgeleitete Tabellen werden unterstützt, wie zum Beispiel:
SELECT table1.field1 FROM table, (SELECT * FROM table2) table3 WHERE table1.field1=table3.field1
Unterstützt mehrzeilige Abfragen, sodass mehrere Abfragen ausgeführt und anschließend die Endergebnisse gelesen werden können.
Im Binärprotokoll werden verschiedene Wartungsanweisungen gespeichert, sodass Sie Wartungsaufgaben bei der Replikation vereinfachen können.
Mit CREATE...LIKE können Entwickler ganz einfach neue Tabellen mit der exakten Struktur vorhandener Tabellen erstellen.
Darüber hinaus gehören zu den drei bemerkenswerten Funktionen von MySQL 4.1: stabile OpenSSL-Unterstützung, mehr Testvorbereitungsanweisungen und mehr Tests mehrerer Zeichensätze für eine Tabelle.
MySQL 4.1 ist möglicherweise die erste Version von MySQL, die tatsächlich „erwachsen“ wird. Aufgrund einiger neu hinzugefügter Features und Funktionen in Version 4.1 (z. B. geografische Daten, Sub-Select-Anweisungen, abgeleitete Tabellen) begann Oracle erstmals, MySQL wirklich Aufmerksamkeit zu schenken.
MySQL 5.0
Unterstützt gespeicherte Prozeduren. Gespeicherte Prozeduren sind der von Entwicklern in anderen Datenbankumgebungen am häufigsten verwendete ANSI-SQL-Standard. Für MySQL ist dies längst überfällig. Die Syntax der von MySQL 5.0 unterstützten gespeicherten Prozeduren ähnelt Oracle PL/SQL und T-SQL.
Triggerprogramm (wird als gespeicherte Prozedur bezeichnet, wenn ein Ereignis auftritt)
Support-Hinweise
Echte Unterstützung für den VARCHAR-Datentyp, wodurch ein seit langem bestehender MySQL-VARCHAR-Fehler behoben wird.
Die Unterstützung von RTREE-Indizes in MyISAM-Tabellen erleichtert den Zugriff auf geografische Daten.
MySQL 5.1
Im Vergleich zu Version 5.0 implementiert MySQL 5.1 einige neue Funktionen:
Online-Backup (ermöglicht das Hinzufügen von Replikations-Slaves, ohne den Master-Server herunterzufahren).
Der BIT-Typ belegt tatsächlich 1 Bit, nicht 1 Zeichen.
ausfallsichere Replikation
-