Lade Inhalt...

Vergleich und Analyse von Datenbanken zur unternehmerischen Nutzung

Bachelorarbeit 2010 38 Seiten

Informatik - Wirtschaftsinformatik

Leseprobe

Inhaltsverzeichnis

Zusammenfassung

1 Einleitung

2 Datenbanken - ein Vergleich
2.1 Microsoft SQL-Server
2.2 MySQL
2.3 Oracle Database
2.4 PostgreSQL

3 Datenbanken - eine Analyse
3.1 Datenintegrität
3.1.1 ACID
3.1.2 Multiversion Concurrency Control (MVCC)
3.1.3 Fremdschlüssel
3.1.4 CHECK Syntax
3.2 Datenzugriff
3.2.1 SQL Standards
3.2.2 Datentypen
3.2.3 Datendefinitionen: CREATE, ALTER, DROP
3.2.4 Manipulationsbefehle: INSERT, UPDATE, DELETE
3.2.5 Join
3.3 Datenorganisation
3.3.1 View
3.3.2 Volltext-Index
3.3.3 Trigger
3.3.4 Stored Procedures
3.4 Entscheidungsmatrix

4 Schluss

Literaturverzeichnis

Abbildungsverzeichnis

Listings

Tabellenverzeichnis

Anhang
A SQL-Skript CREATE DATABASE testermgmbh

Zusammenfassung

Datenbanken sind aus einem Unternehmen nicht mehr wegzudenken. In beinahe allen Ge- schäftsbereichen werden Daten zur vielfältigen Weiterverwendung gespeichert. Daher stellt die Auswahl einer passenden Datenbank eine essentielle Frage dar, da die Anforderungen, die vom Unternehmen an ein Datenbanksystem gestellt werden, sich immer komplexer gestalten. Zusätzlich weisen die unterschiedlichen Datenbanksysteme umfangreiche Featu- relisten bei unterschiedlicher Performance und Skalierung auf, was die Auswahl erschwert, da ein größeres Know-How seitens den Entscheidungsträgern vorausgesetzt wird. In dieser Arbeit werden vier Datenbanken (Microsoft SQL Server, MySQL, Oracle und PostgreSQL) einer Analyse im Hinblick auf die oben genannten Faktoren unterzogen. Diese vollzieht sich in zwei Schritten. Im ersten Schritt wird auf den Hintergrund der Datenbank ein- gegangen; Supportleistungen, Lizenzierung sowie Administrationswerkzeuge werden einge- hend behandelt, gegenübergestellt und kritisch geprüft. Im zweiten Schritt werden Daten- bankfeatures erhoben und die Funktionalität dieser Anforderungen mithilfe verschiedener Testunternehmensdatenbanken tatsächlichen Anforderungen gegenübergestellt. Eine Ent- scheidungsmatrix fasst die Ergebnisse objektiv zusammen, die als inhaltliche und wertfreie Entscheidungsgrundlage gesehen werden können.

1 Einleitung

Seit der Erfindung des relationalen Datenbank-Modells in den 1960- und 70ern durch Edgar F. Codd, der mit seinem Prototyp “System R” die damals bekannte Welt der Datenbanken1auf den Kopf stellte, kann der interessierte Benutzer aus einer Vielzahl von verschiedenen Datenbankensystemen auswählen. Die Kriterien sind vielfältig, die Featureslisten schein- bar endlos. Gerade für Unternehmen ist ein Datenbanksystem unerlässlich geworden. Es kommt nicht auf die Größe des Unternehmens an, wenngleich die Anforderungen bei einem Multikonzern mit Abteilungen auf allen Kontinenten sich etwas anders darstellen müssen als ein Ein-Mann-Unternehmen aus der sogenannten “Hinterhofgarage”. Dennoch verwen- den alle eine Datenbank, um damit beispielsweise ihren Kundenstamm, das Artikelmana- gement und Bestellwesen, Auswertungen oder das Lieferantenmanagement abzuwickeln. Die Anwendungsbereiche sind vielfältigst; gerade deshalb ist es unumgänglich, ein Da- tenbanksystem zu wählen, das alle gestellten Anforderungen abdeckt, um für zukünftige Erweiterungen und Entwicklungen gerüstet zu sein.

Ebenso wichtig ist es, bei der Auswahl der Datenbank darauf zu achten, dass die Anzahl der nicht benötigten Features gering gehalten wird, damit eventuell vorhandene Lizenzkosten bzw. die Hardwareanforderungen dieser nicht genutzen Möglichkeiten den Verwaltungsaufwand (für die Datenbankverantwortlichen) nicht unnötig in die Höhe treiben. Hier ist es wichtig, die Inhalte der Aussagen der werbenden Unternehmen genauest zu vergleichen und eventuell von Fachleuten überprüfen zu lassen, sodass es im produktiven Einsatz zu keinen unliebsamen Überraschungen kommen kann.

Ziel dieser Arbeit ist es, vier Datenbanken miteinander zu vergleichen, die bedeutend in ihrer Marktpräsenz sind. Der direkte Vergleich an sich vollzieht sich im ersten Teil mittels einer objektiven Betrachtung des “Backgrounds“ der Datenbanksysteme. Dabei werden ver- wendete Lizenzen bzw. Lizenzkosten sowie die Supportleistung des Herstellers beschrieben und kritisch betrachtet. Ein besonderer Augenmerk gilt der Administration einer Daten- bank und ihren Werkzeugen zur Skalierung und Performance, die eingesetzt werden müssen, um den Datenbankbetrieb zu beobachten, zu bewerten, um bei notwendigen Änderungen gezielt eingreifen zu können.

In der Folge werden in einer Analyse unter Zuhilfenahme ausgewählter Testunternehmensdatenbanken Features erhoben, die für den produktiven Betrieb benötigt werden, diese werden kritisch auf ihre Verwendung bzw. Notwendigkeit hinterfragt. Diese Features werden in den Kategorien Datenintegrität, Datenzugriff und Datenorganisation zusam- mengefasst. Eine Entscheidungsmatrix am Ende der Analyse fasst die Problemstellungen zusammen und präsentiert konzentriert und objektiv die Ergebnisse der Auswertung der Datenbanksysteme. In Kapitel 4 werden diese Auswertungspunkte kritisch kommentiert.

2 Datenbanken - ein Vergleich

Im Bereich der Datenbank-Server gibt es eine Vielzahl von möglichen Auswahlkandida- ten, allein auf Wikipedia werden mehr als 25 relationale Datenbankmanagementsysteme aufgelistet2. Dennoch stellt sich eine Auswahl als nicht ganz so schwierig dar, wie es den Anschein hat, denn wenn man die Vielzahl an kleinen Projekten und exotischen Systemen außer Betracht lässt, bleibt eine überschaubare Anzahl an Datenbanken übrig, die teilweise schon Jahre und Jahrzehnte am Markt mitwirken. Diese teilen sich gleichmäßig in Systeme kommerzieller Anbieter und in Systeme auf, die als Open Source unter einer freien Lizenz der Allgemeinheit zur Verfügung gestellt wurden. Neben den kommerziellen großen Drei am Markt: Microsoft, IBM und Oracle, die laut IDC ca. 80% des Marktes im Jahr 2007 unter sich aufteilten3, stehen ihnen aus dem Open Source Bereich die bekannten Vertreter MySQL und PostgreSQL gegenüber bzw. in der Aufzählung von Features in nichts nach. Aber auch Datenbanksysteme wie Firebird, das von Borland als freie Software veröffent- licht wurde und Ingres, das Datenbanksystem von Computer Associates (CA) sollen hier nicht unerwähnt bleiben.

Um eine objektive Analyse zu ermöglichen, sollen jeweils 2 Vertreter aus dem kommer- ziellen Bereich und 2 Vertreter der Open Source Community hier behandelt werden. Ein wichtiges Kriterium für diese Auswahl war die lizenzkostenfreie Nutzung der betreffenden Datenbanksysteme. Der Kostenfaktor soll in der Entscheidungsmatrix in Kapitel 3.4 keine Berücksichtigung finden und daher eine objektive Bewertung der technischen Möglichkei- ten ermöglichen. Um dies für die beiden kommerziellen Systeme zu gewährleisten, wurden Microsoft und Oracle ausgewählt, da beide ihre Datenbanksysteme jeweils kosten- und li- zenzfrei der Community zur Verfügung stellen, wenn auch in einer umfangbeschränkten Version. MySQL, laut Definition auf der Herstellerhomepage ”world’s most popular open source database“ und PostgreSQL, ebenfalls laut Eigendefinition ”world’s most advanced open source database“ komplettieren die Auswahl.

Im folgenden werden die vier behandelten relationalen Datenbanken in alphabetischer Reihenfolge vorgestellt.

2.1 Microsoft SQL-Server

Microsofts erste Schritte im Bereich der Datenbanken begannen 1987 mit einer Partner- schaft mit dem Hersteller Sybase und setzten sich in der Veröffentlichung mit der Software SQL Server 1.0 fort. Dies war keine vollständige eigene Entwicklung - denn es wurde die Unix-Version der Sybase-Datenbank ”DataServer“ für OS/2 und Windows portiert. Im Jahr 1994 wurde diese Partnerschaft gelöst; 1995 kam mit dem SQL Server 6.0 die erste Eigenentwicklung von Microsoft auf den Markt. Mit dem SQL Server 2000 erschien im gleichnamigen Jahr die erste Enterprise Database Server Version, im August 2008 folgte die derzeit aktuelle Version, SQL Server 2008. In dieser Analyse wird auf die frei verfügbare Version SQL Server 2008 Express Advanced Edition genauer eingegangen und verwendet4.

Lizenzierung

Microsoft bietet mit dem SQL Server Express eine kostenlose Version der Datenbank an, die weniger in ihren Möglichkeiten, als viel mehr in ihrer Leistungsfähigkeit eingeschränkt ist. Auf der kommerziellen Schiene gibt es sogenannte ”Core Editions“ (Enterprise und Standard) und ”Specialized Editions“ (Workgroup, Web und Developer). Es ist in der Express Version eine Upgradefunktion auf die Standard- oder Enterprise Edition integriert. In Tabelle 2.1 sind die Unterschiede beispielhaft an 2 Versionen dargestellt5.

Abbildung in dieser Leseprobe nicht enthalten

Tabelle 2.1: Vergleich; SQL Server 2008 Standard und Express

Pro CAL bedeutet, dass eine Lizenz für jedes Gerät oder jeden Benutzer, der auf den SQL Server zugreift, fällig wird. Pro CPU analog dazu bedeutet, dass für jeden physischen oder virtuellen Prozessor, der für SQL Server genutzt wird, eine Lizenz benötigt wird.

Support

Supportleistungen werden von Microsoft in Form von Foren, FAQs und Knowledge Bases kostenlos zur Verfügung gestellt. Updates in Form von Service Packs sind über die her- stellereigenen Download-Seiten verfügbar, Hotfixe (Updates, die ein bestimmtes Problem beheben) sind nach Bekanntgabe einer Email-Adresse ebenfalls als Download verfügbar, bzw. werden in den regelmäßig erscheinenden Service Packs für alle Betroffenen ausge- rollt. Neben diesen kostenlosen Supportleistungen besteht natürlich auch die Möglichkeit, professionelle Unterstützung bei Microsoft selbst als auch bei lizenzierten Drittanbietern einzukaufen.

Administrationswerkzeuge

Zum Management der Datenbank steht ein grafisches Werkzeug namens SQL Server Ma- nagement Studio Express (SSMS) zur Verfügung, das sich in seinen Eigenschaften vom kompletten SQL Server Management Studio in einigen wenigen Punkten, die vor allem die Analyse und das Reporting betreffen, unterscheidet. Natürlich können ebenfalls SQL- Abfragen und Skripte grafisch abgesetzt werden. Die Datenbank ist nur auf Windows Be- triebssystemen verfügbar.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2.1: Microsoft Visual Studio (MSSQL)

2.2 MySQL

Die Entwicklung des MySQL DBMS durch das neugegründete Unternehmen MySQL AB startete im Jahr 1994. Es handelte sich dabei aber nicht um eine komplette Neuentwicklung, sondern um einen Klon des damals populären Datenbanksystems MSQL (oder auch MiniS- QL). Im Jahr 2000 erschien die die erste Version der neuen MySQL DBMS, allerdings nicht mit der Versionsnummer 1.0, sondern mit dem Versionsstand 3.21 um zu signalisieren, dass dies kein komplett neu programmiertes Datenbanksystem ist, sondern dass es durch seinen MSQL-Kern bereits eine ausgereifte und geprüfte Vorgeschichte hatte. Große Populariät und Verbreitung erreichte MySQL durch die Tatsache, dass es unter der GPL veröffent- licht wurde. In Kombination mit den ebenfalls frei verfügbaren Softwareprodukten Linux als Betriebssystem, Apache in der Funktion als Webserver, MySQL als DBMS und PHP als verwendete Skriptsprache, hatte jeder Interessierte die Möglichkeit, mit minimalen Kosten einen eigenen Internetauftritt zu realisieren oder Webdienste anbieten zu können. Auch heute noch ist diese Kombination als “LAMP” bekannt und Grundlage zahlreicher Weban- wendungen. Im Februar 2008 wurde MySQL AB um 1 Milliarde Dollar an das Hard- und Softwareunternehmen Sun Microsystems verkauft mit der Absicht, den Markt der reinen Webanwendungen auf unternehmenskritischen Anwendungen zu erweitern6.

Sun Microsystems seinerseits wurde im April 2009 durch den Softwarehersteller Oracle übernommen, was insofern interessant ist, da Oracle mit seinem Datenbankprodukt "Da- tabase 11g"bereits ein professionelles DBMS entwickelt, vertreibt und betreut. Zu diesem DBMS wird in Abschnitt 2.3 besonders eingegangen. Derzeit ist die MySQL Version 5.1.38 als stabile Version freigegeben7und kommt in dieser Analyse auch zum Einsatz8.

Lizenzierung

MySQL verwendet ein Dual-Licensing-Modell, dass bedeutet, dass die Software sowohl unter einer Open-Source-Lizenz als auch unter einer kommerziellen Lizenz angeboten wird. Die Open-Source-Lizenz benennt MySQL AB als “Community-Edition” (unter der GPLLizenz veröffentlicht); die kommerzielle Lizenz läuft unter dem Namen “Enterprise”. Grundsätzlich ist das Produkt für Kunden beider Lizenztypen identisch. Ein Unterschied besteht aber bei Supportleistungen und Administrationswerkzeugen9.

Support

MySQL AB bzw. Sun bieten seinen Enterprise Kunden monatliche Updates und sicherheits- kritische Fehlerbehebungen. Der Support schließt auch technische Anfragen, FAQs und die Benutzung der Wissensdatenbank mit ein. Sonstige Supportleistungen können bei MySQL AB oder einem lizenzierten Partnerunternehmen dazu gekauft werden. Community-Edition Benutzer können auf eine breite Unterstützung durch die Community zurückgreifen, auch die MySQL-Dokumentation selbst ist von MySQL AB freigegeben, Im Bezug auf die Ak- tualität der verfügbaren Releasestände sind sie aber auf vorkompilierte Versionen der Da- tenbank angewiesen, die etwa im Halbjahrestakt erscheinen. Diese Versionen beinhalten jeweils die aktuell freigegebene Datenbankversion, ergänzt um die seit der letzten Versi- on erschienenen Updates und Sicherheitspatches. Dieses Vorgehen von MySQL AB sorgt innerhalb der Community wiederholt für kritische Diskussionen, da die freien Entwickler zwar Sicherheitslücken finden und beschreiben, aber erst später aus dieser Arbeit Nutzen ziehen können10.

Administrationswerkzeuge

Die grafischen Administrationswerkzeuge von MySQL in der Version 5.1 gliedern sich in

3 Programme, die sowohl für die Community Edition als auch für die Enterprise Edition identisch sind11:

- MySQL Administrator

Er findet Verwendung bei der grundsätzlichen Verwaltung von Benutzern und Datenbanken und deren Sicherung bzw. Rücksicherung.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2.2: MySQL Administrator (MySQL)

- MySQL Query Browser

Ist die Oberfläche für SQL Abfragen und hilfreich bei der Erstellung von Views, Triggern u.ä..

- MySQL Migration Toolkit

Hier handelt es sich um ein Tool zur Migration, welches einen rudimentären Import von jeder Datenbank ermöglicht, die per JDBC (Java Database Connectivity) ange- sprochen werden kann. Für die DBMS MS Access, MS SqlServer, Sybase und Oracle

2.3 Oracle Database

bietet es sogar einen optimierten Import an, der auf die jeweiligen Eigenheiten der Systeme eingeht12.

Zusätzlich bietet MySQL AB noch ein Werkzeug zur grafischen Erstellung und Einrichtung der Schemata einer Datenbank namens “MySQL Workbench” zum kostenlosen Download an13. Bis auf das MySQL Migration Toolkit sind alle Werkzeuge und natürlich das Daten- banksystem selbst für die Betriebssysteme Windows, Mac OS und Linux (Unix) verfügbar.

Weitere Werkzeuge für Analyse, Reporting und Monitoring sind nur für Lizenznehmer der Enterprise Version verfügbar und werden daher hier nicht näher erläutert.

2.3 Oracle Database

Oracle wurde ursprünglich 1977 von den Programmierern Larry Ellison, Bob Miner und Ed Oates unter dem Namen SDL (Software Development Laboratories) gegründet. Nach einer Namensänderung 1979 in Relational Software Inc. veröffentlichte das Unternehmen die erste kommerzielle relationale SQL Datanbank (Oracle 2.0). 1982 wurde der Name dann endgültig in Oracle geändert; 1985 erschien mit der Version 5.0 die erste relationale Datenbank mit einer Client/Server Umgebung. Nach diversen Zwischenversionen, die neue Features in die Datenbank integrierten, wurde im Jahr 2000 mit der Version Oracle9iAS eine Kombination aus Applikationsserver und Datenbank veröffentlicht, die die Performan- ce für Webzugriffe steigerte. 2003 wurde mit der Version Oracle 10g (“g” steht für Grid computing) und 2007 mit der derzeit aktuellen Version 11g der Fokus auf verteilte Systeme gelegt. Im April 2009 übernahm Oracle Sun Microsystems und damit auch die renommier- ten Produkte Solaris, Java, MySQL und OpenOffice14. Im Folgenden wird in dieser Analyse die frei verfügbare Version Oracle Database 10g Express Edition analysiert15.

Lizenzierung

Oracles Lizenzpolitik ist ähnlich aufgebaut wie die bei Microsofts SQL Server. Es gibt eine kommerzielle Variante und eine Express-Version Variante, die aber nicht wie bei Mi- crosoft auf dem gleichen Versionsstand ist wie die kommerzielle Version. Zum Zeitpunkt dieser Arbeit ist nur Oracle 10g frei verfügbar, nicht aber der aktuellere Nachfolger Oracle 11g. Die Unterschiede zwischen den Versionen ähneln denen der Microsoft Lösung: Oracle Database 10g Express Edition unterstützt ebenfalls nur einen Prozessor, einen Gigabyte Hauptspeicher und eine maximale Datenbankgröße von vier Gigabyte16.

[...]


1Aus Gründen der Lesbarkeit wird häufig der Ausdruck “Datenbank” oder “Datenbanksystem” verwendet, obwohl die korrekte Bezeichnung “Datenbankmanagementsystem” (DBMS) wäre.

2Vgl. wikipedia.org (2009)

3Vgl. Alexander (2008)

4http://www.microsoft.com/express/download/

5Vgl. microsoft.com (2008b)

6Vgl. Diedrich (2008)

7Vgl. mysql.com (2009a)

8http://dev.mysql.com/downloads/mysql/5.1.html

9Vgl. mysql.com (2009c)

10Vgl. Kofler (2008)

11Vgl. mysql.com (2009b)

12Vgl. mysql.com (2008a)

13Vgl. mysql.com (2008b)

14Vgl. Kleijn (2009)

15http://www.oracle.com/technology/software/products/database/xe/htdocs/102xewinsoft.html

16Vgl. oracle.com (2006)

Details

Seiten
38
Jahr
2010
ISBN (eBook)
9783656945536
ISBN (Buch)
9783656945543
Dateigröße
1 MB
Sprache
Deutsch
Katalognummer
v295704
Institution / Hochschule
Ferdinand Porsche FernFH
Note
1
Schlagworte
postgresql mysql mssql oracle Datenbank database comparison

Autor

Zurück

Titel: Vergleich und Analyse von Datenbanken zur unternehmerischen Nutzung