Fachhochschule Deggendorf IT-Kompaktkurs Datenbanken Skript zur Folge 11 LB Horst Kunhardt Fachhochschule Deggendorf Horst Kunhardt, FH-Deggendorf Datenbanken Einleitung: Die Auswahl eines DBMS (Datenbank-Managementsystem) ist heute für Unternehmen zu einer strategischen Entscheidung geworden. DBMS verwalten Datenbanken und gewährleisten einen hochverfügbaren und sicheren Zugriff auf unternehmensweite Daten. Vergleichskriterien für DBMS können aus einer Vielzahl von unterschiedlichen Faktoren bestehen. Neben reinen Preis/Leistungszahlen, wie Lizenzpreise, Anzahl von sog. Concurrent Users oder Campus-Lizenzierung sollen im Folgenden technische Vergleichskriterien vorgestellt werden. Dazu gehören u.a. Anforderungen an die Skalierbarkeit, d.h. die Anpassung des DBMS an zukünftige Erweiterungen, die Administration, d.h. Planung und Erstellung von Datenbanken, Verwaltung der zugrundeliegenden physikalischen Strukturen, Sichern und Wiederherstellen von Datenbanken, die Verwaltung der Zugriffssicherheit, sowie die Optimierung der Datenbanken. Abschließend werden Benchmarks betrachtet, die kommerzielle DBMS aufgrund definierter Testszenarien vergleichen und einen Anhaltspunkt über die Leistungsfähigkeit von DBMS geben. Die Fähigkeit eines EDV-Systems Informationen effizient und sicher aus einer Menge von Datenbanken mit unterschiedlichen Formaten zu extrahieren und als Basis für betriebliche Entscheidungsprozesse zur Verfügung zu stellen ist für den Unternehmenserfolg von entscheidender Bedeutung. Angeführt seien hier Begriffe wie z.B. Data Warehouse oder Management Information Systeme. Um auf Unterschiede zwischen den verschiedenen Systemen der unterschiedlichen Hersteller einzugehen muß zunächst die Aufgabe eines relationalen Datenbankmanagementsystems (RDBMS) bekannt sein: „Über definierte Schnittstellen werden Daten, deren Definition ebenfalls mit den Mitteln des RDBMS erfolgt, mittels der Standard-Datenbanksprache SQL im Mehrbenutzerbetrieb geschrieben und gelesen, so dass die Konsistenz in Bezug auf Transaktionen sowie die Wiederherstellbarkeit in Fehlerfällen garantiert wird.“1 Im Folgenden wird der Begriff RDBMS gleichbedeutend mit DBMS verwendet. DBMS gibt es seit vielen Jahren. So wurde z.B. von der Firma Oracle 1979 ein erstes relationales SQL-Datenbanksystem vorgestellt, das seitdem in unterschiedlichen Entwicklungsstufen und Ausprägungen weiterentwickelt wurde. Einige Firmen behaupteten sich im Markt, während andere Systeme verdrängt wurden. (siehe Folie 2: Überblick DBMS) Aus der großen Menge der in der Praxis eingesetzten DBMS sollen stellvertretend für den Bereich der Desktop-Datenbanksysteme Microsoft Access und für den Bereich der ClientServer-Datenbanksysteme Microsoft SQL Server und Oracle ausgewählt werden. Während die erstgenannten Produkte nur unter den Betriebssystemen von Microsoft laufen, kann Oracle auf Windows NT-Systemen und auf UNIX-Systemen eingesetzt werden. (siehe Folie 3: Betrachtete DBMS) 1 Hermann Uwe, Lenz Dirk, Unbescheid Günter: “Oracle 8 für den DBA”, Addison-Wesley, 1998, S. 21 Seite 2 Horst Kunhardt, FH-Deggendorf Datenbanken Anforderungen: Um einen Vergleich von DBMS anstellen zu können, sollen zunächst die Anforderungen an diese Systeme näher untersucht werden. Die folgenden Überlegungen können bei der Auswahl eines DBMS angestellt werden: - Anzahl und Umfang der mit dem DBMS zu verwaltenden Datensätze und das erwartete Wachstum - vorhandene oder geplante EDV-Infrastruktur (Netzwerk, Server, Betriebssysteme, bereits vorhandene DBMS) - verfügbares Personal (Administratoren) - verfügbares EDV-Budget für einmalige Investition und laufende Investitionen - Lizenzpreise - Wechsel von Datenbeständen auf andere DBMS - Investitionsschutz - Anzahl von gleichzeitigen Benutzern (siehe Folie 4: Anforderungen) Vergleichskriterien: Aus diesen unterschiedlichsten Anforderungen an ein DBMS ergeben sich Kriterien anhand derer kommerzielle DBMS verglichen werden können. Hier kann eine Unterteilung nach wirtschaftlichen Gesichtspunkten, wie z.B. Preis/Leistungsverhältnis und technischen Gesichtspunkten, wie z.B. Skalierbarkeit, Administration, Systemarchitektur und Sicherheit getroffen werden. (siehe Folie 5: Vergleichskriterien) Im Folgenden werden die Vergleichskriterien und spezifischen Leistungsdaten der hier betrachteten Datenbanken vorgestellt. Skalierbarkeit: Aus der Abschätzung über die Anzahl, den Aufbau und den Umfang der zu verwaltenden Datensätze, sowie die Anzahl der gleichzeitigen Zugriffe auf eine Datenbank kann schon eine gewisse Vorauswahl getroffen werden. Während MS Access aufgrund der Systemarchitektur eine Begrenzung in der maximalen Größe einer Datenbank bei 2 GB und bei der Anzahl gleichzeitiger Benutzer bei 255 hat, gelten diese Begrenzungen für die „großen“ DBMS, wie z.B. MS SQL Server oder Oracle nicht. „Große“ DBMS erlauben eine Datenbankgröße, die in Terabytes gemessen werden kann. Die Einschränkung besteht heute nur noch darin, wie viel Zeit für das Sichern, die Wiederherstellung und die Reorganisation der Datenbanken veranschlagt werden muß. Ein wesentliches Merkmal für ein DBMS ist also die Skalierbarkeit, d.h. die Möglichkeit der Anpassung eines DBMS an sich ändernde Benutzerund Transaktionslasten. (siehe Folie 6: Begriff Skalierbarkeit) Skalierbarkeit beschreibt folgende Arten von Systemänderungen: - Vergrößerung von Datenbanken - wachsende Anzahl von Benutzern und Netzwerklast Seite 3 Horst Kunhardt, FH-Deggendorf - Datenbanken zunehmende Transaktionslast steigende Anforderungen bei Anwendungen durch neue Programmiertechniken wachsende Anzahl von Servern Skalierbare Systeme lösen das limitierende Größenproblem, indem sie die Möglichkeit bieten, das Netzwerk, die Serversysteme, die Datenbank und die Anwendungen durch das Hinzufügen von zusätzlicher Hardware zu erweitern. Man unterscheidet bei der Skalierbarkeit eines Systems zwischen - Abwärtsskalierung - Aufwärtsskalierung durch Wechsel auf leistungsfähigere Systeme - Ausskalierung durch Hinzufügen von Knoten zu einem Clustersystem (siehe Folie 7: Begrenzungen) MS-Access 2000 hat beispielweise folgende Begrenzungen, die aufgrund der Systemarchitektur nicht erweitert werden können: Maximale Größe einer MDB-Datenbank Anzahl gleichzeitiger Benutzer Anzahl der geöffneten Tabellen Maximale Größe einer Tabelle Anzahl der Felder in einer Tabelle Anzahl der Indizes in einer Tabelle 2 GB 255 1024 1 GB 255 32 MS SQL Server 2000 hat über MS Access 2000 weit hinausgehende theoretische Begrenzungen, die von der verwendeten Hardware abhängig sind. Maximale Größe einer Datenbank Anzahl gleichzeitiger Benutzer mehrere TB abh. vom Serversystem Oracle 8 kann in Bezug auf Begrenzungen mit dem MS SQL Server 2000 verglichen werden. Maximale Größe einer Datenbank Anzahl gleichzeitiger Benutzer mehrere TB abh. vom Serversystem Während MS Access 2000 aufgrund des Systemaufbaus nicht skaliert werden kann, kann der MS SQL Server und Oracle durch zusätzlich Hardware sehr nahe an die theoretischen Grenzen gehen. Datenzugriff: Aufgrund der zunehmenden Integration und die Anforderung nach Zugriffsmöglichkeiten aus Office-Anwendungen, wie z.B. WORD oder EXCEL heraus, stellt sich die Forderung einer einheitlichen Schnittstelle für den Datenzugriff von einer Anwendung auf eine Datenbank. Dieser Mechanismus wird über ODBC bzw. das neuere OLE DB bereitgestellt. Seite 4 Horst Kunhardt, FH-Deggendorf Datenbanken (siehe Folie 8: Zugriff) Über ODBC-Treiber, die von den Herstellern Microsoft oder Oracle geliefert werden, ist der Zugriff auf relationale Datenbanken und tabellenartige Strukturen aus Anwendungen heraus möglich. Eine Erweiterung gegenüber ODBC stellt OLE DB dar. Während ODBC auf den Zugriff auf relationale Datenbanken beschränkt ist, erlaubt OLE DB den Zugriff auf Daten aus einer beliebigen Datenquelle. Über ODBC-Treiber ist also der Zugriff auf Daten aus MS Access, MS SQL Server und Oracle möglich. Migration: Um auf sich ändernde Anforderungen flexibel reagieren zu können, müssen DBMS die Möglichkeit der Migration, d.h. des Wechsels von Datenbanken auf leistungsfähigere Versionen bzw. andere DBMS bieten. (siehe Folie 9: Migration) MS Access bietet mit dem Upsizing-Assistenten die Möglichkeit, eine vorhandene AccessDatenbank zu einem Access-Projekt umzuformen. Dabei werden Tabellen und Abfragen in eine SQL-Server Datenbank kopiert. Grundsätzlich ist auch eine Migration von Oracle nach MS SQL Server und umgekehrt möglich. Dies erfordert aber eine genaue Planung und Kenntnis der Unterschiede. Bei jeder Migration sind also unterschiedliche Aspekte der Systemarchitektur zu beachten. So bestehen z.B. Unterschiede in der Bezeichnung der Datentypen zwischen MS Access und MS SQL-Server. Während Datentypen beim SQL-Server auf die Programmiersprache C bezogen sind, basieren die Datentypen bei Access auf Visual Basic. (siehe Folie 10: Datentypen Access/SQL Server) Access Text Memo Byte Integer Long Integer Double SQL-Server Varchar Text Smallint Smallint Int Float Ähnliche Unterschiede in den Bezeichnungen und Begrenzungen ergeben sich bei der Migration von Datenbanken zwischen MS SQL-Server und Oracle. Neben unterschiedlichen Bezeichnungen für die Datentypen sind auch unterschiedliche Größen bei den Datentypen zu beachten. (siehe Folie 11: Datentypen SQL Server/Oracle) SQL-Server IMAGE, Limit 2 GB Float Oracle BLOB, Limit 4 GB Decimal Seite 5 Horst Kunhardt, FH-Deggendorf Datenbanken Unterschiede zwischen den verschiedenen Systemen ergeben sich auch in Bezug auf Implementierung der Standard-Datenbanksprache SQL: Access SQL-92 SQL-Server Transact-SQL Oracle PL/SQL (siehe Folie 12: Unterschiede SQL) Administration: Für den Administrator einer Datenbank sind andere Kriterien, als die oben genannten Unterschiede bei den Datentypen, deren Kenntnis z.B. für den Anwendungsentwickler von Bedeutung sind, wichtig. Ein wesentliches Kriterium für die Verfügbarkeit und Erweiterbarkeit eines DBMS liegt in der Administration des Systems. Der Datenbankadministrator hat folgende Aufgaben: - Installation des DBMS Konfiguration der Server und Clients Erstellung der Datenbanken Umsetzung der Berechtigungen Datentransfer (d.h. Import und Export von Daten) Sichern und Wiederherstellen einer Datenbank Überwachung der Systemauslastung und Reaktion auf bestimmte Alarme Behebung von Systemproblemen Für diese Tätigkeiten braucht ein Datenbankadministrator Unterstützung durch entsprechende Hilfsmittel der DBMS. Für einen Datenbankadministrator ist das zugrundeliegende Serverbetriebssystem von großer Bedeutung. Während MS-Access und MS-SQL-Server nur auf Microsoft-Betriebssystemen laufen, kann eine Oracle-Datenbank auf Windows NT Server bzw. Windows 2000 Server oder auch unter UNIX ablaufen. Die Wahl des Serverbetriebssystems wirkt sich neben der Stabilität des DBMS auch auf das Preis/Leistungsverhältnis aus. In diese Rechnung gehen Überlegungen wie z.B. Lizenzierungskosten, Zugriff auf bereits im Serverbetriebssystem angelegte Benutzer aus MS-SQL-Server heraus oder Verfügbarkeit von Datensicherungssoftware ein. Die meisten kommerziellen DBMS verfügen heute über eine graphische Benutzeroberfläche zur Administration. Während bei MS Access bestimmte Dienstprogramme in die Anwendung integriert sind, gibt es beim MS SQL-Server bzw. bei Oracle Dienstprogramme wie den Enterprise Manager bzw. den Oracle Enterprise Manager. Diese graphischen Werkzeuge erlauben es dem Datenbankadministrator Datenbanken bzw. Instanzen zu erzeugen und zu bearbeiten, sowie Benutzer anzulegen und bestimmten Rollen zuzuordnen. Dienstprogramme für das Starten und Anhalten von Datenbanken, oder für die Sicherung und Restaurierung von Datenbanken, sowie Tools zur Darstellung der Systemauslastung, sollten ebenfalls vorhanden sein. Seite 6 Horst Kunhardt, FH-Deggendorf Datenbanken (siehe Folie 13: Administration von MS Access) Während die Administrationsmöglichkeiten bei MS Access begrenzt sind auf die grundlegenden Arbeiten, wie z.B. Reorganisation einer Datenbank oder Vergabe von Zugriffsbeschränkungen auf Tabellen, kann bei den „großen“ Datenbanksystemen auf viele Parameter einer Datenbank zugegriffen werden. Dazu werden umfangreiche Hilfsmittel, wie z.B. Anzeige der momentanen Auslastung einer Datenbank oder Anzeige der Größe der Datenbanken angeboten. (siehe Folie 14: Administration von MS SQL-Server) (siehe Folie 15: Administration von Oracle) Architektur: Leider gibt es bei den verschiedenen Herstellern von DBMS eine unterschiedliche Terminologie. So besteht z.B. eine Oracle-Datenbank aus der kompletten Umgebung. Dies beinhaltet: - Oracle Datenbank-Prozesse und Pufferbereiche (Instanzen) System-Tablespace, d.h. das Schema der Datenbank Tablespaces die vom Datenbankadministrator definiert wurden Redo-Log-Dateien andere Dateien (Control Files, Init.ora) Eine MS-SQL-Server Datenbank besteht aus Daten, Anwendungen und Sicherheitsmechanismen, die mit einem Tablespace bei Oracle vergleichbar sind. Mit der Installation eines MS-SQL-Servers werden standardmäßig folgende System-Datenbanken installiert: - Master-Datenbank zur Verwaltung von Systeminformationen über den SQL-Server, wie z.B. Anmeldeinformationen oder Systemkonfiguration - Model-Datenbank als Vorlage für alle neuangelegten Datenbanken - tempdb-Datenbank zur Zwischenspeicherung bei Sortieroperationen - msdb-Datenbank zur Zeitsteuerung von Alarmen oder Jobs - Beispieldatenbanken (siehe Folie 16: Architektur SLQ-Server/Oracle) MS-SQL-Server und Oracle-Datenbanken bestehen u.a. aus externen Dateien, die physikalischen Plattenplatz belegen und als Dateien auf Betriebssystemebene sichtbar sind. Während bei einer Oracle-Datenbank ein Tablespace einer Datei fest zugeordnet ist, kann beim MS-SQL-Server eine Datenbank auf mehrere Dateien abgebildet werden, was eine gewisse Flexibilität bietet. (siehe Folie 17: Dateistruktur) Die kleinste Bearbeitungseinheit für alle DBMS ist ein Datenbank-Block, d.h. alle Datenbankinhalte sind in Blockstruktur gespeichert. Leider gibt es auch hier bei den verschiedenen Herstellern von DBMS unterschiedliche Bezeichnungen. Während Oracle von Seite 7 Horst Kunhardt, FH-Deggendorf Datenbanken einem Block spricht, der im Bereich zwischen 512 bis 8192 Bytes liegen kann, bezeichnet Microsoft dies als Page (Seite), die beim MS SQL Server 6.5 eine feste Größe von 2048 Bytes und beim MS SQL Server 2000 eine feste Größe von 8192 Bytes hat. Wenn eine Datenbank einmal angelegt ist, kann die Block- oder Pagegröße nicht mehr verändert werden und gilt für die gesamte Datenbank. Datendateien der Datenbank bestehen also immer aus einem Vielfachen der Datenbank-Blockgröße. Eine veränderbare Blockgröße erlaubt eine größere Flexibiltät beim Anlegen einer Datenbank im Hinblick auf unterschiedliche Anforderungen von Anwendungen, Hardware und Betriebssystem. DBMS müssen eine sichere Möglichkeit zur Speicherung, Verwaltung und den Zugriff auf Daten ermöglichen. Das Transaktionskonzept erlaubt es, Änderungen an den Daten als Transaktionseinheit entweder zu bestätigen (commit) oder bei Auftreten eines Fehlers wieder zurückzunehmen (rollback). DBMS enthalten ein physikalisches Transaktionsprotokoll, das alle Änderungen an Datenbank-Blöcken protokolliert. Im Fehlerfall werden logische Änderungen an der Datenbank durch Wiederholen der Blockänderungen wiederhergestellt. Dies ist eine grundlegende Eigenschaft der „großen“ DBMS und wird von MS-Access nicht erfüllt. Neben diesen Redo-Log-Dateien gibt es bei Oracle noch weitere Dateien mit speziellen Aufgaben wie z.B. die Control-Dateien, die neben Zeitstempeln die physikalische Struktur der Datenbank, d.h. Namen und Größen aller Datendateien enthalten. Somit übernimmt im Falle der Wiederherstellung einer Datenbank die Control-Datei eine zentrale Rolle. Eine ähnliche Struktur gibt es auch beim MS-SQL-Server, die entsprechenden Dateien heißen hier Transaction-Logs. (siehe Folie 18: Sicherheit/Transaktionen) Sicherheit: Im Bezug auf Sicherheit basiert MS-SQL Server, MS-Access und Oracle auf dem Konzept von Benutzern und Gruppen von Benutzern mit bestimmten Rollen. MS-SQL-Server kann in zwei Sicherheits-Modi arbeiten: - mit Windows NT Authentifizierung - im sog. Mixed Mode, d.h. Windows NT Authentifizierung und SQL-Server Authentifzierung So erlaubt MS-Access z.B. die Zugriffssteuerung von Benutzern und Gruppen von Benutzern über den sog. Workgroup-Administrator (wrkgadm.exe). (siehe Folie 19: Benutzer/Gruppen in Access) Während Informationen über Benutzer und Gruppen von Benutzern in einer separaten Datei, der mdw-Datei abgelegt sind, werden Rechte auf verschiedene Access-Objekte, wie z.B. Tabellen, Abfragen oder Formulare, in der Access-Datenbank (mdb-Datei) gespeichert. Dieser Umstand der Aufteilung auf zwei Dateien muß bei einem Wechsel der Access-Datenbank auf einen anderen PC beachtet werden. Seite 8 Horst Kunhardt, FH-Deggendorf Datenbanken Bei den „großen“ DBMS werden Informationen über Berechtigungen, Benutzer und Gruppenzugehörigkeiten in der Datenbank gespeichert. (siehe Folie 20: Benutzer/Gruppen in SQL-Server) (siehe Folie 21: Benutzer/Gruppen in Oracle) Benchmarks: Bei den “großen” DBMS spielt die Leistungsfähigkeit oder auch Performance bei Vergleichen eine große Rolle. Eine amerikanische Institution, das Transaction Processing Performance Council (TPC)2 beschäftigt sich damit, Leistungstests (Benchmarks) zu definieren, die einen Vergleich der verschiedenen Systeme erlauben. Mitglied des TPC sind alle führenden Datenbankhersteller. So stellt beispielsweise der TPC-C Benchmark eine Mischung aus Leseund Update-Transaktionen dar, welche die Arbeit in einer komplexen OLTP-Umgebung simulieren sollen. Die Performance-Maßzahlen aus dem TPC-C Benchmark geben die Anforderungen/Minute als Transactions-per-minute-C (tpmC) wieder. Die tpmC werden preisbezogen als price-per-tpmC mit den Informationen auf welcher Datenbank und auf welchem Serversystem der Benchmark gelaufen ist auf der Website von TPC veröffentlicht. Einen Auszug aus der Benchmarkliste zeigt folgende Folie: (siehe Folie 22: Benchmarks) Es zeigt sich, dass in Bezug auf die Geschwindigkeit bei der Ausführung von Transaktionen und im Preis/Leistungsverhältnis für diesen speziellen Leistungstest der MS SQL Server 2000 vorne liegt. Diese regelmäßig veröffentlichten Benchmarks geben gewissenmaßen die obere Leistungsgrenze der DBMS an. Vergleichbar der Höchstgeschwindigkeit bei einem Auto. Die Angabe der Höchstgeschwindigkeit bei einem Auto sagt aber z.B. nichts über Kriterien wie die Stabilität, die Häufigkeit von Ausfällen bzw. die Zuverlässigkeit aus. Zusammenfassung: Zusammenfassend kann festgestellt werden, dass es eine grundsätzliche Unterscheidung zwischen den sog. „kleinen“ Datenbanksystemen, die für den Einsatz auf Einzelplatzcomputern oder in kleinen Netzwerken mit limitierter Datenbankgröße und einer begrenzten Anzahl von Benutzern der Datenbank und den sog. „großen“ Datenbanksystemen gibt, für die diese Begrenzungen durch Skalierbarkeit sehr weit nach oben verschoben werden können. Obwohl beide DBMS über ähnliche Funktionen verfügen, haben Untersuchungen3 gezeigt, dass mit Oracle größere Datenbanken (im Schnitt 19 GB) als mit MS SQL-Server (im Schnitt 5 GB) verwaltet werden. Zudem laufen viele der großen Datenbanken auf UNIX-Servern unter Oracle, die nach der Erfahrung vieler Administratoren stabiler laufen. Die Wahl des „richtigen“ DBMS ist bei der heutigen Leistungsdichte der „großen“ DBMS wie z.B. MS SQL 2000 oder Oracle 8 bzw. die neuere Version 9 schon zu einer „philosophischen“ Frage geworden. 2 3 Ergebnisse finden sich auf http://www.tpc.org IDC, International Data Corporation Seite 9 Horst Kunhardt, FH-Deggendorf Datenbanken Auf jeden Fall sollte bei einem Auswahlprozeß die Erfahrung der Systemadministratoren mit den verschiedenen Serverbetriebssystemen NT und UNIX miteinbezogen werden. Allgemein gilt ein Windows NT System als leichter administrierbar wie ein UNIX-System. In Bezug auf die Stabilität wird dagegen UNIX meistens gegenüber Windows NT der Vorzug gegeben. Ein nicht zu unterschätzender Punkt sind die Lizenzkosten der unterschiedlichen DBMS und die Kosten für die Betriebssystemlizenzen, sowie die Mitlieferung von Tools im Standardlieferumfang. Hier schneidet der MS SQL Server besser ab. Aufgrund der großen Verbreitung von Microsoft-Systemen kann auch auf ein größeres Potential von Datenbank-Entwicklern zurückgegriffen werden. Dies bringt ein deutliche Kostenersparnis bei der Anwendungsentwicklung für MS SQL Server. Die eben angestellten Überlegungen gelten maßgeblich für Systemumgebungen mit ca. 1004 gleichzeitigen Benutzern eines DBMS. Bei größeren Benutzerzahlen und Datenbankgrößen verschiebt sich der Schwerpunkt deutlich zu Oracle. (siehe Folie 23: Übersicht anhand DB-Größe) Der heiß umkämpfte Markt der Datenbanken wird also auch in Zukunft noch einige Überraschungen bringen. Inwieweit hier Objektorientierte Datenbanksysteme, das sind Systeme welche die Datenmodellierung in Form von Objekten unterstützen, die Marktposition der bisher in dieser Sendereihe vorgestellten relationalen Datenbanksysteme gefährden können ist Thema der nächsten Folgen. Literatur: - Hermann Uwe, Lenz, Dierk, Unbescheid Günter: „Oracle8 für den DBA“, AddisonWesley, 1998 „Migrating Oracle Databases to MS SQL Server 7.0“, MSDN, Dez. 2000 “Accessing Heterogeneous Data with MS SQL Server 7.0”, MSDN, Dez. 2000 “Implementation Details”, MSDN, Dez. 2000 “MS SQL Server and Oracle 7 Cost-to-Use for under 50 Concurrent Users”, Microsoft Technical Information, Dez. 2000 http://www.tpc.com http://www.microsoft.com http://www.oracle.com 4 MS SQL Server and Oracle 7 Cost-to-Use for Under 50 Concurrent Users, Microsoft Tec. Information, Dec. 2000 Seite 10