Konzeptioneller Entwurf und prototypische Realisierung einer

Transcription

Konzeptioneller Entwurf und prototypische Realisierung einer
Hochschule für Technik und Wirtschaft Dresden (FH)
Fachbereich Informatik/Mathematik
Diplomarbeit
im Studiengang Wirtschaftsinformatik
Thema:
„Konzeptioneller Entwurf und prototypische Realisierung einer Datenbanklösung
für chemische Risikoanalysen“
eingereicht von:
Marco Münzberg
eingereicht am:
06.08.2007
Betreuer:
Prof. Dr. oec. Gunter Gräfe
HTW Dresden
Dr. Vinzenz Brendler
Forschungszentrum Dresden-Rossendorf e. V.
Inhaltsverzeichnis
Abbildungsverzeichnis
III
Tabellenverzeichnis
IV
Verzeichnis verwendeter Abkürzungen
V
Glossar
VI
1 Einleitung
1
2 Was ist eine chemische Risikoanalyse?
3
3 Analyse der Anforderungen und des Datenbestandes
6
3.1 Analyse der Nutzerzahlen und Datenzugriffe ......................................................... 6
3.2 Funktionale Anforderungen .................................................................................... 7
3.3 Technologische Anforderungen ............................................................................ 11
3.4 Kostenanalyse ....................................................................................................... 16
3.5 Analyse der Datentypen und des Datenbestandes ................................................. 17
4 Konzeption einer Auswahlstrategie
20
4.1 Datenbankmodelle................................................................................................. 20
4.2 Lizenzmodelle ....................................................................................................... 22
4.2.1 Closed Source ................................................................................................ 22
4.2.2 Open Source ................................................................................................... 23
4.2.3 Open Source Initiative (OSI) zertifizierte Lizenzen ...................................... 24
4.3 Definition und Beurteilung von Auswahlkriterien ................................................ 24
5 Grundlagen der Datenbankmangementsysteme
27
5.1 Konzept eines DBMS............................................................................................ 27
5.2 Übersicht relevanter DBMS .................................................................................. 28
I
6 Auswahl des DBMS
34
6.1 Methodik der Auswahl .......................................................................................... 34
6.2 Anwendung des mehrstufigen Auswahlverfahrens ............................................... 34
6.3 DBMS: Auswahlentscheidung .............................................................................. 36
7 Konzeption von Datenmodell und Nutzerinteraktionen
37
7.1 Vorstellung Datenmodell ...................................................................................... 37
7.1.1 Detailliertes Datenmodell für die grundlegenden Daten ................................ 40
7.1.2 Detailliertes Datenmodell für chemische Stoffdaten und zugehörige
Reaktionsgleichungen .................................................................................... 41
7.1.3 Detailliertes Datenmodell der Parameter für die Wechselwirkungen zwischen
Ionen oder Festphasen .................................................................................... 43
7.1.4 Detailliertes Datenmodell für bibliographische Informationen ..................... 44
7.2 PostgreSQL-Client: Einbindung in das WCMS Joomla ....................................... 45
7.2.1 WCMS und seine Vorteile ............................................................................. 45
7.2.2 Kurzbeschreibung Joomla .............................................................................. 47
7.2.3 Client-Konzept (1. Ausbaustufe) ................................................................... 47
8 Prototypische Realisierung der Datenbank
49
8.1 Umsetzung des Datenmodells in PostgreSQL ...................................................... 49
8.2 Exemplarische Abfrage ......................................................................................... 50
9 Zusammenfassung und Ausblick
51
Literaturverzeichnis
53
Anhang A: Anforderungsanalyse erstellt mit MindMapper 5
57
Eidesstattliche Erklärung
60
II
Abbildungsverzeichnis
Abbildung 1: Mehrfachbarrierensystem für nukleare Endlager........................................ 3
Abbildung 2: Zugriffsschema über WWW-Interface ..................................................... 10
Abbildung 3: Relationales Datenmodell ......................................................................... 21
Abbildung 4: Entity-Relationship-Modell ...................................................................... 21
Abbildung 5: Grobarchitektur von Datenbanksystemen nach Stahlknecht .................... 27
Abbildung 6: Datenmodell der Basisdaten ..................................................................... 40
Abbildung 7: Datenmodell der chemischen Stoffdaten .................................................. 41
Abbildung 8: Datenmodell zur Beschreibung chemischer Reaktionsgleichungen ......... 41
Abbildung 9: Datenmodell zur Beschreibung von Wechselwirkungen .......................... 43
Abbildung 10: Datenmodell für bibliographische Informationen ................................... 44
Abbildung 11: Web-Interface Backend .......................................................................... 46
Abbildung 12: Web-Interface Frontend .......................................................................... 46
Abbildung 13: Client-Konzept ........................................................................................ 48
Abbildung 14: Abfrageergebnis auf der THEREDA-Seite............................................. 50
III
Tabellenverzeichnis
Tabelle 1: Hauptfehlerquellen und Recoveryverfahren [I_WLOK02] ........................... 13
Tabelle 2: Vor- und Nachteile von Open Source Software............................................. 23
Tabelle 3: Gruppierung der Auswahlkriterien für ein DBMS nach deren Relevanz
für das Gelingen des THEREDA-Projektes ................................................... 26
Tabelle 4: Detailvergleich der DBMS Firebird, Ingres, MySQL und PostgreSQL ........ 35
Tabelle 5: Feldtypen in THEREDA ................................................................................ 38
IV
Verzeichnis verwendeter Abkürzungen
ACID
Atomic, Consistent, Isolated, Durable
BSD
Berkeley System Distribution
CPU
Central Processing Unit
DBMS
Data Base Management System
DDL
Data Definition Language
DML
Data Manipulation Language
GPL
GNU General Public License
GRS
Gesellschaft für Reaktorsicherheit
IDPL
Initial Developer's Public License
IPsec
Internet Protocol Security
LAMP
Linux, Apache, MySQL, PHP/Perl/Python
ODBC
Open Database Connectivity
OEM
Original Equipment Manufacturer
OLTP
Online-Transaction-Processing
OLAP
Online-Analytical-Processing
OSI
Open Source Initiative
SCP
Secure Copy Protocol
SQL
Structured Query Language
SSL
Secure Sockets Layer
THEREDA
THErmodynamische REferenzDAtenbasis
WCMS
Web Content Management System
V
Glossar
Biosphäre
Der Bereich auf der Erde in dem lebende Materie vorkommt. Die Biosphäre umfasst die
komplette Hydrosphäre, den obersten Teil der Erdkruste (Leben ist bis in Tiefen von
über 2000 m nachgewiesen worden) und den unteren Teil der Atmosphäre.
Gleichgewichtskonstante
Beschreibt die Lage eines chemischen Gleichgewichts und ist der Quotient aus dem
Produkt aller Konzentrationen der Reaktionsprodukte und dem Produkt aller
Konzentrationen der Ausgangsstoffe. Sie ist Maß für die chemische Stabilität einer
Verbindung.
Entity-Relationship-Modell
1976 wurde das Entity-Relationship-Modell von Peter Pin-Shan Chen vorgeschlagen,
um das Datenbank-Design zu erleichtern. Es können mit dem Entity-RelationshipModell grundlegende Tabellen- Beziehungsstruktur einer Datenbank strukturiert
entworfen und visualisiert werden
Hosting
Unter Hosting versteht man die technische Bereitstellung von Inhalten. In der Regel
sollen die Inhalte durch das Internet abgerufen werden. Hosting-Dienstleister (Provider
oder Webhoster) bieten für diesen Einsatz Webspeicher, Datenbanken, E-Mailadressen
und weitere Produkte an.
IPsec
Das Internet Protocol Security ist ein Protokoll zur verschlüsselten Übertragung von
Daten über ein Netzwerk.
LAMP-Stack
Open Source Softwarepaket, um dynamische Webseiten zur Verfügung zu stellen. L
steht dabei für Linux, A für Apache, M für MySQL und P für PHP/Perl/Python.
VI
Logging
Logging ist die Protokollierung von Vorgängen in IT-Systemen. Bei DBMS wird
Logging zur Protokollierung von Transaktionen auf einer Datenbank genutzt.
Radionuklide
Radioaktive Strahlung aussendende Isotope von chemischen Elementen (Isotope eines
Elementes sind chemisch ähnlich, haben im Atomkern gleiche Anzahl an Protonen, aber
unterschiedliche Anzahl an Neutronen)
Recovery
Ist die Funktion eines DBMS die Datenbank nach einem Systemabsturz oder anderen
Fehlern wieder in einen konsistenten Zustand zu überführen. Die geschieht meistens
über ein internes Logbuch (Logging) des DBMS.
Mainframe
Große Server, an denen sehr viele Clients angeschlossen sind. Diese Mainframes haben
sehr viel mehr Rechenleistung als ein Personal Computer oder typischer Server.
Multi-Threading
Ist die gleichzeitige Abarbeitung mehrerer Ausführungsstränge eines einzelnen
Prozesses.
Multi-Processing
Betriebsart eines Rechensystems, beim dem mehrere Prozessoren auf einem
Arbeitsspeicher arbeiten.
OEM-Lizenz
Sind meist günstigere Lizenzen zu Programmen, die bei Produkten anderer Hersteller
beigelegt werden. Diese Programme dürfen meistens nur mit diesem Produkt benutzt
werden.
VII
Online Analytical Processing
Unter Online Analytical Processing werden Technologien, Tools und Methoden
zusammengefasst, die die Analyse sehr großer Datenmengen unterstützen. OLAP stellt
diese Daten zum Zweck der Entscheidungsunterstützung und Erkenntnisförderung
bereit.
Online Transaction Processing
Unter Online Transaction Processing versteht man die Durchführung von Transaktionen
an operativen Datenbeständen durch operative Systeme. Ein OLTP-System kann eine
große Anzahl kleiner vordefinierter Transaktionen verarbeiten.
SCP
Das Secure Copy Protocol ist ein Protokoll zur verschlüsselten Übertragung von Daten
über ein Netzwerk.
SQL:99 / SQL:03
Standards, welche vom American National Standards Institute (ANSI) und der
International Organization for Standardization (ISO) verabschiedet wurden. Sie
beschreiben die Regeln, wie SQL-Befehle (zum Beispiel CREATE) in Datenbanken
auszusehen haben.
SSL
Das Secure Sockets Layer ist ein Protokoll zur verschlüsselten Übertragung von Daten
im Internet.
Stored Procedure
Stored Procedure ist eine Reihe von SQL-Befehlen, die als eigenständiges Programm in
einem DBMS gespeichert werden. Über den EXECUTE PROCEDURE-Befehl können
diese unter Angabe des Prozedurnamens und optional mit Übergabeparametern gestartet
werden.
VIII
Toxisch
Eigenschaft chemischer Verbindungen, Vergiftungen zu bewirken. Die Giftigkeit hängt
dabei stark von der Art eines Organismus ab.
Wirtsgesteine
Gesteinsformationen, in welche ein zukünftiges Endlager für radioaktive Abfälle
eingebaut werden soll, bestimmt maßgeblich die Rückhaltefähigkeit über geologische
Zeiträume.
Wrapper
Ist eine Komponente eines Web Content Management Systems, mit der man externe
Seiten in das CMS einbinden kann.
IX
1 Einleitung
Die Sicherheit eines Endlagers für radioaktive Abfälle sowie von Untertagedeponien für
chemisch-toxische Stoffe, ebenso wie die Sanierung von Altlasten des Uranbergbaus
stehen
im
Fokus
des
öffentlichen
Interesses.
Belastbare
Aussagen
zum
Transportverhalten toxischer Bestandteile und möglichen Strategien zur Verhinderung
des Eintrags in die Biosphäre sind von entscheidender Bedeutung. Neben geeigneten
Modellen sind hierfür qualitativ hochwertige Daten notwendig.
Auf nationaler Ebene unter anderem in den USA und in der Schweiz wurden
Standarddatenbanken für die Anwendung thermodynamischer Daten im Rahmen
spezifischer Endlagerprojekte zusammengestellt, vervollständigt und an die jeweiligen
Bedürfnisse angepasst.
In Deutschland hingegen wurde bisher
noch keine
Standarddatenbank für die Anwendung in Endlager- und Sanierungsprojekten erarbeitet.
Eine einheitlich und verbindlich zu nutzende Standarddatenbank ist die Voraussetzung
für
vergleichbare
und
nachvollziehbare
Ergebnisse
von
geochemischen
Modellrechnungen in allen geologischen Formationen. Der Aufbau einer solchen
Datenbank für die spezifischen Belange Deutschlands wird deshalb seit Mitte 2006 in
einem Verbundprojekt von fünf Institutionen vorangetrieben – dem THEREDA-Projekt
für eine THErmodynamische REferenzDAtenbasis. Die Partner in diesem Projekt sind
das Forschungszentrum Dresden-Rossendorf e.V., Institut für Radiochemie, die
Gesellschaft für Anlagen- und Reaktorsicherheit mbH Braunschweig, die Technische
Universität
Bergakademie
Freiberg,
Institut
für
Anorganische
Chemie,
das
Forschungszentrum Karlsruhe GmbH, Institut für Nukleare Entsorgung sowie Colenco
Power Engineering AG.
1
Um das Ziel einer qualitätsgesicherten Datenbasis für Langzeitsicherheitsanalysen zu
erreichen, muss eine solche Datenbasis eine ganze Reihe von Anforderungen erfüllen.
Diese Anforderungen sind zum Beispiel die langfristig preiswerte Verfügbarkeit, gute
Anbindung an das World Wide Web, Archivierbarkeit von Zwischenständen und eine
hohe Sicherheit gegen Manipulationen. Die Qualitätssicherung erfordert zudem, dass
alle aufgenommenen Daten nach Entstehungsart, Quelle und Qualität beschrieben bzw.
eingeteilt werden. Zusätzliche Anmerkungen sollen spezifische Informationen
(Literaturstelle, Gültigkeitsbereiche und sonstige Hinweise, z.B. über zu Grunde
liegendes
Analogon
Datengruppen
eine
oder
Schätzmethode)
konsistente
Datenbasis
liefern.
vorliegt,
Sobald
erfolgt
für
eine
geschlossene
detaillierte
Dokumentation des Bewertungs- und Auswahlprozesses für alle Daten. Zur
Sicherstellung der Rückverfolgbarkeit wird ein zentrales Literaturarchiv vorgehalten, in
der alle relevanten Quellen archiviert werden.
Die vorliegende Arbeit widmet sich der Teilaufgabe, nach Analyse dieser und weiterer
Nutzeranforderungen und unter Einbeziehung von Auswahlkriterien ein Ranking
potenzieller Datenbanken für den Einsatz bei THEREDA vorzunehmen und eine
Empfehlung für ein mögliches Datenbankbetriebssystem auszusprechen.
Nach Auswahl des
Datenbankbetriebssystems sind die Datenstrukturen und
Beziehungen zu analysieren und ein Entwurf für die Datenbank-Architektur abzuleiten.
Es ist ein Prototyp einer entsprechenden Datenbank zu erstellen, die das NutzerFeedback für eine iterative Konzeptentwicklung und anschließende Umsetzung in eine
konkrete Implementierung absichert.
Dieser Entscheidungs- und Umsetzungsprozess wird mit dieser Diplomarbeit
nachvollziehbar dokumentiert.
2
2 Was ist eine chemische Risikoanalyse?
Durch chemische Risikoanalysen soll geklärt werden, welche Risiken für Mensch und
Umwelt entstehen, wenn toxische Stoffe in die Geo- und Biosphäre gelangen. Ein
Spezialfall hiervon sind radioaktive Substanzen, welche in einem Salz-, Granit- oder
Tonbergwerk endgelagert werden. Andere konkrete Anwendungsfälle sind untertägige
Deponien für Schwermetalle, giftige organische Verbindungen (z.B. Dioxin) oder
Arsen. Ebenso sind Lagerorte für alte Munition und Explosivstoffe potenziell
gefährdend.
Für eine sichere Verwahrung, der oben genannten Schadstoffe, sind verschiedene
Anforderungen zu erfüllen. Dafür wird meist ein Mehrfachbarrierenkonzept (siehe
Abbildung 1 für den Spezialfall eines nuklearen Endlagers) genutzt.
Geologische Barriere:
Geotechnische Barriere:
- Wirtsgestein
- Versatzmaterial
- Untertägige Dammsysteme
- Bohrlochverschlüsse
Technische Barriere:
- Brennstabhülle
- Verglaster Abfall
- Behälter
Mobiler
Schadstoff
Abbildung 1: Mehrfachbarrierensystem für nukleare Endlager
Dabei beruht die Langzeitsicherheit nach Tausenden von Jahren, wenn ein zumindest
teilweises Versagen der technischen Barrieren angenommen werden muss, ganz
entscheidend auf der geologischen Beschaffenheit des Wirtsgesteins. Insbesondere wird
eine hohe Zuverlässigkeit für lange Zeiträume, gute Begründbarkeit der Szenarien zur
3
Schadstofffreisetzung und -ausbreitung und Reduzierung der Unsicherheiten gefordert.
Zwei wichtige Anforderungen an das Wirtsgestein sind zum Beispiel, dass es ein hohes
Rückhaltevermögen gegenüber Gefahrstoffen besitzt sowie die Freisetzung und der
Transport von Gefahrstoffen reduziert werden.
Bei chemischen Risikoanalysen werden Berechnungen zum chemischen Verhalten aller
beteiligten Schadstoffe durchgeführt. Im Fokus stehen die möglichen Reaktionen
untereinander bzw. Wechselwirkungen mit anderen Lösungsbestandteilen, dem
umgebenden Wirtsgestein, ingenieurtechnischen Barrieren, Zusatzstoffen sowie der
Gasphase. Die Ergebnisse wiederum sind eine Grundlage für Ausbreitungsrechnungen,
wofür zusätzliche Angaben zu Transportparametern erforderlich sind. Auf Grund der
hohen
gesellschaftlichen
Relevanz
solcherart
erhaltener
Aussagen
sind
alle
Entscheidungsprozesse durch eine öffentliche Datenbank transparent und für jedermann
nachvollziehbar zu gestalten. Selbstverständlich müssen alle in der Datenbasis
bereitgestellten Daten höchsten Qualitätsansprüchen genügen.
Welche Art von numerischen Daten sind in einer Datenbasis für chemische
Risikoanalysen vorzuhalten? Hier sind zum Einen die Reaktionskonstanten für die
Bildung gelöster Komplexe als auch die Löslichkeiten aller Minerale zu nennen.
Zusätzlich zu Koeffizienten, welche die Wechselwirkung von Ionen in Lösung
beschreiben, werden für sämtliche Parameter die Temperatur- und Druckabhängigkeit
aufgeführt. Chemische Risikoanalysen müssen in der Lage sein, eine Vielzahl variabler
Umweltparameter zu berücksichtigen, hier seien insbesondere die Temperatur, Druck,
pH-Wert, Konzentration der Schadstoffe und weiterer gelöster Komponenten, das
Redoxpotential und die Zusammensetzung der Gasphasen genannt. Zudem ist vielen
chemischen Reaktionen eine zeitliche Entwicklung aufgeprägt, d.h. verschiedene
Reaktionen verlaufen unterschiedlich schnell. Dies muss eine chemische Risikoanalyse
berücksichtigen. Oft sind die entsprechenden Codes für solche Berechnungen auch in
der Lage, Sensitivitäts- und Unsicherheitsanalysen einzubeziehen, d.h. sie können der
Ungenauigkeit der numerischen Daten als auch der zu Grunde liegenden chemischen
Modelle Rechnung tragen.
4
Ein wesentlicher Aspekt chemischer Risikoanalysen ist schließlich die Quantifizierung
des Risikos für Mensch und Umwelt. Diese ist nicht trivial, da eine Mischung von
Gefahrstoffen durchaus unterschiedliche Risiken bewirken kann (Beeinträchtigungen
des Wohlbefindens, Schädigungen und Ausfall von Organen, Schädigungen des
Erbgutes u.a.), welche wiederum akut oder chronisch sein können. Teilweise treten die
negativen Wirkungen nach Latenzzeiten von Jahren oder Jahrzehnten auf. Zudem
reagieren unterschiedliche Bevölkerungsgruppen (Alter, Geschlecht, Lebensweise)
durchaus verschieden auf nominell gleiche Risiken [L_AUSW01].
5
3 Analyse der Anforderungen und des Datenbestandes
3.1 Analyse der Nutzerzahlen und Datenzugriffe
Die Nutzerzahlen der Datenbank setzen sich vorrangig aus institutionellen Nutzern
zusammen, dazu kommen Nutzer aus der Industrie sowie aus der Wissenschaft. Bei den
Angaben handelt es sich um Schätzungen für Maximalwerte, in der Realität können
diese Zahlen durchaus kleiner ausfallen.
-
80 Ministerien (aus Bund und 16 Ländern) mit je 10 involvierten
Mitarbeitern (800 Personen)
-
500 Kommunen, welche durch ein nukleares Endlager, Altlasten des
Uranerzbergbaus oder andere Deponien betroffen sind, mit je fünf
involvierten Mitarbeitern (2500 Personen)
-
200 Wirtschaftsunternehmen (z.B. Kernkraftwerke, die WISMUT, Betreiber
von Deponien) mit je fünf involvierten Mitarbeitern (1000 Personen)
-
1000 Ingenieurbüros, welche den Institutionen und der Industrie zuarbeiten,
mit je drei involvierten Mitarbeitern (3000 Personen)
-
20 Universitäten, Hochschulen, und Forschungseinrichtungen mit je zehn
involvierten Wissenschaftlern (200 Personen)
Daraus ergeben sich rund 7500 Personen, welche prinzipielles Interesse an der
Datenbank aufweisen sollten. Davon wird jedoch nur ein Bruchteil gleichzeitig
(innerhalb einer Stunde) auf die Datenbasis zugreifen wollen (Schätzung ca. 2 %). So
ergeben sich ca. 150 Abfragen pro Stunde an die Datenbank. Die Datenbank soll
öffentlich im Internet verfügbar sein, so dass auch mehr Abfragen pro Stunde zustande
kommen können. Eingaben in und Änderungen an der Datenbank werden durch etwa 10
Wissenschaftler (aus den Partnerinstitutionen des THEREDA-Projektes) vorgenommen.
Im Vergleich zu sehr vielen anderen Datenbanken aus Industrie und Wissenschaft sind
obige Zahlen als unkritisch zu bewerten, die heutige Infrastruktur (sowohl auf Softwareals auch auf Netzebene) sollte den entstehenden Datenverkehr ohne jegliche Probleme
bewältigen können.
6
3.2 Funktionale Anforderungen
Langzeitverfügbarkeit
Eine Besonderheit von THEREDA ist dessen Langzeitverfügbarkeit. Allein die
Zeitspanne bis zur Erteilung der Genehmigung für ein nukleares Endlager in
Deutschland wird auf bis zu 25 Jahre geschätzt. Für weitere Informationen wird auf die
Dokumente des Arbeitskreises „Auswahlverfahren für Endlagerstandorte“ verwiesen
[L_AUSW01]. Daran schließt sich eine Bau- und Erprobungsphase an. Auch nach
Inbetriebnahme des Endlagers sollen die ursprünglichen Berechnungen nachvollziehbar
bleiben. Eine Abschätzung der „Lebensdauer“ von THEREDA mit vierzig Jahren ist
daher eher noch als kurz zu bezeichnen.
Daraus ergibt sich die Notwendigkeit, dass die Datenbank selbst über mindestens diesen
Zeitraum nutzbar bleibt. Bei herstellergebundenen Datenbanken besteht die Gefahr,
dass der Hersteller den Vertrieb/Support einstellt und somit keine Updates mehr
angeboten werden. Eine wesentlich bessere Langzeitnutzung ist möglich, wenn der
Quellcode der Datenbank frei verfügbar ist (Open Source) und nicht durch zu restriktive
Lizenzen Behinderungen entstehen. Eine detaillierte Auseinandersetzung mit Begriff
und Inhalt von Open Source und den daran gebundenen Lizenzmodellen erfolgt im
Kapitel 4.2.
Auf Grund der angestrebten sehr langen Nutzungsdauer der Datenbank sollte diese
entsprechende
internationale
Standards
unterstützen.
Insbesondere
im
nicht
ausgeschlossenen Fall, dass die hier ausgewählte Datenbank bereits innerhalb des
angestrebten Nutzungsbereiches von ca. 40 Jahren nicht mehr einsetzbar ist. Sollte eine
Datenbank-Migration notwendig werden, sorgt die Einhaltung von Standards dafür,
dass die Datenbank relativ schnell wieder einsatzbereit ist. Als Mindestanforderung
wird eine weitestgehende Einhaltung des SQL:92 Standard angesehen. Erstrebenswert
wären der SQL:99 und SQL:03 Standard, aber diese werden zurzeit von kaum einer
Datenbank wirklich vollständig unterstützt [I_WLOK01]. Daher wird in der weiteren
Betrachtung auf den SQL:03 Standard kein Bezug genommen, wohingegen der SQL:99
Standard in wesentlichen Teilen unterstützt werden sollte.
7
Datenbankadministration
Typische Administrationsaufgaben, welche bei der Arbeit mit THEREDA zu erwarten
sind, umfassen Nutzer- und Rechteverwaltung, Konfiguration und Tuning. Diese
Administration muss auch von Nutzern mit geringen Informatikkenntnissen zu
bewältigen sein. Ein leicht bedienbares Administrationstool mit einer grafischen
Benutzeroberfläche für Microsoft Windows und Linux und die Bereitstellung einer
ausführlichen Dokumentation bzw. Hilfe kann die Datenbankadminstration erleichtern.
Um die Administration auch von einem Computer ohne lokal installiertem Tool
durchführen zu können, sollte man den Zugriff auf die Datenbank über den Browser
gewährleisten. Dies kann ein Programm ermöglichen, welches auf dem Server installiert
wird und zum Beispiel auf einer Skriptsprache, wie PHP, basiert. Dieses Programm
sollte ebenfalls eine gute Dokumentation bieten und mit möglichst vielen Browsern
(Internet Explorer 7, Mozilla Firefox, Opera, Konqueror, Epiphany, Safari u.a.)
kompatibel sein. Falls die Tools Open Source sind, dann muss gleichzeitig auf eine
große Community (siehe Kapitel 4.2) geachtet werden.
Datenbestandspflege
Die ersten Daten werden von einer vorhandenen MS Access-Datenbank importiert.
Danach wird die Datenbasis über verschiedene Verfahren mit Daten gefüllt:
-
Übernahme aus bestehenden Datenbeständen über speziell angepasste
Importfilter
-
Übernahme aus ASCII-Dateien mit einer vorgegebenen Datenstruktur über
spezielle Tools
-
Manuelle Eingabe über ein Webinterface
Datenbankzugriffsarten
Die Datenbasis ist in zwei Ausprägungen verfügbar:
1. Anwendungsbezogene
veröffentlichte
TDBs
(Thermodynamische
Daten-
banken), in der keine Manipulation im Datenbestand möglich und nur
verbindliche Daten enthalten sind.
8
2. Die
eigentliche
interne
Datenbasis
mit
allen
Möglichkeiten
für
Testrechnungen/Vergleiche und mit allen Datensätzen, Dokumentationen, die
für Updates notwendig sind.
Die für vordefinierte Anwendungsprofile notwendigen TDBs nach Variante 1 werden in
regelmäßigen Abständen (etwa sechs Monate) automatisch aus Variante 2 erstellt und
zum Download angeboten. Als Anwendungsprofile werden die typischen Umgebungsbedingungen, für die in Deutschland momentan diskutierten drei möglichen Wirtsgesteine (Salz, Ton, Granit), bezeichnet. Weiterhin soll ein einfacher Zugriff direkt auf
die Datenbestände durch zuvor autorisierte Nutzer über konventionelle Web-Browser
(Abbildung 2) möglich sein. Hierbei werden vom Nutzer Abfragekriterien definiert und
die
entsprechenden
Detaildatensätze
aus
der
Datenbasis
ausgegeben.
Nutzungsarten sollen über ein gemeinsames Interface vermittelt werden.
9
Beide
Abbildung 2: Zugriffsschema über WWW-Interface
Für
die
zuvor
genannten
Anforderungen
an
die
Datenbankadministration,
Datenbestandspflege und Datenbankzugriff ergibt sich die Anforderung, ein
komfortables Nutzerinterface programmieren zu können. Da zum jetzigen Zeitpunkt
noch nicht geklärt ist, welche Skriptsprache verwendet werden soll bzw. über welche
Programmiersprachen Zugriffsmodule erstellt werden, muss die Datenbank hier eine
gewisse
Flexibilität
aufweisen.
Insbesondere
sollten
zum
Beispiel
folgende
Skriptsprachen unterstützt werden: PHP, Perl, Python, und Ruby. Während bei höheren
Programmiersprachen Wert auf C, C++, C#, Delphi sowie Java gelegt wird.
10
3.3 Technologische Anforderungen
Integritätssicherung
Um die Sicherung der Richtigkeit, Vollständigkeit und logischen Widerspruchsfreiheit
der Daten auf der Datenbank zu gewährleisten, muss die Datenintegrität durch
verschiedene Technologien gesichert werden. Die Integritätssicherung beinhaltet die
Sicherung der Daten vor Verlust oder Zerstörung bei Programm- oder Gerätefehlern
(physische Integrität), vor Schäden bei parallel oder konkurrierend zugreifenden
Nutzern und Programmen (operationale Integrität) und die inhaltliche Richtigkeit bei
Pflegeoperationen und Dateneingabe (semantische Integrität). In diesem Abschnitt
werden die Formen der Integrität erläutert und die Integritätssicherung anhand von
ausgewählten Datenbankfunktionen dargestellt.
Ein wichtiger Bestandteil bei der Sicherung der Integrität sind die Transaktionen.
Transaktionen sind Datenmanipulationen, die eine logische Einheit bilden und dabei die
Datenbank von einem konsistenten Zustand in einen anderen konsistenten Zustand
überführen. Diese Transaktionen sollten nach dem ACID-Prinzip erfolgen:
-
Atomicity (Atomarität): Die Transaktion muss vollständig ausgeführt werden
oder gar nicht.
-
Consistency (Konsistenz): Nach Beendigung einer Transaktion muss der
Zustand der Datenbank wieder widerspruchsfrei sein.
-
Isolation: Es wird verhindert, dass sich in Ausführungen befindliche
Transaktionen gegenseitig beeinflussen. Das geschieht zum Beispiel über
Sperrprotokolle oder Zeitstempelverfahren.
-
Durability (Dauerhaftigkeit): Das Ergebnis einer Transaktion bleibt
dauerhaft in einer Datenbank erhalten und kann nicht mehr verloren gehen.
Die physische Integrität kann bei der Arbeit mit der Datenbank durch Fehler in den
Operationen einer Transaktion und durch Software-/Hardwarefehler verletzt werden.
Das Ziel der physischen Integritätssicherung ist die Sicherung der Vollständigkeit des
Datenbestandes und die Vermeidung von Datenverlust.
11
Die operationale Integrität sichert die Konsistenz der Daten beim Mehrbenutzerbetrieb,
d. h. zwei oder mehr Nutzer wollen einen Datensatz gleichzeitig ändern. Dabei kann es
zu Fehlern im Datenbestand kommen, obwohl jeder Nutzer für sich fehlerfrei arbeitet.
Zur Vermeidung dieser Konflikte muss ein fiktiver Einzelnutzerbetrieb und die
Isolation einer jeden Transaktion realisiert werden.
Die semantische Integrität wird durch Fehler (beabsichtigt oder unbeabsichtigt) bei der
Eingabe und Änderung der Daten verletzt. Durch den Vergleich von Daten und
Datenveränderungen mit individuell aufgestellten Integritätsbedingungen kann die
semantische Integrität gesichert werden. Diese Integritätsbedingungen sind beim
Datenbankentwurf sehr schwer abzuleiten, da diese von Fall zu Fall in oft
unterschiedlicher Weise von dem Entwickler aufzustellen sind.
Um die oben genannten Formen der Integritäten zu sichern, stellt das DBMS
verschiedene Funktionen und Möglichkeiten zur Verfügung, die im Folgenden
auszugsweise näher erläutert werden.
Die physische Integrität sichert man am einfachsten durch regelmäßige Backups der
Datenbank und durch Spiegelungen auf anderen Servern. Logging und Recovery sind
bei auftretenden Transaktions- oder Hardwarefehlern geeignete Wiederherstellungsverfahren. Beim Logging muss man zwischen der temporären Protokolldatei und der
Archiv-Protokolldatei
unterscheiden.
Die
temporäre
Protokolldatei
dient
zur
Wiederherstellung nach Transaktionsfehlern und bei einem Systemausfall. Die in der
Protokolldatei gesicherten Daten können nach dem Einbringen des ursprünglichen
Datenbestandes wieder überschrieben werden. Bei einem Festplattenausfall (Headcrash)
sind alle nach dem letzten Backup der Datenbank erfolgten Transaktionen notwendig.
Hierfür wird eine Archiv-Protokolldatei, in der alle Eintragungen der temporären
Protokolldateien archiviert sind, benötigt.
Beim Revocery wird der konsistente Zustand einer Datenbank nach einem Fehler
(Transaktionsfehler, Systemausfall oder Ausfall von Speichermedien) wiederhergestellt.
Es werden dabei verschiedene Recoverymaßnahmen (Tabelle 1) in Abhängigkeit vom
auftretenden Fehler angewandt.
12
Tabelle 1: Hauptfehlerquellen und Recoveryverfahren [I_WLOK02]
Hauptfehlerquellen
Transaktionsfehler
(z.B. Verletzung der
semantischen Integrität)
Systemfehler
(Verlust des
Hauptspeicherinhaltes)
Medienfehler
(Plattenfehler)
Recoveryverfahren
Zurücksetzen gescheiterter
Transaktion UNDO (R1)
Transaktionen beeinflusst andere
partielles Zurücksetzen
Transaktionen nicht
Partial REDO (R2)
partielles Wiederholen
Wiederholung derjenigen
abgeschlossenen Transaktionen,
deren Ergebnisse verloren
gegangen sind
Global UNDO (R3)
vollständiges
Zurücksetzen
Zurücksetzen aller gescheiterten
Transaktionen
Globales REDO (R4)
vollständiges
Wiederholen
Wiederholen aller
abgeschlossenen Transaktionen
Wenn mehrere Nutzer/Programme zur gleichen Zeit auf denselben Daten arbeiten, dann
kann es zur Verletzung der operationalen Integrität kommen. Zur Sicherung der
Ablaufintegrität gibt es verschiedene Gruppen von Verfahren, von denen drei kurz
vorgestellt werden.
Beim pessimistischen oder sperrorientierten Verfahren wird davon ausgegangen, dass
parallele laufende Transaktionen auf gleiche Daten eines Datenbestandes zugreifen. Um
Konflikte zu vermeiden, werden diese Daten für andere Transaktionen gesperrt.
Das optimistische Verfahren geht zunächst davon aus, dass parallel laufende
Transaktionen nicht zur selben Zeit auf die gleichen Daten zugreifen. Die Daten werden
nicht gesperrt, sondern erst im weiteren Verlauf auf Konflikte überprüft. Im Falle einer
Verletzung der operationalen Integrität werden die Transaktionen zurückgesetzt.
Um Konflikte zu erkennen, bekommen die Transaktionen beim Zeitstempelverfahren zu
Beginn eine Zeitmarke. Beim Lesen eines Datenobjektes bekommt diese eine
Lesezeitmarke und beim Schreiben eine Schreibzeitmarke. Durch einen Vergleich der
unterschiedlichen Zeitmarken kann ermittelt werden, ob die Daten von einer parallel
laufenden Transaktion verändert wurden sind. Kommt es zu einem Konflikt, dann
werden die Transaktionen zurückgesetzt und erneut gestartet.
13
Zur Sicherung der semantischen Integrität bieten DBMS einige Möglichkeiten, wie zum
Beispiel:
-
CHECK – Klauseln
-
Trigger
-
Entity-Integrität
-
Referentielle Integrität
CHECK-Klauseln werden zum Beispiel bei der Erstellung von Tabellen verwendet, um
den Wertebereich für Attribute einzuschränken. Die Aufnahme unsinniger Daten wird
somit mit einer Fehlermeldung verweigert.
Trigger werden direkt in der Datenbank hinterlegt und automatisch ausgeführt, wenn
Änderungen (INSERT, UPDATE, DELETE) in der Datenbank vorgenommen werden.
Diese können vor (BEFORE) oder nach (AFTER) einer Änderung eines Datensatzes
aufgerufen werden. Ein DELETE-Trigger reagiert beispielsweise auf einen DELETEBefehl und führt dabei eine vorher festgelegte Befehlsfolge (weitere DELETE-Befehle)
aus.
Die Entity-Integrität stellt sicher, dass jedes Entity einer Relation einen eindeutigen
Schlüssel besitzt, dessen Attribut zu keinem Zeitpunkt einen NULL-Wert enthalten
darf.
Besitzt eine Relation einen Fremdschlüssel, der auf einen Primärschlüssel einer anderen
Relation verweist, dann muss jeder Wert des Fremdschlüssels gleich einem Wert des
Primärschlüssels der anderen Relation sein, um die referentielle Integrität zu
gewährleisten [I_WLOK02].
14
Zugriffsschutz
Der Zugriffsschutz ist eine Anforderung mit sehr hoher Priorität, da es sich um eine
Standarddatenbank für die Anwendung in Endlager – und Sanierungsprojekten handelt,
mithin eine sehr sensible Problematik betrifft. Es muss daher sichergestellt werden, dass
nur berechtigte Personen Änderungen an der Datenbank vornehmen können. Die
öffentliche Verfügbarkeit der Datenbank im Internet macht es notwendig, dass die
übertragenen Anmeldungsdaten mittels SSL (Secure Sockets Layer) verschlüsselt
werden können.
Die Datenbank wird parallel von der GRS (in deren Rechenzentrum in Berlin) und vom
Forschungszentrum Dresden-Rossendorf und nicht von einem externen HostingDienstleister bereitgestellt. Dies garantiert eine Langzeitverfügbarkeit des Hosts an sich.
Eine hohe durchschnittliche Verfügbarkeit und Sicherheit ist durch die entsprechenden
Rechenzentren abzusichern.
Nutzer, mit wohldefinierten Rechten und abgestuftem Zugriff auf den Datenbestand,
müssen verschiedenen Nutzergruppen zugeordnet werden,. Die Datenintegrität wird so
über eine Beschränkung des Nutzerzugriffs auf qualifizierte und autorisierte Personen
unterstützt. Folgende drei Nutzergruppen sollen unterschieden werden:
-
Nutzer, welche die Datenbasis per Abfrage nutzen, um ihren spezifischen
Datenbedarf zu befriedigen. Mitglieder dieser Gruppe (welche die DefaultGruppe ist) besitzen lediglich Leserechte für die Datentabellen (ohne
ausgewählte Tabellen für die Administration). Sie dürfen aus THEREDA
Daten abfragen und entsprechend den Möglichkeiten der Nutzerschnittstelle
weiterverarbeiten.
-
Editoren, welche als qualifiziert genug angesehen werden, die Datenauswahl,
-bewertung und -eingabe bzw. ggf. Datenkorrekturen durchzuführen.
Zusätzlich zu den Nutzern der Default-Gruppe „users“ besitzen die Editoren
die
Schreibberechtigung auf
die
Tabellen
mit
thermodynamischen
Datensätzen.
-
Administratoren, welche die Gesamtverwaltung von THEREDA absichern,
mit Lese- und Schreibrechten für sämtliche Tabellen. Aufgabe der
15
Administratoren ist zudem die Sicherstellung des regelmäßigen Betriebs von
THEREDA sowie die Pflege der Datenbank inklusive der Bereitstellung von
Updates bei Bedarf.
3.4 Kostenanalyse
Bedingt durch die anvisierte Langzeitverfügbarkeit auf Basis öffentlicher Steuergelder
ist die Kostenminimierung ein wichtiger Bestandteil der Planungen. Die Kosten der
Datenbank lassen sich in einmalige, laufende und spekulative Kosten aufteilen.
Einmalige Kosten
Die einmaligen Kosten sind die Kosten, die einmal zum Beginn eines Projektes
anfallen.
Darunter fallen die Kosten für die Datenbank, den verwendeten Server (Hardware und
Software) und gegebenenfalls Installationskosten. Installiert wird die Datenbank auf
Servern beteiligter Projektpartner (siehe Kapitel 1), so dass die Kosten für den Server
und die Installation sehr gering ausfallen werden.
Ein Teil der Daten wird momentan noch in Microsoft Access Tabellen bereitgestellt.
Deswegen sollte eine ODBC-Schnittstelle verfügbar sein, damit diese bereits
strukturiert vorliegenden Daten auf einfache Weise importiert werden können. Eine
erneute Aufbereitung und Eingabe dieser Daten wäre ökonomisch nicht sinnvoll.
Betriebskosten
Die Betriebskosten setzen sich aus Kosten für das Hosting, die Serverwartung und
Abschreibungen zusammen. Diese Kosten fallen sehr gering aus, da kein externer
Dienstleister (Webhoster) in Anspruch genommen werden muss. Da auch keine
Investitionen getätigt werden müssen, fallen auch keine Abschreibungskosten an. Die
meisten laufenden Kosten werden die Personalkosten sein, die durch die Server/Datenbankwartung
und
Datenmanipulationen
entstehen.
Dabei
werden
die
Personalkosten für die Datenmanipulation am größten ausfallen, da die komplette
16
Administration/Wartung
vom
Verbundpartner
Gesellschaft
für
Anlagen-
und
Reaktorsicherheit (GRS) mbH in Berlin übernommen wird.
Spekulative Kosten
Die spekulativen Kosten können nicht vorab quantifiziert werden, weil diese Kosten
nicht notwendigerweise auftreten müssen. Unter diese fallen zum Beispiel die Kosten
für das Update einer kostenpflichtigen Datenbank, für die Umstellung auf eine andere
Datenbank, für kostenpflichtigen Support oder für Weiterbildungen. Zusätzliche Kosten
ergeben sich durch die lange Laufzeit des Projektes und dem ständigen technologischen
Fortschritt von Hard- und Software, z.B. wird der jetzige Server nach einigen Jahren
veraltet sein und ersetzt werden müssen.
3.5 Analyse der Datentypen und des Datenbestandes
Der Datenbestand setzt sich aus verschiedenen Kategorien zusammen. Eine relativ
kleine Anzahl von Datensätzen dient der näheren Beschreibung der verschiedenen
chemischen Elemente und den daraus gebildeten Verbindungen (z.B. Minerale oder in
Wasser gelöste Ionen). Hierunter fallen unter anderem chemische Symbole, Bezeichner,
Atommassen, elektrische Ladungen oder Kristallformen. Der Hauptteil der Datenbank
umfasst die numerischen Werte für chemische Reaktionsparameter wie z.B.
Stabilitätskonstanten, Enthalpien, Entropien oder Wärmekapazitäten. Ein weiterer
numerischer Teil enthält die Parameter, welche die Wechselwirkungen zwischen
elektrisch geladenen Teilchen (Ionen) beschreiben. Alle numerischen Werte stammen
aus wissenschaftlichen Veröffentlichungen. Die zugeordneten bibliographischen
Informationen werden in der Datenbank ebenfalls hinterlegt. Schließlich werden noch
einige
Metadaten
(Namen
und
Institutionen
der
Datenbank-Bearbeiter,
Versionshinweise, etc.) vorgehalten. Weitere Details hierzu sind im Kapitel 7 zu finden.
Hier soll zunächst nur auf den abzuschätzenden Umfang des Gesamtdatenbestandes
eingegangen werden. Für eine solche Betrachtung ist zudem noch wichtig, dass zum
gegenwärtigen Zeitpunkt (nach über 120 Jahren der Gewinnung chemischer Stoffdaten)
der Hauptteil der interessierenden Verbindungen bereits hinlänglich genau untersucht
17
ist. Das bedeutet, dass für die Zukunft (hier: die weiter oben abgeschätzten 40 Jahre
Bestand der THEREDA-Datenbasis) nicht damit zu rechnen ist, das der gegenwärtig
weltweit verfügbare Datenbestand um mehr als einen einstelligen Prozentbetrag
anwachsen wird.
Alle
nachfolgenden
numerischen
Werte
sind
wiederum
Schätzungen
von
Maximalwerten (außer der Liste der Elemente, welche vom Projekt vorgegeben ist). Die
nachfolgenden Elemente sind expliziter Bestandteil der THEREDA-Aktivitäten. Dazu
kommen noch Sauerstoff (O) und Wasserstoff (H) als wesentliche Komponenten fast
aller Spezies (diese sind daher nicht jeweils separat aufgeführt). In der momentanen
ersten Projektphase konzentrieren sich die Arbeiten zur Datensichtung, -bewertung und
-auswahl auf die folgenden Elemente.
1. Actinide, Spalt- und Aktivierungsprodukte:
-
Pa, Th, U, Np, Pu, Cm, Am
-
Sm, I, Se, Cs, Ru, Sr, Ni, Tc, Zr, Sb, Eu, Co, Fe, Ra, Nb, Mo, Pd, Ag
2. Zircalloy (Umkleidung der Brennstäbe) & Containermaterial:
-
Fe, Zr und Legierungselemente (Sn, Ni, Cr, Nb)
3. Toxische Schwermetalle und andere Schadstoffe:
-
Zn, Cr, Co, Ni, Cu, Cd, Hg, Pb, As
4. Lösungsbestandteile im Salz:
-
Na, K, Mg, Ca, Cl, S, C
5. Tongestein (Alumosilikate und Verwitterungsprodukte)
-
Al, Si, K, Fe
6. Zement-Phasen
-
Ca, Al, Si
7. Komponenten der häufigsten Laborsysteme
-
N, Cl
Da einige Elemente in mehreren Kategorien erfasst sind, ergibt sich eine Gesamtzahl
von 45. Bei den aus den Elementen gebildeten Verbindungen (Spezies) wird von 30
Mineralen und 50 gelösten Komplexen (Ionen) ausgegangen. Pro Verbindung wiederum
sind 6 Reaktionsdaten (log k /
0
fG
/
0
fH
/ S0 / Cp0 / V0) mit jeweils 6 Temperatur-
18
koeffizienten vorstellbar. Das entspricht also 72 Zahlenwerten, wenn man
berücksichtigt, dass im Idealfall jeder numerischer Wert noch eine Fehlerangabe besitzt.
Als Reaktionsdaten sind also maximal 44 × (30 + 50) × 72 = 253440 Datensätze zu
erwarten.
Für die Erfassung der Ionen-Wechselwirkungsparameter sind zunächst die möglichen
Ionenkombinationen abzuschätzen. Hier wird von 50 Paaren und 100 Tripeln
ausgegangen. Pro Ionenkombination sind 9 Parameter (8 für das Pitzer-Modell nach
[L_PITZ01] und 1 für das einfachere, alternative SIT-Modell) mit bis zu 4
Temperaturkoeffizienten denkbar, inklusive Fehlerangaben also wiederum 72
Zahlenwerte. Insgesamt ergeben sich so (50 + 100) × 72 = 10800 Datensätze zur
Beschreibung der Ionen-Wechselwirkung.
Also ergibt sich als Maximalschätzung ein Umfang von ca. 254000 Datensätzen mit
zugehörigen Literatur-Referenzen. Die anderen oben genannten Datenkategorien sind
im Vergleich dazu von der Menge her vernachlässigbar.
Ein alternatives (und womöglich realistischeres) Szenario zur Abschätzung der Größe
der Datenbasis bei Ende des Projektes basiert auf dem verfügbaren Personaleinsatz. Es
wird davon ausgegangen, dass 5 Mitarbeiter, jeweils den halben Tag (4 Stunden), 220
Tage im Jahr, 3 Jahre lang Daten einpflegen und im Durchschnitt zwei Datensätze pro
Stunde bewältigen. Dies ergibt als Obergrenze lediglich 5 × 4 × 220 × 3 × 2 = 26400
Datensätze, also deutlich unter der obigen Abschätzung.
Unabhängig von der Vorgehensweise bei der Abschätzung des Gesamtdatenbestandes
kann festgehalten werden, dass die Größe der Datenbank vergleichsweise klein bleiben
wird.
19
4 Konzeption einer Auswahlstrategie
4.1 Datenbankmodelle
Unter dem Datenbankmodell versteht man das Konzept wie Daten in ein
Datenbanksystem gespeichert werden und die Datenmanipulationen erfolgen. In den
meisten Fällen werden fünf Datenbankmodelle unterschieden:
-
Hierarchisches Datenbankmodell
-
Netzwerkdatenbankmodell
-
Objektorientiertes Datenbankmodell
-
Relationales Datenbankmodell
-
Objektrationales Datenbankmodell
Das hierarchische Datenbankmodell und das Netzwerkdatenmodell sind die ältesten
Datenbankmodelle und werden in der Praxis kaum noch eingesetzt. Die Gründe hierfür
sind u.a. die sehr beschränkten Modellierungsmöglichkeiten beim hierarchischen
Datenbankmodell sowie die anspruchsvolle DDL (Data Definition Language) und DML
(Data Manipulation Language) beim Netzwerkdatenmodell. Daher wird auf diese
beiden Datenbankmodelle in dieser Diplomarbeit nicht weiter eingegangen.
Bei objektorientierten Datenbanken werden die Daten als Objekte im Sinn der
Objektorientierung abgelegt. Jedes Objekt besitzt Attribute bzw. Eigenschaften, welche
ein Objekt näher bezeichnen, zum Beispiel gehört die Molare Masse und das Symbol zu
dem Objekt Element. Die Datenbasis besteht aus einer Sammlung von Objekten, wobei
jedes Objekt einen physischen Gegenstand, ein Konzept, eine Idee usw. repräsentiert. In
anderen Datenbanksystemen werden die Daten satzorientiert (Netzwerk- und
Hierarchisches Datenmodell) oder mengenorientiert (relationales
Datenmodell)
abgelegt. Einige Anforderungen an das objektorientierte Datenbankmodell sind:
-
Unterstützung komplexer (zusammengesetzter) Objekte
-
Unterstützung von Objekttypen und Klassenbildung
-
Vererbung von Objekteigenschaften über die Klassenhierarchien
20
-
Identität des Objektes muss unabhängig sein
-
Schutz der Objekte durch Methoden, Zugriff nur über vorher definierte
Schnittstellen
Beim relationalen Datenbankmodell (Abbildung 3) werden die Daten in Relationen
(zweidimensionale Tabellen) gespeichert. Diese Tabellen werden über Schlüssel
definiert (Primärschlüssel) und verknüpft (Fremdschlüssel). Die Beziehungen werden
meistens über ein Entity-Relationship-Modell (Abbildung 4) dargestellt.
Abbildung 3: Relationales Datenmodell
Abbildung 4: Entity-Relationship-Modell
Das relationale Datenbankmodell ist einfach zu verstehen und mit SQL hat sich ein
Sprachstandard für DDL und DML weitgehend durchgesetzt. Der Performancenachteil
gegenüber dem hierarchischen Datenbankmodell hat sich inzwischen durch die
Verbesserung der Leistungsmerkmale moderner Rechnersystem relativiert. Deswegen
ist das relationale Datenbankmodell das heute am häufigsten verwendete Modell.
21
Das objektrationale Datenbankmodell ist ein Bindeglied zwischen dem relationalen und
dem objektorientierten Datenbankmodell. Ziel ist es, das erfolgreiche relationale
Datenbankmodell mit den Vorteilen des objektorientierten zu verbinden und dabei die
Kompatibilität zum relationalen Datenbankmodell zu bewahren. Objektrelationale
DBMS erweitern das relationale Datenbankmodell um die Fähigkeit Daten
objektorientiert zu modellieren. Der SQL:99 Standard wurde um objektorientierte
Funktionalitäten
erweitert,
deswegen
können
die
Anbieter
ihre
DBMS
zu
objektrationalen DBMS ausbauen.
Beim THEREDA-Projekt wurde bereits im Vorfeld festgelegt, dass nur relationale und
objektrelationale Datenbanken zum Einsatz kommen sollen. Deswegen werden in dieser
Diplomarbeit nur diese beiden Typen betrachtet.
4.2 Lizenzmodelle
Das den einzelnen Datenbanken zu Grunde liegende Lizenzmodell ist für die Bewertung
der verschiedenen Analysenergebnisse, insbesondere für die Punkte Langzeitverfügbarkeit, Sicherheit und Kosten von großer Bedeutung. Daher werden im
Folgenden die beiden wichtigsten Klassen der Lizenzmodelle kurz charakterisiert und
repräsentative Beispiele aufgeführt.
4.2.1 Closed Source
Als Closed Source wird Software bezeichnet, bei der der Programmcode nicht
zugänglich ist. Der Hersteller der Software kompiliert seinen Programmcode zu einem
lauffähigen Programm und will somit den Zugang zum Programmcode für Dritte
erschweren. Closed Source wird meistens bei kommerzieller Software (proprietäre
Software) genutzt. Somit kann nur der Hersteller Änderungen am Programmcode
22
vornehmen. Durch Reverse Engineering kann man den Quellcode zurückgewinnen, was
aber die meisten Firmen in ihren Lizenzbedingungen verbieten.
4.2.2 Open Source
Als Open Source wird Software bezeichnet, bei der der Programmcode für jeden
einzusehen ist. Die Veröffentlichung von Open Source Software erfolgt unter einer
Open Source Lizenz, wo der Quellcode verändert und weitergeben werden darf.
Dadurch kann jeder Veränderungen am Programm vornehmen und zum Beispiel
aufgetretene Sicherheitslücken selbst schließen. In Tabelle 2 werden einige Vor- und
Nachteile von Open Source Software aufgeführt.
Tabelle 2: Vor- und Nachteile von Open Source Software
Vorteile
Nachteile
- Niedrigere Kosten
- Fehlende Produktverantwortlichkeit
- Höheres Sicherheits-Niveau
- Oft keine offizielle Supportstelle
- Bewertung durch Nutzer
- Planung neuer Versionen schwer
- Modifizier-/Erweiterbarkeit
möglich
- Community
Damit eine Pflege (und ggf. Weiterentwicklung und Updates) von Open Source
Software aber tatsächlich realistisch ist, sollte auch eine hinreichend große
Entwicklergemeinde (Community) engagiert sein. Je größer diese ist, desto besser ist
erfahrungsgemäß der Support in den Foren und desto schneller werden Updates bei
Programmfehlern verfügbar gemacht. Sicherheitslücken können durch den offenen
Programmcode von jedem Entwickler geschlossen werden. Dies geschieht meist
schneller als bei einer Softwarefirma. Die qualitativen Bewertungen der jeweiligen
Software
erfolgen
von
unabhängigen
Personen,
Glaubwürdigkeit besitzen [I_BUCK01].
23
so
dass
diese
eine
hohe
Engagement und Größe der Community sind naturgemäß nur schwer quantifizierbare
Eigenschaften. In der vorliegenden Arbeit werden daher diese näherungsweise über die
Beitragsanzahl in den relevanten Foren und Newsgroups, Downloadzahlen bei
http://sourceforge.net/ und die Anzahl der Installationen/Referenzen beurteilt.
4.2.3 Open Source Initiative (OSI) zertifizierte Lizenzen
Die Open Source Initiative (OSI) ist eine gemeinnützige Organisation, die 1998 von
Bruce Perens und Eric Raymond gegründet wurde. Die OSI überprüft von Dritten
eingereichte Open Source Lizenzen bezüglich der Einhaltung der Open Source
Definition (OSD), bei positivem Gutachten wird ein entsprechendes Zertifikat
ausgestellt. Unter anderem sind bisher die GNU General Public License (GPL), die
New BSD License und die PHP License von der OSI zertifiziert. Eine vollständige Liste
kann unter [I_LIST01] abgerufen werden.
4.3 Definition und Beurteilung von Auswahlkriterien
In diesem Kapitel werden die Kriterien benannt und in ihrer Bedeutung geordnet,
welche für die Erfüllung der unter Kapitel 3 analysierten Anforderungen notwendig
sind. Diese Kriterien sind die Basis für die Auswahlentscheidungen in Kapitel 6 und
sind in Tabelle 3 zusammengefasst.
Tabelle
3
ordnet
gleichzeitig
die
Auswahlkriterien
nach
den
Kategorien
„Projektkritisch“, „Wichtig“ und „Projektunkritisch“. Die projektkritischen Kriterien
muss die zukünftige Datenbank unbedingt erfüllen. Werden diese nicht erfüllt, dann
kann die Funktionalität des Gesamtprojektes nicht gewährleistet werden. Durch
Nichterfüllung der wichtigen Kriterien ist die Funktionalität des Gesamtprojektes nicht
grundsätzlich gefährdet. Dennoch sollte die Datenbank diese erfüllen, da sie
Voraussetzung für ein effizientes und sicheres Funktionieren der Datenbank sind.
24
Kriterien, die unter projektunkritisch fallen, sind für das Gelingen des Projektes nicht
notwendig, wären aber wünschenswert.
Zum besseren Verständnis von Tabelle 3 sind noch einige Anmerkungen notwendig.
Für die Gewährleistung der Langzeitverfügbarkeit sind sowohl die (weitestgehende)
Einhaltung des SQL:92 Standards als auch die Offenheit des Quellcodes essentiell. Nur
durch die Offenheit des Quellcodes kann gewährleistet werden, dass die Datenbank
ständig weiterentwickelt wird. So ist man von Softwareherstellern unabhängig, denn
diese können die Weiterentwicklung und den Support jederzeit einstellen. Ist der
Quellcode Closed Source, so kann auch eine entstandene Community diese Datenbank
nicht weiterentwickeln. Der SQL:99 Standard wird nur als wichtig angesehen, da dieser
in kaum einer Datenbank im großen Umfang umgesetzt ist. Bei Datenbanken, die mit
der Konformität zum SQL:99 Standard werben, ist nur ein geringer Teil des SQL:99
Standard wirklich umgesetzt [I_WLOK01]. Unter dem Gesichtspunkt der hohen
Sensibilität der erfassten Daten sind sowohl eine sichere Kommunikation mit der
Datenbank als auch die Gewährleistung von logischer und physischer Integrität
unabdingbar. Wichtige Elemente sind hierbei die Verfügbarkeit von ACIDTransaktionen, die Unterstützung von Triggern und die Bereitstellung von CHECKBedingungen. Schließlich nützt der beste Datenbestand wenig, wenn nicht auch
Werkzeuge für den Aufbau einer modernen Nutzerschnittstelle verfügbar sind, also
entsprechende Skript- und Programmier-sprachen (und daraus aufgebaute komplexere
Tools) auf die Datenbank zugreifen können. All diese Auswahlkriterien sind daher als
projektkritisch eingestuft.
Innerhalb der Kategorie „Wichtig“ ist die Absicherung der Kosteneffizienz (unter Open
Source gewährleistet, aber im Prinzip auch auf anderen Wegen möglich) eingeordnet,
hiermit verbunden ist der Bedarf einer ODBC-Schnittstelle für die Übernahme bereits
erfasster Daten. Weiterhin wird die Unterstützung von mindestens zwei Betriebssystemen sowie die Verfügbarkeit von Tools für eine einfache Administration als
wichtig erachtet.
25
Als projektunkritisch sind die Toleranz betreffs hoher absoluter Zugriffszahlen,
Nutzerzahlen und einer hohen Zugriffsfrequenz, sowie die maximal verwaltbare
Datenmenge zu bewerten, da all diese Zahlen relativ gering ausfallen (siehe Kapitel
3.5).
Tabelle 3: Gruppierung der Auswahlkriterien für ein DBMS nach deren Relevanz für das Gelingen des
THEREDA-Projektes
Projektkritisch
Wichtig
Projektunkritisch
-
SQL:92-Standard
-
SQL:99-Standard
-
Open Source
-
Kosteneffizienz
(Lizenz,
-
ODBC-Schnittstelle
-
Datenbankgröße
Community)
-
Unterstützte
-
Nutzerzahlen
-
Sichere
Kommunikation
(SSL)
-
Betriebssysteme
-
Tools zur einfachen
Administration
Logische
Datenintegrität
(ACID, Trigger,
CHECK)
-
Skript- und
Programmiersprache
n
26
-
Zugriffszahlen und
-frequenz
5 Grundlagen der Datenbankmangementsysteme
5.1 Konzept eines DBMS
Datenbankmanagementsysteme stellen Werkzeuge bereit, mit denen eine oder mehrere
Datenbanken (Abbildung 5) erstellt, mit Daten gefüllt und verwaltet werden können.
Abbildung 5: Grobarchitektur von Datenbanksystemen nach Stahlknecht [L_STAH01]
Von einem DMBS wird gefordert, dass:
-
die Daten logisch und physisch unabhängig sind,
-
die Datenintegrität gewährleistet wird,
-
die Daten redundanzfrei sind.
Daraus ergeben sich die folgenden Hauptanforderungen an die Datenbank:
-
die Daten müssen nach beliebigen Merkmalen auswertbar und
verknüpfbar sein,
-
die Daten dürfen festgelegten Benutzern ganz oder teilweise zugänglich
sein,
-
die Daten müssen für bestimmte Benutzer gesperrt werden können,
-
eine Abfrage von Daten muss in kurzer Zeit zum Ergebnis führen.
27
5.2 Übersicht relevanter DBMS
In diesem Kapitel wird jedes betrachtete DBMS kurz vorgestellt. Es wurden insgesamt
elf DBMS geprüft. Da ständig neue Versionen (Updates/Patches) veröffentlicht werden,
wurde der 16.03.2007 als Stichtag festgelegt. Alle neuen Versionen nach diesem
Stichtag konnten in der vorliegenden Arbeit leider nicht mehr betrachtet werden. Bei
der Zusammenstellung der Übersicht wurde zudem bewusst auf Datenbanken verzichtet,
welche dediziert für die Nutzung in Großunternehmen ausgelegt sind, dadurch eine
überdurchschnittliche Komplexität aufweisen, oft nur auf Mainframes laufen und/oder
sehr hohe Kosten verursachen. Als Beispiele hierfür seien Oracle 10g Enterprise Edition
(entweder $800 pro Nutzer bei einer Mindestnutzerzahl von 25 oder $40000 pro CPU
für unbegrenzte Nutzeranzahl) [I_ORAC03] oder SolidDB 6 (Hersteller Solid
Information Technology, Preise nur auf Anfrage) genannt [I_SOLI01].
Die Vorstellung der einzelnen DBMS erfolgt in Kurzform und nach alphabetischer
Reihenfolge.
Firebird
Die Firebird Datenbank gibt es aktuell in der Version 2.0.1 und wird unter der IDPL
(Initial Developer's PUBLIC LICENSE) Lizenz bereitgestellt. Die Open-SourceDatenbank ist aus der von Borland entwickelten InterBase Version 6 entstanden.
Borland hatte im Jahre 2000 den Quellcode freigegeben, da die Datenbank kaum
Marktanteil besaß. Durch die Freigabe wollte man das Produkt wiederbeleben und
durch kommerziellen Support höhere Einnahmen erzielen. Dieses Konzept ging jedoch
nicht auf, so dass Borland den Code wenig später (Version 7.1) wieder schloss. Die bis
dahin entstandene Community entwickelte das Produkt eigenständig unter dem Namen
Firebird weiter. Betrachtet wurde nur die Version 1.5, da die Version 2.0.1 erst Ende
März 2007 veröffentlicht wurde und noch keine zuverlässigen Informationen/Tests zur
Verfügung standen. Die Version 1.5 gibt es für Microsoft Windows und Linux
[I_FIRE01]. Die Datenbank bietet die grundlegenden Funktionen, aber jedoch nur
wenige anspruchsvolle Features [I_HORS01]. Unter anderem fehlen Firebird folgende
Funktionen:
28
-
Schemata
-
Volltext-Suche
-
SSL-Verschlüsselung zwischen Client und Server
-
Indexierungsalgorithmen außer B-Tree
IBM DB 2 Express-C
IBM DB 2 Express-C ist die kostenlose Version der DB2 Datenbank von IBM. Diese
wurde erstmals Anfang 2006 unter einer eigenen Lizenz (nicht Open Source) von IBM
veröffentlicht. Die kostenlose Version enthält folgende Einschränkungen gegenüber der
kommerziellen Version:
-
max. 2 CPUs werden unterstützt, dabei werden nur die Sockel gezählt und
nicht mehrere Kerne bzw. Hyperthreading
-
max. 4 GB Hauptspeicher
Die Größe der Datenbank, Anzahl der Benutzer und die Instanzen oder Datenbanken
pro Server sind nicht beschränkt. Sollte IBM die kostenlose Datenbank nicht mehr
weiterentwickeln bzw. nicht mehr anbieten, dann kann die aktuelle Version nicht von
der Community weiterentwickelt werden, da der Quellcode nicht Open Source ist.
Dadurch ist die Community wesentlich kleiner als von Datenbanken, bei denen
Quellcode Open Source ist. Die Datenbank unterstützt die Programmiersprachen
C/C++, Java, .NET und PHP und unterstützt diverse Betriebssysteme (Microsoft
Windows, Linux, Unix u.a.) [I_IBMD01].
Informix
Informix wurde 2001 von IBM übernommen und wird seitdem von IBM
weiterentwickelt. Aktuell gibt es die Version 10 für alle gängigen Betriebssysteme zum
Download. Seit dem Kauf der Informix-Datenbank von IBM werden die Funktionen
von Informix zu DB2 von IBM hinzugefügt. Somit soll der Umstieg von Informix auf
DBD für die Anwender von Informix erleichtert werden.
Der Quellcode von Informix ist nicht Open Source und die Datenbank muss käuflich
erworben werden. Die Preise variieren je nach Version zwischen 100 und 2000 Euro.
Um die Datenbank hat sich keine große Community entwickelt, da Informix nur als
29
kommerzielle Version zur Verfügung steht. Über den Funktionsumfang der Datenbank
konnten keine nennenswerten Angaben gefunden werden [I_INFO01].
Ingres
Ingres wurde in den 70er Jahren an der University of California, Berkeley, USA unter
Mike Stonebreaker entwickelt. Aktuell gibt es eine Enterprise und eine Community
Edition in der Version 2006 Release 2. Der Unterschied zwischen der kommerziellen
Enterprise Edition und der unter GPL (GNU General Public License Version 2)
veröffentlichten Community Edition ist, dass für die Enterprise Edition Support von
Ingres angeboten wird. Weitere Unterschiede bestehen nicht. Ingres unterstützt
Microsoft Windows, Linux und andere Betriebssysteme. Obwohl die Datenbank schon
seit Version Ingres r3 als Open Source Software freigegeben ist, ist die Community
nicht wesentlich größer geworden. Bei der älteren Version Ingres r3 fehlten wichtige
Features wie Before-Trigger, Check-Bedingungen und SSL-Verschlüsselung, die jetzt
in der Version 2006 Release 2 bis auf die SSL-Verschlüsselung alle enthalten sind
[I_INGR01], [I_HORS01].
MaxDB
MaxDB wurde 1977 unter dem Namen VDN (Verteilte Datenbanksysteme Nixdorf) an
der TU Berlin als Forschungsprojekt mit dem Partner Siemens Nixdorf AG entwickelt.
Bis 1997 wechselten oft die Rechte und Namen an VDN. 1997 übernahm SAP AG die
Datenbank und benannten sie in SAP DB um. Im Jahre 2000 veröffentlichte die SAP
AG die Datenbank unter der GNU Lizenz. 2003 wurde eine Kooperation zwischen der
SAP AG und MYSQL AB gegründet, welche die Datenbank zu MaxDB umbenannte.
MaxDB ist eine SAP-zertifizierte Open Source Datenbank für OLTP- und OLAP
Einsätze. Aktuell gibt es die Version 7.6 für Microsoft Windows 2000/XP, Linux, Sun
Solaris und andere Systeme unter der GPL.
MaxDB hat seine Stärken bei der parallelen Verarbeitung, da es eines der wenigen
Systeme ist, welches Multi-Threading, Multi-Processing und die parallele AbfrageBearbeitung beherrscht. Es fehlen aber auch wichtige Features wie zum Beispiel
30
Before-Trigger, sämtliche Indexierungs-Algorithmen außer B*-Tree und zweiphasiges
Commit [I_MAXD01], [I_HORS01].
Microsoft SQL Server 2005 Express
Microsoft SQL Server 2005 Express ist die kostenlose Version des Microsoft SQL
Server 2005, welchen es in den Versionen Workgroup, Standard und Enterprise gibt.
Die erste Version unter diesem Namen wurde 1992 als Microsoft SQL Server 4.2
veröffentlicht. Die Express Version gibt es nur für Microsoft Windows Betriebssysteme
und wird nicht unter einer Open-Source-Lizenz veröffentlicht. Die Version ist nicht
Open Source, somit hat sich auch keine große Community gebildet. Des Weiteren
unterstützt die Datenbank nur einen Prozessor, mit max. 1 GB RAM und eine maximale
Datenbankgröße von 4 GB. Über vorhandene bzw. nicht vorhandene Funktionen
werden keine nennenswerten Angaben gemacht [I_EDIT01].
MySQL
MySQL wurde 1995 von MySQL AB als Clone von mSQL entwickelt und wird als
Duales Lizenzsystem angeboten. Die Datenbank kann unter der GPL entwickelt und
vertrieben werden. Wenn man seinen Quell-Code nicht unter der GPL lizenzieren und
vertreiben will, dann bietet MySQL eine flexible kommerzielle OEM-Lizenz an.
MySQL 5.0 ist die aktuelle Version, die es unter anderem für Windows, Linux und
Solaris gibt.
Um die Datenbank hat sich schnell eine große Community gebildet, da das
Datenbanksystem eines der vier Säulen das LAMP-Stacks bildet (Linux, Apache,
MySQL, PHP/Python/Perl).
Seit der Version 5.0 ist MySQL auch für komplexe Unternehmens-Anwendungen
einsetzbar. Unter anderem unterstützt die neue Version jetzt Stored Procedures (nach
SQL 2003), Trigger und Updateable Views. Des Weiteren unterstützt MySQL MultiThreading und Mulit-Prozessor-Support. Einschränkungen gibt es bei den Constraints,
da MySQL nur UNIQUE und NOT NULL bietet, sowie bei der Partitionierung. Die
Rollen- und Gruppenkonzepte für das Rechtemanagement fehlen vollständig
[I_HORS01].
31
Oracle Database 10g Express Edition
2005 stellte Oracle die 10g Express Edition als kostenlose Variante seiner Datenbank
Oracle 10g vor. Diese Version ist für Microsoft Windows und Linux erhältlich. Oracle
nutzt eine eigene Lizenz, so dass der Quellcode nicht Open Source ist und somit auch
nicht von der Community weiterentwickelt werden kann. Aus diesem Grund hat sich
auch keine große Community um die Datenbank gebildet. Des Weiteren besitzt diese
Version einige Einschränkungen im Vergleich zu den kostenpflichtigen Versionen
(Standard Edition, Standard Edition One, Enterprise Edition). Zu den Einschränkungen
zählen, dass die maximale Datenbankgröße 4 GB beträgt, nur maximal 1 GB RAM und
ein Prozessor benutzt wird. Über vorhandene bzw. nicht vorhandene Funktionen werden
keine nennenswerten Angaben gemacht [I_ORAC01], [I_ORAC02].
PostgreSQL
POSTGRES wurde ursprünglich als universitäres Projekt an der University of
California (Berkeley Computer Science) entwickelt. Als das Projekt 1994 auslief, wurde
die Datenbank in Postgres95 umbenannt und unter der BSD-Lizenz als Open-SourceSoftware veröffentlichtet. 1996 erhielt die Datenbank ihren jetzigen Namen
PostgreSQL. PostgreSQL ist aktuell in der Version 8.2 für Microsoft Windows, Linux
und andere Systeme erhältlich. Durch die enorme Funktionsvielfalt und der BSD-Lizenz
hat sich eine sehr große Community gebildet. Die BSD-Lizenz erlaubt im Gegensatz zur
GPL, das Schließen von Codes. Somit können Unternehmen selbstentwickelte Features
zum Quellcode hinzufügen und dann selbst verteilen oder verkaufen. Des Weiteren ist
PostgreSQL weitgehend konform mit dem SQL:92 Standard und hat auch schon einige
Teile des SQL:99 und SQL:2003 Standards umgesetzt [I_EISEN01]. Somit stehen, die
in dem Standard geforderten Funktionen zur Verfügung. Einschränkungen müssen bei
der Parallelisierung und auch im Rechtemanagement akzeptiert werden werden. Es
können nur Rechte auf Tabellen, aber nicht auf Spalten vergeben werden. PostgreSQL
unterstützt zwar mehrere Prozessoren, aber kein Multi-Threading [I_HORS01].
32
SQLite
SQLite ist eine C-Programmbibliothek, welche eine relationale Datenbank enthält und
die ACID-Eigenschaften erfüllt. Die Datenbank wurde im Jahr 2000 von D. Richard
Hipp entwickelt und gibt es aktuell als Version 3.4.0 für Microsoft Windows und Linux
unter der Public Domain Lizenz kostenlos zum Runterladen. Public Domain bedeutet,
dass die Software gemeinfrei ist und somit keinem Urheberrecht mehr unterliegt. Der
Vorteil dieser Datenbank gegenüber anderen Datenbanken ist, dass durch das Einbinden
der Bibliothek die Applikation um Datenbankfunktionalitäten erweitert wird, ohne auf
externe Softwarepakete angewiesen zu sein. Nachteile sind unter anderem, dass die
Datenbank nur teilweise mit dem SQL-92 Standard konform ist, dass bei Bearbeitung
von Daten die komplette Datenbank für Schreiboperationen gesperrt wird und es keine
richtige Rechteverwaltung gibt [I_SQLI01].
SYBASE SQL Anywhere Developer Edition
SQL Anywhere Developer Edition wird als kostenlose Entwicklungs- und Testversion
angeboten und ist im Moment in der Version 10.0 erhältlich. Diese Version unterstützt
alle gängigen Betriebssysteme und besitzt keine Einschränkungen zur SQL Anywhere
Version.
Der Quellcode der Datenbank ist nicht Open Source. Die 1 CPU Lizenz der SQL
Anywhere 10.0.1 Datenbank kostet momentan 2363 €. Laut Hersteller ist SQL
Anywhere eine Datenbank der Enterprise-Klasse, die hunderte GB Daten mit mehreren
Millionen Zeilen verwalten kann [I_SYBA01].
33
6 Auswahl des DBMS
6.1 Methodik der Auswahl
Die Auswahl des Datenbankmanagementsystems erfolgt in zwei Stufen. In der ersten
Stufe werden die Datenbankmanagementsysteme ausgefiltert, die die projektkritischen
Kriterien aus Kapitel 4.3 nicht erfüllen. Diese DBMS werden dann nicht mehr weiter
untersucht. Alle übrigen DBMS werden in der zweiten Stufe näher betrachtet. Dabei
werden vor allem die wichtigen Kriterien untersucht. Sollten mehrere Datenbanken alle
wichtigen Kriterien erfüllen, werden schließlich die projektunkritischen Kriterien
verglichen. Die pro DBMS verfügbaren Informationen können in Umfang und
inhaltlicher Abdeckung sehr unterschiedlich ausfallen, daher wird als pragmatischer
Ansatz so vorgegangen, dass fehlende Information als fehlendes Kriterium interpretiert
wird.
6.2 Anwendung des mehrstufigen Auswahlverfahrens
Erste Stufe
Die Datenbanken IBM DB 2 Express-C, Informix, MS SQL Server 2005 Express,
Oracle Database 10g Express Edition und Sybase SQL Anywhere Developer Edition
wurden in der ersten Stufe ausgefiltert, weil der Quellcode dieser Datenbanken nicht
Open Source ist und somit dieses projektkritische Kriterium nicht erfüllt. SQLite und
MaxDB sind nur teilweise mit dem SQL-92 Standard konform (bei SQLite fehlt der
komplette ALTER TABLE und MaxDB der BEFORE TRIGGER Support) und werden
deswegen nicht mehr in der zweiten Stufe betrachtet.
Zweite Stufe
Die
Datenbanken
Firebird,
Ingres,
MySQL
und
PostgreSQL
erfüllen
alle
projektkritischen Kriterien. In dieser 2. Stufe werden daher diese vier verbliebenen
Datenbanken genauer verglichen (Tabelle 4). Eine Reihe von Detailanforderungen sind
34
in dieser Tabelle nicht enthalten, da sie von allen vier DBMS erfüllt werden und somit
nicht als Unterscheidungskriterium dienen können. Dies betrifft die Fähigkeiten für
ACID-Transaktionen, für Stored Procedures, für ODBC und die unterstützten
Betriebssysteme (jeweils Windows und Linux). Downloadzahlen sind für Ingres leider
nicht zugänglich, bei den drei anderen DBMS liegen diese in Bereichen weit oberhalb
von 50.000, sprechen also für eine große und agile Community. Des Weiteren
unterstützen alle DBMS die geforderten Skript- und Programmiersprachen (namentlich
PHP, Python, Perl, Java und C++). Diese Anforderungen werden deshalb in der
folgenden Tabelle nicht extra ausgewiesen.
Tabelle 4: Detailvergleich der DBMS Firebird, Ingres, MySQL und PostgreSQL
Firebird
Ingres 2006
MySQL
PostgreSQL
1.5.4
Release 2
5.0
8.2
Lizenz
IDPL
GPL
GPL
BSD
SQL-Standard
92, 99
92, 99
92, 99
92, 99, 2003
SSL
Ja
Ja (IPsec)
Ja
Ja
CHECKBedingungen
Ja
Ja
Nein
Ja
Trigger
Before/After
Before/After
Before/After
Before/After
Spaltenanzahl
unbegrenzt
1024
3398
1600
Maximale DBGröße
980 GB
Abhängig
vom
Dateisystem
unbegrenzt
unbegrenzt
Tabellengröße
30 GB
unbekannt
Administrationstools
ibWebAdmin,
SQuirreL SQL
unbekannt
Kriterium
35
64 TB
(InnoDB)
phpMyAdmin,
MySQL
Administrator
32 TB
pgAdmin III,
phpPgAdmin
6.3 DBMS: Auswahlentscheidung
Basierend auf den in der Tabelle 4 zusammengestellten Eigenschaften, ergibt sich die
beste Übereinstimmung mit dem Anforderungsprofil, d.h. die beste Abdeckung der
Auswahlkriterien, für das DBMS PostgreSQL. Insbesondere trifft dies auf die gute
Konformität zum SQL-Standard SQL:99, die Unterstützung von CHECK-Bedingungen
und der guten Administrationstools zu. Des Weiteren ist die Community und somit auch
die Verbreitung von PostgreSQL ständig am Wachsen. Zu den Referenzen von
PostgreSQL zählt unter anderem die Carl Zeiss 3D Metrology Services GmbH und
Cisco Systems, Inc. Daher wurde PostgreSQL als Grundlage für die THEREDADatenbank ausgewählt. Diese Entscheidung wurde von den anderen Partnern im
Verbundprojekt unterstützt und daher konnte auf dieser Basis mit der Realisierung eines
entsprechenden Prototypen begonnen werden.
Nachdem die Entscheidung für PostgreSQL gefallen war, wurde zudem durch die
Verbundpartner PHP als Skriptsprache ausgewählt.
36
7 Konzeption von Datenmodell und Nutzerinteraktionen
7.1 Vorstellung Datenmodell
Das Datenmodell wurde in der ersten Projektphase von THEREDA in Zusammenarbeit
des FZ Dresden-Rossendorf und der GRS Braunschweig entwickelt, es ist momentan
als Entity-Relationship-Modell in der Software Toad Data Modeller (TDM - Version 2,
Quest Software, Inc., Aliso Viejo, Cal., USA) implementiert, welche den Export in
derzeit 17 verschiedene DBMS (teilweise mit weiteren Unterversionen) gestattet. Toad
Data Modeller ermöglicht im Fall von PostgreSQL zudem die automatische Erstellung
von Funktionen zur Sicherung, der vom Nutzer zuvor definierten referentiellen
Integrität.
Die Einhaltung des Standard SQL:99 ist auch in der neuesten Version 8.2.3 (Stand vom
16. Mai 2007, dem Datum der Systemimplementierung beim Projektpartner GRS
Braunschweig, Außenstelle Berlin) von PostgreSQL noch nicht 100 % gewährleistet.
Um jedoch zukünftige Konflikte mit Vorgaben der verschiedenen SQL-Standards
möglichst klein zu halten, werden bei der konkreten Umsetzung der THEREDADatenbank in PostgreSQL unbedingt jegliche speziellen, nicht standard-konformen
Erweiterungen vermieden.
Wie im Kapitel 3.5 bereits dargelegt, lassen sich die Inhalte und damit die Gesamtfunktionalität der Datenbank grob in verschiedene Kategorien gliedern, nachfolgend
nach Relevanz und Umfang geordnet:
-
grundlegende physiko-chemische Daten
-
numerische Werte der chemischen Stoffdaten und zugehörigen Reaktionsgleichungen
-
numerische Werte der Parameter für die Wechselwirkungen zwischen Ionen
oder Festphasen
-
bibliographische Informationen
-
„Hilfsdaten“ und Metadaten
37
Die nachfolgende Detailbeschreibung des Datenmodells folgt weitestgehend diesem
Prinzip. Zuvor werden noch die wichtigsten in THEREDA auftretenden Feldtypen
aufgelistet (Tabelle 5) und Konventionen zur Datenmodell-Beschreibung (inklusive
Farbkodierung für die Abbildungen) benannt.
Tabelle 5: Feldtypen in THEREDA. Mit * markierte Felder werden durch das DBMS automatisch
erzeugt.
Feldtyp
Varchar(n)
Timestamp*
Beschreibung
Eine Folge von maximal n Zeichen
(alphanumerisch und Zwischenraum)
Sowohl für Datum und Zeit genutzt,
im Format: yyyy.mm.dd hh:mm:ss, z.B. 1999-01-08 04:05:06.
Numeric
Fließkommazahl
Smallint
Kleine Integerzahl: -32768 bis +32767
Boolean
Logische Variable: “wahr” oder “falsch”
Serial*
Automatischer Integerzähler: 1 bis 2147483647
Text
Zeichenkette mit variabler, unbegrenzter Länge
In vielen Tabellen sind Felder für allgemeine Attribute vorhanden, welche entweder
Beziehungen zu anderen Tabellen knüpfen oder spezifische Meta-Informationen
speichern. Die für die jeweiligen Attribute für Beziehungen zuliefernden Tabellen
(Auswahllisten) sind in den nachfolgenden Datenmodellen nicht noch einmal separat
erklärt.
1. Beziehungen:
-
UncType: Art der Fehlerverteilung bei numerischen Werten
-
Reference: Bibliographische Referenz
-
Editor: Name des letzten Bearbeiters eines Datensatzes
-
DataClass: Klasse des chemischen Experimentes, welches den Datenwert
lieferte
-
DataQuality: Qualitätsstufe eines experimentellen Wertes
-
DataSource: Typ der bibliographischen Referenz für experimentelle Werte
38
-
TPFunc: Term für die Beschreibung von Temperatur- und
Druckabhängigkeit eines Datensatzes
2. Spezifische Attribute:
-
Description, Remark: Allgemeine, zusätzliche Beschreibungen und
Kommentare zu Datensätzen
-
DBDateTime: Datumsstempel der letzten Änderung an einem Datensatz
Die Farbkodierung in den nachfolgenden Abbildungen bedeutet:
-
Grau: optionales Attribut
-
Schwarz: notwendiges Attribut, darf nicht NULL sein
-
Blau: Fremdschlüssel
-
Rot: Primärschlüssel
-
Grün: Gleichzeitig Fremd- und Primärschlüssel
Unterhalb der einzelnen Datenmodell-Grafiken sind alle jeweils relevanten Tabellen
aufgeführt, sofern diese nicht bereits zuvor genannt wurden. Für eine Reihe von
Tabellen ist umfangreiches chemisches Sachwissen notwendig, welches hier leider nicht
explizit dargestellt werden kann. Weitere Grundlagen des dargestellten Datenmodells
beruhen vorrangig auf chemischen Sachverhalten und wurden außerhalb dieser
Diplomarbeit durch Kooperationspartner entwickeltt. Daher erfolgt die Darstellung des
Datenmodells für THEREDA hier in verkürzter Form. Insbesondere werden die
speziellen Datenmodelle für die Bildung von in sich konsistenten Datensets und
jeweilige Gültigkeitsgrenzen hier nicht dargestellt. Bei Interesse können ausgiebige
Erläuterungen
in
THEREDA-Handbuch
nachgeschlagen
Downloadbereich von http://www.thereda.de zu finden ist.
39
werden,
welches
im
7.1.1 Detailliertes Datenmodell für die grundlegenden Daten
Abbildung 6: Datenmodell der Basisdaten
Die folgenden Tabellen sind hierbei relevant:
-
Physical Constants – allgemeine physikalische Naturkonstanten
-
Element – Periodensystem der chemischen Elemente
-
Phase – in sich abgeschlossene chemische Phase
-
AggregationState – Aggregatzustand
-
Modification – Modifikationsform fester Phasen
-
PCon – Komponenten einer Phase
-
PConComposition – Zusammensetzung einer Phase
-
PConType – Art einer Phasenkomponente
-
SITPitzerConsistencyList – Konsistenzkriterium bei hochsalinaren Lösungen
40
7.1.2 Detailliertes Datenmodell für chemische Stoffdaten und zugehörige
Reaktionsgleichungen
Abbildung 7: Datenmodell der chemischen Stoffdaten
Abbildung 8: Datenmodell zur Beschreibung chemischer Reaktionsgleichungen
41
Die folgenden Tabellen sind hierbei relevant:
-
DataStandard – Stoffdaten bei Standardbedingungen (25 °C, 1 bar)
-
DataVariable – Stoffdaten bei Nicht-Standardbedingungen
-
DataType – Art der Stoffdaten
-
CalcMode – Art der Berechnung bei intern abgeleiteten Daten
-
DataType_x_CalcMode – Liste der erlaubten Kombinationen von DataType
und CalcMode
-
State – gibt an, ob Datenwert für Standardbedingungen gültig ist oder nicht
-
Reactions – Liste der Reaktionspartner einer chemischen Reaktion
-
Category – gibt an, ob eine Bildungsreaktion vorliegt oder nicht
42
7.1.3 Detailliertes Datenmodell der Parameter für die Wechselwirkungen
zwischen Ionen oder Festphasen
Abbildung 9: Datenmodell zur Beschreibung von Wechselwirkungen
43
Die folgenden Tabellen sind hierbei relevant:
-
Interactions_Standard – Wechselwirkungsparameter bei
Standardbedingungen (25 °C, 1 bar)
-
Interactions_Variable – Wechselwirkungsparameter bei NichtStandardbedingungen
-
Interactions – definiert Art und Beteiligte einer Wechselwirkung
-
InteractionType – Art des Wechselwirkungsparameters
-
InteractionModel – Liste erlaubter Wechselwirkungsmodelle
-
InteractionModel_x_Phase – Liste erlaubter Kombinationen von
Wechselwirkungsmodellen und Phasen
7.1.4 Detailliertes Datenmodell für bibliographische Informationen
Abbildung 10: Datenmodell für bibliographische Informationen
44
Die folgenden Tabellen sind hierbei relevant:
-
Reference – detaillierte bibliographische Beschreibung einer Referenz
(zitierfähige Publikation)
-
ReferenceAuthors – Liste der Autoren einer Publikation
-
ReferenceKeywordsList – Liste aller erlaubten, vordefinierten Schlagworte
-
ReferenceKeywordsUsed – Liste weiterer Schlagworte, die durch Nutzer
erweitert werden kann
-
ReferenceStatus
–
Form
der
physischen
Speicherung
einer
Literaturstelle/Kopie
-
ReferenceType – Art der Publikation (Buch, Report, Zeitschrift etc.)
-
ReferenceLanguage – Sprache, in der die Publikation vorliegt
7.2 PostgreSQL-Client: Einbindung in das WCMS Joomla
7.2.1 WCMS und seine Vorteile
Ein Web-Content-Management-System ist ein Anwendungsprogramm, welches die
Bearbeitung, Verwaltung und die Publikation von Webinhalten und Informationen
ermöglicht. Die wichtigsten Eigenschaften eines WCMS sind:
-
Inhalt (Content) und Design der Seiten werden getrennt verwaltet.
-
Alle Informationen werden in einer Datenbank gespeichert.
-
Die Verwaltung erfolgt meist über Web-Interfaces, wo kein Client-Software
benötigt wird.
-
Nutzer- und Rechtemanagement
-
Zahlreiche Erweiterungsmöglichkeiten (Foren, Umfragen, Shops)
Aus den Eigenschaften lassen sich die wesentlichen Vorteile eines WCMS ableiten.
Inhalt und Design werden getrennt verwaltet, somit sind die Beiträge aller Autoren in
einem einheitlichen Design. Durch die Speicherung der Inhalte in einer Datenbank
können die Inhalte an verschiedenen Stellen wiederverwendet werden und für
verschiedene Medien (Webbrowser, Mobiltelefon, Druck) adäquat formatiert werden.
45
Die Verwaltung des CMS erfolgt über ein Web-Interface (Abbildung 11), so dass man
überall und zu jeder Zeit daran arbeiten kann. Autoren, die durch das Nutzer- und
Rechtemanagement angelegt werden, benötigen keine HTML-Kenntnisse. Sie können
ihre Beiträge in einen über das Web-Interface bereitgestellten Texteditor eingeben und
auf der Homepage veröffentlichen. Diese Veröffentlichungen können zeitgenau
gesteuert werden. Das heißt, dass der Inhalt schon vorher eingeben werden kann und
dann zum eingestellten Datum/Uhrzeit veröffentlicht wird.
Abbildung 11: Web-Interface Backend
Abbildung 12: Web-Interface Frontend
46
7.2.2 Kurzbeschreibung Joomla
Joomla ist ein Open Source WCMS, welches auf http://www.joomla.org unter der
General Public License zum Download angeboten wird. Joomla zeichnet sich durch
seine große Community und den daraus folgenden meist kostenlosen Erweiterungen
(Komponenten, Templates) aus. Um Joomla installieren zu können, sollte auf dem
Webserver mindestens Apache 1.13.19, PHP 4.2 sowie MySQL 3.23 laufen. Die
Programmdateien werden einfach über ein FTP-Programm auf den Webserver kopiert
und anschließend die mitgelieferte Installationsroutine im Webbrowser aufgerufen. Das
THEREDA Verbundprojekt hat sich auf Grund der Eigenschaften/Vorteile und der
geringen Systemvoraussetzungen entschieden, Joomla für ihren Webauftritt zu
verwenden.
7.2.3 Client-Konzept (1. Ausbaustufe)
Das Einfügen und Abfragen der Daten von der THEREDA Datenbank soll auf
unterschiedliche Art und Weise erfolgen (siehe Abbildung 13). Wie schon in Kapitel
3.2 erwähnt, werden die Daten über ASCII-/Exceldateien von vorhandenen
Datenbanken oder neu über ein Web-Interface eingeben. Die Abfragen werden
hauptsächlich über ein Web-Interface gestaltet. Des Weiteren sollen in regelmäßigen
Abständen ausgewählte Daten in einer neu generierten Datenbank zum Download
angeboten werden. So sollten auch Abfragen auf die Daten möglich sein, wenn keine
Internetverbindung zur Verfügung steht.
47
ASCII-Input
(MS Access,
Delphi)
Excel-Input
Interaktive
Abfrage (WWW)
THEREDA-DB
(PostgreSQL)
NEA
Nagra-PSI
Generische DB
Interaktive
Eingabe (WWW)
LMA-DBs
(EQ3/6;PhreeqC)
GME-DBs
(ChemApp etc.)
Abbildung 13: Client-Konzept
Die Datenabfrage und Dateneingabe, die über das Web-Interface (Skriptsprache PHP)
erfolgt, soll in das WCMS Joomla integriert werden. Joomla speichert jeglichen Content
als HTML ab (der eingegebene Code wird als ganz normaler Text angezeigt), so dass
der eingebene PHP-Code nicht vom Webserver verarbeitet wird. Von daher muss der
PHP-Code in eine extra PHP-Datei auf dem Server abgelegt werden und dann mit der
Komponente Wrapper in Joomla integriert werden. Die PHP-Datei kann allerdings nicht
über das Web-Interface von Joomla bearbeitet werden. Zur Bearbeitung der PHP-Datei
werden ein SCP-Client (WinSCP) und ein Editor (Notepad++) benötigt.
Nicht jeder Nutzer soll Eintragungen in die Datenbank vornehmen können. Um dies zu
gewährleisten, kann die Nutzer- und Rechteverwaltung von Joomla benutzt werden.
Joomla erlaubt es Inhalte (Datenbankeingaben) vor nicht registrierten Nutzern zu
verbergen. Weitere Autorisierungen können über .htaccess-Dateien und manuelle
Anmeldung an die PostgreSQL-Datenbank realisiert werden.
48
8 Prototypische Realisierung der Datenbank
8.1 Umsetzung des Datenmodells in PostgreSQL
Ein erster Schritt für die Umsetzung des Datenmodells für THEREDA in PostgreSQL
war das Aufsetzen einer kompletten DBMS-Umgebung auf dem Host bei der GRS, dies
geschah unter einem Linux Betriebssystem und in enger Kooperation mit den dortigen
Kollegen. Letztlich wurde folgende Konstellation gewählt: Apache Webserver in der
Version 2.0, PHP als Skriptsprache in der Version 4.4.4-8, PostgreSQL in der Version
8.1.3., sowie phpPgAdmin in Version 4.1.1. Der Fernzugriff für Wartung und Datenpflege ist über PuTTY Version 0.60 und WinSCP Version 3.8.2 realisiert. Zukünftig
wird der Zugriff auf die Datenbank THEREDA über ein WWW-Interface erfolgen,
welches PHP-basiert ist und in eine Internetpräsenz unter www.thereda.de eingebettet
werden soll.
Nach Bereitstellung einer arbeitsfähigen Software-Umgebung waren in einem
mehrstufigen Prozess Verfeinerungen des Konzeptes auf abstrakter Ebene (TDM)
notwendig. Parallel dazu mussten eine ganze Reihe von DB-Variablen umbenannt
werden, welche im ersten Entwurf z.B. noch geschützte Begriffe etc. darstellten. Ebenso
musste noch die Vergabe von Defaultwerten und von Datums-/Zeitwerten angepasst
werden. Ein wesentlicher Aspekt war schließlich die Bereitstellung von Funktionen und
Triggern in der PostgreSQL-Programmiersprache PL/pgSQL. PL/pgSQL ist eine
ladbare prozedurale Sprache für das PostgreSQL-Datenbanksystem. Die Entwickler von
PL/pgSQL hatten das Ziel, eine Programmiersprache für PostgreSQL zu erstellen, die:
-
verwendet werden kann, um Funktionen und Triggerprozeduren zu
schreiben,
-
Kontrollstrukturen zur Sprache SQL hinzufügt,
-
komplexe Berechnungen ausführen kann,
-
alle benutzerdefinierten Typen, Funktionen und Operatoren zur Verfügung
hat.
49
Nach der Installation der Datenbank auf dem THEREDA-Server wurden die ersten
Daten eingetragen, wobei bei einigen Spalten vom Datentyp „character varying“ die
maximale Anzahl der vorher eingestellten Zeichen nicht ausreichte, so dass diese
angepasst werden mussten. Das folgende Kapitel zeigt eine ausgewählte Testabfrage auf
die vorher eingegebenen Daten.
8.2 Exemplarische Abfrage
In diesem Kapitel wird eine exemplarische Abfrage auf die Datenbank mit dem
Datenbestand vom 01.08.2007 durchgeführt.
Die Abfrage wird auf die Tabelle Element ausgeführt und soll alle Datensätze mit den
Attributwerten Name, Symbol und MolarMass anzeigen. Die Ausgabe soll alphabetisch
sortiert nach dem Namen erfolgen. Das Abfrageergebnis ist in Abbildung 14 zu sehen.
Der SQL-Befehl dazu lautet:
SELECT "Name", "Symbol", "MolarMass" FROM "Element" ORDER BY "Name";
Abbildung 14: Abfrageergebnis auf der THEREDA-Seite
50
9 Zusammenfassung und Ausblick
Im Rahmen dieser Diplomarbeit sollte ein DBMS für eine qualitätsgesicherte und
verlässliche Langzeitsicherheitsanalyse nuklearer Endlager in Deutschland geschaffen
werden. Zum Aufbau einer solchen Datenbank haben sich Mitte 2006 fünf Institutionen
zum
Verbundprojekt
THEREDA
(THErmodynamische
REferenzDAtenbasis)
zusammengeschlossen.
Durch die große Auswahl an DBMS mussten die Anforderungen klar definiert und in
drei Auswahlkriterien (Projektkritisch, Wichtig und Projektunkritisch) gruppiert
werden. Zu den projektkritischen Kriterien gehören:
-
SQL:92-Standard
-
Open Source (Lizenz, Community)
-
Sichere Kommunikation
-
Logische Datenintegrität (ACID, Trigger, CHECK)
-
Skript- und Programmiersprachen
Aufgrund dieser Kriterien haben nur 4 von 11 untersuchten DBMS die 2. Stufe des
Auswahlverfahrens erreicht. Diese 4 DBMS wurden dann genauer untersucht und in
Tabelle 4 gegenüber gestellt. Demnach wären 4 DBMS (Firebird, Ingres, MySQL und
PostgreSQL) für das Projekt geeignet. Bei der Untersuchung der einzelnen DBMS
wurde deutlich, dass die Open Source DBMS kaum bis gar keine Nachteile gegenüber
kommerziellen Datenbanken aufweisen. Die Anbieter kommerzieller DBMS sollten
daher noch mehr Wert auf Service und Support legen, um sich in Zukunft von den Open
Source DBMS abheben zu können.
Ausgewählt wurde letztendlich PostgreSQL, da diese eine gute Konformität zum SQLStandard
SQL:99,
die
Unterstützung
von
CHECK-Bedingungen
und
gute
Administrationstools mitbringt. Auch die ständig wachsende und gute Community war
ein ausschlaggebender Punkt für die Auswahl von PostgresSQL.
Aus dem im TDM erstellten Entity Relationship Modell hat das Programm automatisch
ein SQL-Skript für PostgreSQL generiert. Dieses wurde auf die zuvor eingerichtete
PostgreSQL-Datenbank auf dem THEREDA-Server importiert. Danach wurde über
Microsoft Office Access und phpPGAdmin mit dem Import der ersten Daten begonnen.
Anfang Juli 2007 wurde das WCMS Joomla erfolgreich eingerichtet und danach die
51
Projekthomepage http://www.thereda.de der Öffentlichkeit vorgestellt. Enthalten sind
Informationen/Downloads über das THEREDA-Projekt und erste Abfragen auf die
PostgreSQL-Datenbank. Leider sind zum jetzigen Zeitpunkt noch sehr wenige Daten in
der Datenbank verfügbar, so dass keine umfangreicheren Abfragen erstellt werden
konnten. Das erste Feedback der Verbundpartner war durchweg positiv. In den nächsten
Monaten wird die Datenbank mit Daten gefüllt und weitere Abfragen erstellt. Später
werden die Berechnungen aus der Datenbank, die Grundlage für die Auswahl des
Wirtsgesteins (Salz, Ton, Granit) für ein nukleares Endlager in Deutschland sein.
52
Literaturverzeichnis
[I_xxxxxx]
Internet
[L_xxxxxx]
Literatur
[S_xxxxxx]
Sonstige Quelle
[I_BUCK01]
BUCKA-KLASSEN, K. & J. SORENSEN: Open Source in einer
Schweizer Großbank
http://www.svifsi.ch/revue/pages/issues/n016/in016Bucka.pdf
[I_BUND01]
Bundesanstalt für Geowissenschaften und Rohstoffe
Geotechnik, Endlagerung
http://www.bgr.bund.de/cln_029/nn_825342/DE/Themen/
Geotechnik/geotechnik__node.html__nnn=true
[I_EDIT01]
Editionenvergleich des DBMS Microsoft SQL Server
http://www.microsoft.com/germany/sql/editionen/default.mspx
[I_EISEN01]
EISENTRAUT, P.: PostgreSQL Das Offizielle Handbuch
http://dokus.dyndns.info/postgres/
[I_FIRE01]
Firebird Dokumentation
http://www.firebirdsql.org/manual/
[I_HORS01]
HORSTMANN, J.: Freie Datenbanken im Unternehmenseinsatz
Analyse
und
Vergleich
der
wichtigsten
Datenbanken
http://www.heise.de/open/artikel/70100/0
53
Open-Source-
[I_IBMD01]
IBM DB2 Express-C Dokumentation
http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp
[I_INFO01]
Informix 10.0 Datenblatt
ftp://ftp.software.ibm.com/software/data/informix/pubs/
datasheets/IDS-V10-0-datasheet.pdf
[I_INGR01]
Ingres 2006 Release 2 Dokumentation
http://downloads.ingres.com/download/ingres2006r2pdfs.tgz
[I_LIST01]
Liste der Open Source Initiative zertifizierte Lizenzen
http://www.opensource.org/licenses/alphabetical
[I_MAXD01]
MaxDB Dokumentation
http://dev.mysql.com/doc/maxdb/
[I_MYSL01]
MySQL 5.0 Dokumentation
http://dev.mysql.com/doc/refman/5.0/en/
[I_ORAC01]
Oracle Database 10g Express Edition Datenblatt
http://www.oracle.com/technology/products/database/xe/
pdf/dbxe_datasheet.pdf
[I_ORAC02]
Oracle Database 10g Express Edition FAQ
http://www.oracle.com/technology/products/database/
xe/pdf/dbxe_faq.pdf
[I_SOLI01]
SolidDB 6 FAQ
http://www.solidtech.com/en/products/
relationaldatabasemanagementsoftware/faq.asp
54
[I_SQLI01]
SQLite 3.4.0 Dokumentation
http://www.sqlite.org/docs.html
[I_SYBA01]
SYBASE SQL Anywhere Datenblatt
http://www.ianywhere.com/deutschland/
datasheets/sql_anywhere_10.pdf
[I_WLOK01]
WLOKA,U.: Entwicklung des SQL-Standard vom
Hoffnungsträger zum Ideengrab
http://www.informatik.htw-dresden.de/
~wloka/vortraegestammtisch/Wloka07.pdf
[I_WLOK02]
WLOKA, U.: Datensicherheit/Datenintegrität in Datenbanken
- in 5 Modulen einer interaktiven, netzgestützten Lernumgebung http://wwwmi.informatik.htw-dresden.de/wbt-ds2/
[L_AUSW01]
Auswahlverfahren für Endlagerstandorte, 1. Auflage, 2002
[L_MATT01]
MATTHEW, C & R. STONES: Beginning Databases with
PostgreSQL, 2. Auflage, Springer-Verlag, New York, 2005
[L_PITZ01]
PITZER, S., K.: Thermodynamics (Mcgraw Hill Series in
Advanced Chemistry), 3. Auflage, McGraw-Hill Education, New
York, 1995
[L_SPON01]
SPONA, H.: Web-Datenbanken, 1. Auflage, verlag moderne
industrie Buch AG & Co. KG, Bonn, 2002
[L_STAH01]
STAHLKNECHT, P. & U. HASENKAMP: Einführung in die
Wirtschaftsinformatik, 11. Auflage, Springer-Verlag, Berlin, 2004
55
[L_WIDG01]
WIGARD, S.: Das Einsteigerseminar PHP 4, 3. Auflage, verlag
moderne industrie Buch AG & Co. KG, Bonn, 2003
[L_WILL01]
WILLIAMS E. H. & D. LANE: Web Datenbank Applikation mit
PHP & MySQL, 1. Auflage, O`Reilly Verlag, Köln, 2003
[S_FLEC01 ]
FLECKNA, J.: Diplomarbeit „Konzeptioneller Entwurf und
prototypische Realisierung einer datenbankbasierten Software zur
Verwaltung von Daten eines Transientenrekorders“, Dresden,
2006
Anmerkung: Die WWW-Links wurden letztmalig am 01.08.2007 vor Drucklegung der
Diplomarbeit auf Gültigkeit überprüft.
Weiteres unterstützendes Material zu dieser Diplomarbeit befindet sich auf der
beiliegenden CD.
56
Anhang A: Anforderungsanalyse erstellt mit MindMapper 5
Dieser Anhang präsentiert, die mit MindMapper 5 erstellte Anforderungsanalyse.
57
58
Danksagung
Ich möchte mich an dieser Stelle bei all denen bedanken, die mich bei der Bearbeitung
meines Diplomthemas unterstützt haben. Für die Betreuung meiner Diplomarbeit danke
ich Herrn Prof. Gunter Gräfe von der Hochschule für Technik und Wirtschaft Dresden
und Herrn Dr. Vinzenz Brendler vom Forschungszentrum Dresden Rossendorf e.V. Des
Weiteren gilt mein Dank den Verbundpartnern von THEREDA, besonders Herrn Dr.
Helge Moog und Dr. Sven Hagemann von der Gesellschaft für Anlagen- und
Reaktorsicherheit (GRS) mbH sowie Frau Dr. Anke Richter vom Forschungszentrum
Dresden Rossendorf e.V.
59
Eidesstattliche Erklärung
Hierdurch erkläre ich, dass ich die von mir am heutigen Tag eingereichte Diplomarbeit
selbstständig verfasst und ausschließlich die angegebenen Hilfsmittel benutzt habe.
Marco Münzberg
Dresden, 06.08.2007
60