04_8335_001-Einführung - Offene

Werbung
1
Zunächst ist zu klären, was eine Datenbank überhaupt ist.
Daher werden wir zunächst der Frage nachgehen: Über welche Art der Daten
reden wir? Es ist wichtig genau zu verstehen, welche Daten wir in einem
Datenbanksystem ablegen und wie die Daten verarbeitet werden sollen.
Danach werden wir der Frage nachgehen, in welchen Bereichen werden
Datenbanksysteme typischerweise eingesetzt.
Dies liefert uns dann die Basis, um die allgemeinen Anforderungen an ein
Datenbanksystem zu erarbeiten bzw. zu verstehen..
2
Bei dem Thema Datenbanken bzw. Datenbanksystem geht es in wesentlich um
das strukturierte Ablegen von Daten.
Hierbei spricht man auch von der Persistenz der Daten.
Daten, die im Hauptspeicher sind, gehen nach dem Beenden einer Anwendung
verloren. Hierbei spricht man von transienten Daten.
Sollen Daten nach dem Beenden einer Anwendung zu einem späteren Zeitpunkt
wieder zur Verfügung stehen, müssen diese auf einem Speichermedium abgelegt
werden.
Das effiziente Ablegen der Daten auf einem Speichermedium wird von einem
sogenannten Datenbanksystem übernommen.
Für die Anwendung und den Umgang eines Datenbanksystems unterscheiden wir
zunächst zwei Sichtweisen:
Die Anwendersicht
Aus Anwendersicht stellen sich primär folgende Fragen:
1. Was sind das für Daten?
3
2. Wer braucht diese Daten? D.h. wer verarbeitet diese Daten überhaupt?
3. Wie hoch ist die Datenmenge überhaupt?
4. Wie wichtig sind die Daten für mein Geschäftsmodell/Business?
Die Technische Sicht
Aus technischer Sicht stellen sich folgende Fragen:
1. Wie werden die Daten auf dem Speichermedium abgelegt?  Effiziente Speicherung
2. Wie schnell kann ich die Daten lesen?  Zugriffszeiten
3. Kann ich Daten auch verlieren  Ausfallsicherheit, Zuverlässigkeit
Definitionen:
• Eine Datenbank ist eine Sammlung von Daten.
• Ein Datenbanksystem verwaltet die Daten einer Datenbank.
3
In der Regel handelt es sich um wichtige Informationen und Daten aus dem
geschäftlichen Bereich.
Hierbei handelt es sich zum Beispiel um
• Stammdaten ( Kundenanschriften, Lieferanschriften)
• Bestellungen, Material- und Lagerpositionen
• Produktionsdaten, Produktionsprozesse
• Finanzdaten wie Kredite, Anlagen, Börsenkurse,…
• Kommunikationsdaten wie Emails, eingescannte Dokumente von Kunden und
Partnern
• Technische Zeichnungen (CAD-Computer Aided Design)
• Geo-Daten, Wetterdaten,..
• Daten über Bücher, CDs, Magazine, Video Filme,…
Insgesamt unterteilt man die Daten in :
• strukturiert Daten
• unstrukturierte Daten
4
Strukturierte Daten:
Strukturierte Daten liegen in rechnerlesbarer Form vor. Beispiele hierfür sind:
• Angaben zu Adressen
• Angabe zu Büchern etc..
Wie man erkennen kann, handelt es sich meist um Informationen über Dinge, die real
existieren. Aber auch Informationen, die nur virtuell existieren, sind hier zu finden.
Beispiel sind:
• Verbindungsdaten über eine Kommunikationsverbindung
• Informationen über Virtuelle-Maschinen
Unstrukturierte Daten:
Unstrukturierte Daten beziehen sich auf Informationen, denen kein fest gelegtes
Datenmodell zu Grunde liegt, aus dem sich die Semantik der Daten ergibt.
In der Regel sind dies Texte, deren Bedeutung sich zum Beispiel erst durch eine
Textanalyse ergibt. Auch statistische Methoden oder auch Mustererkennung-Methoden
sind hier denkbar.
Beispiele sind:
• Freie Texte
• Bilder
• Videos
• Social Media Posts
Speziell in dem Bereich Datenbanken interessieren wir uns nur für den Bereich
„Strukturierte Daten“, da wir diese besonders gut in Datenbanken ablegen und weiter
verarbeiten können.
Zum vertiefen siehe
• http://searchstorage.techtarget.com/feature/What-is-unstructured-data-and-how-is-itdifferent-from-structured-data-in-the-enterprise
4
Auf der Abbildung sind die wichtigsten kommerziellen Einsatzgebiete aufgelistet.
In allen Fällen geht es darum eine robuste und zuverlässige Umgebung zu haben,
in der die zum Teil überlebenswichtigen Daten/Informationen einer Firma bzw.
Unternehmens dauerhaft gespeichert abgelegt werden können.
Daher werden Datenbanksystem oft als „Mission-Critical“ bezeichnet.
5
Die Anforderungen an eine Datenbank lassen sich in zwei Bereiche gliedern.
Da sind zunächst die funktionalen Anforderungen.
Aus Sicht der Anwendung sind dies folgende Anforderungen
• Daten erzeugen - Create
• Daten lesen – Read
• Daten ändern – Update
• Daten löschen – Delete
Diese Funktionen werden im allgemeinen mit CRUD (create, read, update,
delete) bezeichnet.
Darüber hinaus gibt noch weitere Anforderungen, die sich direkt an das
Datenbanksystem wenden:
Es handelt sich im wesentlichen um allgemeine und sehr oft benötigte
Funktionen, die direkt auf Datenbanksystem-Ebene ausgeführt werden sollen,
anstatt in einer Applikation.
Hierzu gehören Funktionen wie:
• Sortieren der Daten
• Filtern von Daten
6
• Dinge berechnen Summe etc.
• Anzahl zählen
6
Zusätzlich zu den Funktionen sind die Eigenschaften eines Datenbanksystems
wichtig.
Im Wesentlichen sind dies:
• Benutzerfreundlichkeit
• Portabilität
• Sicherheit gegen unerlaubte Zugriffe
• Ausfallsicherheit
• Datensicherheit
• Mehrfachzugriff
Benutzerfreundlichkeit
Hiermit ist gemeint
• Wie einfach kann ich Anwendungen erstellen und testen (AppEntwicklungssicht)?
• Wie hoch ist der Administrations- und Wartungsaufwand (Administrator
Sicht)?
Portabilität
7
Hier stellt sich die Frage:
• Wie stark bin ich an ein Betriebssystem-Plattform gebunden?
• Wieviel Aufwand bedeutet es für einen Kunden die Betriebssystem-Plattform zu
wechseln?
• Wieviel Aufwand ist es von einem Datenbanksystem auf ein anderes Datenbanksystem
eines anderen Herstellers zu wechseln?
Sicherheit gegen unerlaubte Zugriffe
Bei der Frage nach Sicherheit geht es um die Punkte:
• Authentifizierung (Authentication) – Wer darf auf die Daten in der Datenbank
zugreifen?
• Autorisierung (Authorization) - Auf welche Daten darf der Anwender einer Datenbank
zugreifen und welche Operationen (CRUD) darf er ausführen?
Ausfallsicherheit
Hier geht es um die Fragen:
• Wie sicher sind meine Daten beim Systemausfall?
• Wie oft kann es vorkommen, dass meine Datenbank ausfällt? (MTBF – meantime
between failures) = Mittlere Zeitdauer zwischen zwei Systemausfällen
• Wie lange dauert das Wiederherstellen von Daten nach einem Systemausfall?
Datensicherheit
Wie der Name schon vorgibt, geht es hier um die Sicherheit der Daten selbst. Hierunter
fallen alle Fragen wie:
• Verlässlichkeit - Sind die Daten in der Datenbank auch richtig? - Integrität
• Aktualität – Wie aktuell sind meine Daten? (Keine veralteten Daten)
• Konsistenz – Sind die Daten konsistent?
 Jede Änderung des Datenbestandes einer Datenbank führt von einem logisch korrektem
zu einem anderen logisch korrektem Zustand.
 Jedes DBMS überwacht die Einhaltung von Integritätsregeln
Mehrfachzugriff
In der Regel wird eine Datenbank von vielen Benutzern verwendet, die zum Teil auf den
gleichen Daten arbeiten. In einer firmenweiten Datenbank können dies in der Praxis
mehrere Hundert Benutzer sein.
Daher stellen sich folgende Anforderungen:
7
• Mehrere Benutzer können auf die gleichen Daten zugreifen.
• Die Daten müssen dabei immer konsistent sein
• Die Benutzer dürfen sich nicht gegenseitig behindern.
7
8
Herunterladen