Sicherheit für Informationssysteme Thema : Replikation, Spiegelung, Verteilung

Größe: px
Ab Seite anzeigen:

Download "Sicherheit für Informationssysteme Thema : Replikation, Spiegelung, Verteilung"

Transkript

1 Hauptseminar Informatik SS2002 Sicherheit für Informationssysteme Thema : Replikation, Spiegelung, Verteilung Betreuung : Dirk Nitsche Bearbeitung : Alexander Koch, Jan-Gregor Fischer Stand : Sonntag, 19. Mai 2002

2 Inhalt: 1 MOTIVATION SPIEGELUNG/ REPLIKATION ALLGEMEIN REPLIKATION IM RAID DAS STRIPTEASE KONZEPT SICHERHEITSASPEKTE IN DATENBANKSYSTEMEN EINFÜHRUNG: ZUGRIFFSKONTROLLE IN SQL VERTEILTE DATENBANKSYSTEME WAS IST EIN VERTEILTES DATENBANKSYSTEM? DATENBANKREPLIKATION Replikationsstrategien Funktionaler Ablauf des Replikationsprotokolls Abstrahierung von Kommunikationsmodellen Aktiv Passiv/Primary Copy Semi-Aktiv/ Semi-Passiv Eager Primary Copy Eager Everywhere With Distributed Locking Based On Atomic Broadcast Lazy Primary Copy und Lazy Everywhere Certification Based Voting-Verfahren Majority Voting Gewichtetes Voting (Quorum consensus) Schwächere Formen der Datenreplikation Alternativen eines Refreshs Schnappschuß-Replikation Katastrophen-Recovery Merge-Replikation AUSBLICK UND ZUSAMMENFASSUNG GLOSSAR ABBILDUNGSVERZEICHNIS LITERATURVERZEICHNIS

3 1 Motivation Lady, you are the cruel'st she alive, If you will lead these graces to the grave and leave the world no copy. Shakespeare: Twelfth-Night 2 Spiegelung/ Replikation Allgemein Definition der Spiegelung: Eine Spiegelung einer Relation R ist eine identische Abbildung von R auf einen oder mehr Knoten eines Informationssystems, auf die durch Leseoperationen zugegriffen werden kann. Die dadurch auftretende Datenredundanz ist das Hauptkriterium einer Spiegelung, die somit der Mächtigkeit einer Sicherheitskopie mindestens ebenbürtig ist. Beispiele hierfür sind u.a. gespiegelte Festplatten (RAID1-Systeme) oder gespiegelte FTP Archive Sites zur Verbesserung der lokalen Erreichbarkeit durch Lastreduzierung der einzelnen Datenspeicherinstanzen. Definition der Replikation nach Prof. A. Kemper, Ph. D.: Man spricht von der Replikation einer Relation R, falls eine Kopie der Relation R an zwei oder mehr Knoten eines Netzwerks gespeichert ist. Im extremsten Fall wird bei der vollen Replikation eine Kopie der Relation auf jedem Knoten des Systems gespeichert. Diese Definition ist aus unserer Sicht nicht vollständig, sie entspricht nach einer Erweiterung der Bedingung, dass eine Kopie von R an mindestens zwei Knoten eines Netzwerks gespeichert ist, durch die Vorgabe, dass nach der Replikation R an mindestens zwei Knoten eines Informationssystems gespeichert ist, der Definition der Spiegelung. Durch die folgende Definition schränken wir die Begriffsbestimmung einer Replikation erweitert ein: Durch diese Erweiterung der Definition durch Kemper kann ein Unterschied zu dem Begriff der Spiegelung gebildet werden. Im Folgenden werden die maßgebenden Vor- und Nachteile einer Replikation vorgestellt: Verfügbarkeit: Beim Ausfall einer Replikation ist es weiterhin möglich, Anfragen an eine Replikation zu stellen, die auf einem anderen Knoten des Informationssystems gespeichert ist. Das System kann somit im Fehlerfalle eine gerade laufende Transaktion an eine andere Replikation transparent weiterleiten. Dies ist besonders interessant für Unternehmen, z.b. Banken, die einen Systemabsturz, oder einen Datenbankausfall, zum Beispiel durch einen Festplattencrash, Feuer, Überschwemmung oder Erdbeben, vermeiden müssen, und hierfür das Mittel der Replikation zur Sicherung der Datenverfügbarkeit auf Rechnern einsetzen, die meist weit entfernt von einander stehen. Erhöhte Parallelität: Je mehr Replikate von Daten existieren, um so umfangreicher können Leseoperationen transparent auf räumlich nahe gelegene Rechner verteilt werden, was die Bearbeitungsgeschwindigkeit von Anfragen erhöht. 3

4 Großer Kommunikationsaufwand bei s: Die Datenkonsistenz (siehe Glossar) aller Replikate muss erhalten bleiben, ansonsten können fehlerhafte Anfragen auftreten. Somit ist es notwenig, alle s an einer Kopie an alle restlichen Replikate zu propagieren, was einen stark erhöhten Kommunikationsaufwand vor allem bei Mehrbenutzersynchronisation zur Folge hat. Wir können zusammenfassen, dass die Methodik der Replikation zur erhöhten Verfügbarkeit von Daten beiträgt, und weiterhin einerseits die Leistung von Leseoperationen unter Umständen erheblich erhöht, jedoch Schreiboperationen durch die unumgängliche Synchronisation der Replikationen abbremst. Da im Durchschnitt jedoch die meisten Anfragen lediglich durch reinen Lesezugriff bearbeitet werden, kann man durch Datenreplikation meist eine verbesserte Performance erreichen. Dies stellt den klassischen Kompromiss zwischen Datenkonsistenz (siehe Glossar), Änderungsaufwand, sowie Verfügbarkeit dar. 2.1 Replikation im WWW Spiegelung: Durch die ständig steigende Anzahl von Internetbenutzern ist es nötig geworden, sehr häufig benutzte Daten auf den Webservern zu replizieren, um die Netzlast zu verteilen. Diese Replikate werden als Spiegelungen (= Mirrors ) bezeichnet. Sie müssen sich nicht unbedingt am selben Ort befinden. Bei weltweit populären Applikationen, die zum Download angeboten werden, befinden sich solche Spiegelungen zumeist auf mehreren Kontinenten, wie Amerika, Asien und Europa. Nachteile von Mirrors sind, die nicht selbstständige -Fähigkeit des Ursprungsservers, da sich darum ein Administrator kümmern muss, sowie eine Verletzung der Transparenz. Anders formuliert, ein Benutzer muss die IP-Adresse des gespiegelten Servers kennen. Squid Cache: Eine weitere Form der Replikation im WWW sind Caches (Proxies). Die Idee von Squid Cache ist, mehrere Caches zu einem Verbund zusammenzufassen. Diese Verbände sind hängen meistens eng mit einer örtlichen bzw. geographischen Lage zusammen. Man kann sich das so vorstellen, greift ein Benutzer aus Europa auf Webseiten aus den USA zu, werden diese Daten zwischengespeichert, so dass einem nachfolgenden Benutzer der Datentransfer aus den USA erspart bleibt. Das Konzept, welches dahinter steckt, versteht sich als dynamische Verbindungstopologie mit Neighbors und Parents (Graphentheorie). Bei einem Cache Miss werden Neighbors gefragt, ob sie das gewollte Datenobjekt haben. Erst nach Ablauf einer Zeitbegrenzung, oder wenn keine Neighbors dieses Objekt besitzen, wird der Parent kontaktiert. 2.2 RAID das Striptease Konzept Definition: RAID steht für Redundant Array of Inexpensive Disks. Ein RAID-System - auch Disk Array" genannt - besteht aus einer Anzahl von Festplatten und der für den Anschluss an einen Host-Computer notwendigen Hard-, Soft- und Firmware. Von der Gesamtkapazität des RAID-Systems wird ein Teil für das Speichern redundanter Information verwendet. Diese Informationen ermöglichen das Wiederherstellen der Daten bei Ausfall einer der 4

5 Festplatten oder deren Datenpfad. RAID ist die sinnvollste und effektivste Technologie, um Festplattenstapel abzusichern, deren Daten Online-verfügbar sein müssen. Des weiteren erfüllt das System die notwendige Datensicherung, wie auch durch Backup- Medien. Bei großen Datenbanken ist festzustellen, dass die Zeit für ein sofortiges komplettes Restore unmöglich aufgebracht werden kann. So bauen sich die verlorenen Daten eines Disk Arrays im Hintergrund wieder auf, um die Daten der anderen Festplatten weiterhin verfügbar zu machen. Somit ist die Redundanz (also das Speichern der redundanten Daten) die wichtigste Eigenschaft eines Disk Arrays. Je größer die Anzahl der Festplatten eines Systems, desto größer wird die statistische und tatsächliche Ausfallgefahr einer der Platten. Daher gibt es unterschiedliche logische Aufbauten eines Disk Arrays, genannt RAID-Level, die wir hier im Einzelnen darstellen, wobei RAID Level höherer numerischer Ordnung diese Ausfallgefahr verringern können. Weiterhin ist zu vermerken, dass bei vielen RAID Ansätzen die Leistung durch parallele Transferoperationen unter Umständen erheblich gesteigert werden kann. Zur Geschichte des RAID Konzepts, sowie der Vergleich Hardware-Software RAID, verweisen wir auf die Ausarbeitung 2 (Vortrag Gebäudetechnik für Rechenzentren). Die RAID-Levels: RAID-Systeme sind Zusammenschlüsse von mehreren Festplatten, die über einen RAID- Controller angesteuert werden. In allen Bereichen, in denen ein hoher Anspruch auf Leistung und Datensicherheit gestellt wird, kommt das Verfahren zum Tragen. Unterschieden wird RAID nach verschiedenen Stufen (=Levels), die seine Funktionsweise beschreiben. RAID 0 nicht redundantes Data Striping: Die Datenblöcke werden entsprechend der eingestellten Streifengröße und der vorhandenen Festplatten in Streifen (=Stripes) aufgeteilt, wobei jeder Streifen eines Datenblocks auf einer separaten Festplatte gespeichert wird. Dadurch wird beim sequenziellen Schreiben und Lesen von großen Dateien ein höherer Datendurchsatz um den Faktor Anzahl der RAID 0 Platten mal Datendurchsatz der langsamsten Festplatte erreicht. RAID 0 bietet keinerlei Redundanz. Beim Ausfall einer Festplatte sind die Daten des gesamten RAID 0 Verbandes verloren. Zusätzlich ist zu bemerken, dass die Anzahl der Streifen von der Festplatte abhängt, die die geringste Speicherkapazität aufweist. Abbildung 1: RAID 0 RAID 1 - Spiegeln (=Mirroring): RAID 1 ist auch unter dem Namen Disk Mirroring oder Festplattenspiegelung bekannt. Voraussetzung für RAID 1 ist eine gerade Anzahl von Festplatten. Die Daten werden jeweils auf zwei Festplatten gespeichert. Beim Ausfall einer Platte sind die Daten identisch auf der zweiten Festplatte vorhanden. Beim Spiegeln von Festplatten an einem Kanal spricht man von Disk Mirroring, beim Spiegeln an unabhängigen Kanälen von Disk Duplexing (zusätzliche Sicherheit). RAID 1 ist eine einfache Lösung zur 5

6 Datensicherheit und Datenverfügbarkeit mit dem Nachteil, dass lediglich die Hälfte der Gesamtkapazität als nutzbarer Bereich zur Verfügung steht. Abbildung 2: RAID 1 Erst ab RAID-Level 2 werden Fehlererkennungs- und Korrekturcodes auf zusätzlichen Paritätsplatten verwendet. Diese werden im weiteren Verlauf vorgestellt: RAID 2 Bitweise Datenverteilung mit (mehreren) Parity Platten: RAID 2 ist ein Verfahren, das sparsamer mit dem Speicherplatz umgeht. Hierbei werden die Daten über mehrere Laufwerke verteilt, und zusätzliche Laufwerke für Paritätsdaten verwendet. Die Daten werden dabei Bitweise auf die Laufwerke verteilt. D.h. auf jedes Laufwerk einer Gruppe wird jeweils ein einziges Bit geschrieben, und zum Schluss ein Checkbit bzw. Paritätsbit auf die Paritätsplatte(n). Diese haben die Form von Fehlerkennungs- und Korrekturcodes. So kann man sich die Paritätsinformationen als eine Art Checksumme vorstellen, mit der man überprüft, ob die verwendeten Daten noch korrekt sind, und ob eine Korrigierung der Fehler durchgeführt werden muss. Die Fehlerkorrektur mittels Paritätsinformation geschieht nun wie folgt (beschrieben nach Kemper und Eickler, Kapitel 7.2) 1 : Man speichert zu N Datenbereichen, die auf unterschiedlichen Platten liegen, zusätzlich deren Prüfsumme auf einer anderen Platte ab. Wenn nur einer dieser N Datenbereiche (bzw. deren Platte) defekt ist, kann man den Wert dieses Datenbereichs aus der Prüfsumme minus der Summe der noch intakten N-1 Datenbereiche wiederherstellen. Als Nachteil dieses Verfahrens ist zu nennen, dass in der Regel bei hoher Plattenanzahl nach Erfahrungsberichten mindestens 30 % der Speicherkapazität für Checkdaten zu verwenden sind. Abbildung 3: RAID 2 RAID 3 Bit- oder byteweises Striping mit einer Parity Platte: Die Daten werden im Gegensatz zu RAID 2 bit- oder byteweise über die verschiedenen Laufwerke verteilt abgespeichert und eine Check- bzw. Parityinformation zur Datensicherung auf einem indizierten Laufwerk für die Paritätsdaten abgelegt. Eine solche Paritätsinformation enthält Wissen zur Fehlererkennung und Rekonstruktion eines gesamten Streifens, und wird wie auch bei RAID 4 durch eine exklusive Oder- Verknüpfung der bit- bzw. byteweise gestreiften Daten zusammengesetzt. Kann nun auf der Platte ein Byte nicht mehr gelesen werden, so lässt es sich einfach aus den Kontrolldaten ergänzen. Der Nachteil von RAID 3 liegt im Wesentlichen darin, dass nach jeglicher Schreiboperation die Check- bzw. Parityinformation neu eingetragen werden muss. Hierdurch wird die Datendurchsatzrate erheblich reduziert, weil paralleler Datenzugriff nicht möglich ist. Beim Lesen hingegen wird nur im Fehlerfall auf die Paritätsplatte zugegriffen. 6

7 Abbildung 4: RAID 3 RAID 4 - Blockweises Striping mit einer Parity Platte: Wie bei RAID 0 werden die Daten Blockweise auf den Festplatten verteilt. Dabei ist ein Block üblicherweise vier bis 128 Kilobyte groß. Durch die Blockverteilung kann RAID 4 effizienter mit kleinen Leseanforderungen als RAID 3 umgehen. Allerdings zu Lasten von Schreiboperationen, da der Inhalt des Daten- und des Paritätsblocks gelesen und daraufhin geschrieben werden muss. Wiederum werden Paritätsdaten auf einem Sicherheitslaufwerk abgelegt. Durch diese Parität stehen bei einem Ausfall einer Festplatte alle Daten weiterhin zur Verfügung. Lediglich die Kapazität einer Festplatte geht für die Redundanz verloren. Abbildung 5: RAID 4 RAID 5 - Blockweises Striping mit verteilter Parity: Die Nachteile der RAID-Levels 2, 3 und 4 wurden erst mit der fünften Generation von RAID-Levels ausgeglichen. In der RAID-Ebene 5 wurde ein Verfahren entwickelt, das auf ein eigenes Laufwerk oder eigene Laufwerke für Prüfdaten verzichtet. Die Daten für die Fehlerkorrektur sind dabei über alle Festplatten verteilt. Da nun nach einer Schreiboperation nicht auf ein und dasselbe Laufwerk für die Fehlerkorrekturdaten zugegriffen werden muss, lässt sich die Fähigkeit der Plattenarrays, auf alle Laufwerke gleichzeitig zuzugreifen, effizienter nützen. Die Problematik des Prüfdatenzugriffs ist insofern entschärft, als für eine Schreiboperation nur in besonderen Fällen eine parallele Durchführung nicht mehr möglich ist. Abbildung 6: RAID 5 RAID 6 P+Q Redundanz: Zur Wiederholung: Parität ist eine Art Redundanz Code zur Fehlerkorrektur, welcher in der Lage ist, jeden einzelnen Fehler, der vom System erkannt wird, zu korrigieren. Bei der Verwendung von Disk Arrays ist es wünschenswert eine bessere Fehlerkorrektur zu besitzen, die mehrere Plattenfehler tolerieren kann. Tritt ein Plattenabsturz in einem Parität geschützten Disk Array auf, so muss das System die Möglichkeit haben die Inhalte aller nicht abgestürzten Platten zu lesen, um die defekte Platte wiederherzustellen. 7

8 Die Wahrscheinlichkeit, dass ein nicht korrigierbarer Fehler während der Wiederherstellung auftritt, ist demnach nicht zu vernachlässigen. Um eine noch höhere Datenintegrität zu gewährleisten, wurde somit ein neues RAID Schema eingeführt. Dieses Schema, welches man als P+Q Redundanz oder auch als RAID 6 bezeichnet, verwendet Reed-Solomon Fehlerkorrektur-Codes (siehe Glossar) um sich gegen bis zu zwei Plattenausfälle zu wappnen. Von der Struktur und von den Operationen betrachtet, ist die RAID 6 Ebene ähnlich wie RAID 5. Sie führt kleine Schreiboperationen mit der Verwendung einer Lese-Modifizier-Schreib-Prozedur aus, wie auch bei RAID 5, mit dem Unterschied, dass anstatt vier Schreibzugriffen sechs an der Zahl durchgeführt werden. Dies ist Notwendig, da sowohl die P, als auch die Q Informationen zusätzlich geupdatet werden müssen. Die Rekonstruktion der Daten erfolgt aus der Checksumme bzw. Paritätsinformation einer der beiden Paritäten P oder Q. RAID 7 der Alleskönner : Abbildung 7: RAID 6 Auch RAID 7 ist ähnlich wie RAID 5 aufgebaut. In der RAID-Steuereinheit wird bei RAID 7 aber zusätzlich ein lokales Echtzeitbetriebssystem eingesetzt. RAID 7 benutzt schnelle Datenbusse und mehrere größere Pufferspeicher. Die Daten in den Pufferspeichern und auf den Laufwerken sind von der Datenübertragung auf dem Bus abgekoppelt (asynchron). So werden alle Vorgänge gegenüber den anderen Verfahren erheblich beschleunigt. Ähnlich wie bei RAID 6 kann die Paritätsinformation für eines oder mehrere Laufwerke generiert werden. Es lassen sich gleichzeitig unterschiedliche RAID-Level nutzen. Weitere RAID Ebenen, alles Kombinationen bisheriger Ebenen, die hier aus Gründen der Vollständigkeit aufgeführt werden: RAID 1 0: Eigentlich handelt es sich bei RAID 1 0 nicht um einen eigenen RAID-Level, sondern lediglich um die Kombination von RAID 1 mit RAID 0. Damit werden die Eigenschaften der beiden Ebenen Sicherheit und sequentielle Performance vereinigt. Bei RAID 1 0 werden üblicherweise vier Festplatten verwendet, denn dieses System verlangt nach zwei Paaren gespiegelter Arrays, die dann zu einem RAID-0-Array zusammengefasst werden. RAID 1 0 eignet sich insbesondere zur redundanten Speicherung von großen Dateien. Da hierbei keine Parität berechnet werden muss, sind die Schreibzugriffe mit RAID 1 0 sehr schnell. RAID 1 0 gilt übrigens auch als zusätzlich gestreifte Version von RAID 1. RAID 3 0: RAID 3 0 wird eingesetzt, wenn große Dateien sequentiell übertragen werden sollen. Es handelt sich auch um eine zusätzlich gestreifte Version von RAID 3. Diese Version wurde von AMI (American Megatrends) entwickelt. Sie bietet Datensicherheit und sehr hohen 8

9 Durchsatz. RAID 3 0 ist komplexer als niedrigere RAID-Level und benötigt mehr Platten. AMI verwendet RAID 3 0 mit sechs Festplatten. RAID 5 0: Werden sowohl große Datensicherheit wie auch schnelle Zugriffszeiten und hohe Datentransfer-Raten benötigt, empfiehlt sich RAID 5 0. Auch diese Version stammt von AMI. Sie ist ebenfalls komplexer als niedrigere RAID-Level und benötigt ebenfalls sechs Festplatten. RAID 5 0 ist die gestreifte Version von RAID 5. Neben den oben genannten Kombination gibt es noch eine Vielzahl weiterer. Meistens handelt es sich dabei um maßgeschneiderte Lösungen in Betrieben. Da aber keine wirklich neuen Konzepte vorgestellt werden, entfällt die Beschreibung dieser. 3 Sicherheitsaspekte in Datenbanksystemen 3.1 Einführung: Dieser Abschnitt gibt eine Einführung in die grundlegenden Sicherheitsaspekte einer Datenbank. Dabei wird unter anderem ein kurzer Überblick über die absichtliche Schädigung und Enthüllug von sensitiven Daten, Kategorien von Schutzmechanismen, sowie die Zugriffskontrolle in SQL behandelt. Eine detailliertere Beschreibung, sowie Sicherheitsstrategien wird in einem der kommenden Vorträge sichere Betriebssysteme, sichere Datenbanksysteme behandelt. Im folgenden werden die einzelnen Sicherheitskategorien und einige Sicherheitsstrategien ( Policies ) kurz beschrieben: Identifikation und Authentisierung: Wie bereits ausführlichst in anderen Vorträgen und Ausarbeitungen erläutert, muss sich der Benutzer um sich Zugang zu einem Datenbanksystem zu schaffen, zunächst einmal identifizieren. Dies kann beispielsweise durch Eingabe des Benutzernamens erfolgen. Die Authentisierung überprüft daraufhin, ob es sich bei den Benutzern auch wirklich um die Person handelt, für die sie sich ausgibt. Normalerweise werden hierzu Paßwörter verwendet. Autorisierung und Zugriffskontrolle: Eine Autorisierung besteht aus Regeln, die die erlaubten Arten des Zugriffs auf Sicherheitsobjekte durch Sicherheitssubjekte definieren. Ein Sicherheitsobjekt ist eine passive Entität, die Informationen beinhaltet, wie z.b. ein Tupel oder ein Attribut. Ein Sicherheitssubjekt ist eine aktive Entität, die einen Informationsfluß bewirkt. Sicherheitssubjekte können Benutzer, Gruppen, Datenbankprozesse bzw. Anwendungsprogramme sein. Die Autorisierung stellt sicher, dass alle direkten Zugriffe zu den System Objekten gemäss der Privilegien und deren Zugriffsrichtlinien erfolgen. Man unterscheidet hierbei zwischen Mandatory- und Discretionary Access Control (kurz: MAC, DAC). Die Discretionary Zugriffsrichtlinien spezifizieren die Benutzerrechte auf unterschiedliche Systemressourcen und beinhalten ausserdem die Möglichkeit eines Benutzers, seine Rechte weiter zu geben. Man spricht von der Mandatory Zugriffskontrolle, wenn Objekten des Systems sogenannte Sicherheitsmarken ( security labels ) zugewiesen 9

10 werden, die einen Zugriff einschränken können. Letztere findet in Multi-Level Datenbanken Verwendung. Näheres dazu in Vortrag 9. Zuverlässigkeit und Auditing: Dienen dazu über alle Zugriffe einer Datenbank Buch zu führen, um deren physische Integrität zu wahren, und eine Analyse des Zugriffsprofils durchführen zu können. Schäden können somit rechtzeitig erkannt und beseitigt werden. Inferenz: Bezeichnet das sich Erschliessen von Daten, aufgrund von öffentlicher Informationsverbreitung. Dieses Wissen über Daten muss nicht unbedingt aus einer Datenbank stammen. Die Inferenz Richtlinie legt somit fest, wie man klassifizierte Informationen vor der Enthüllung oder Verbreitung schützt, falls diese indirekt veröffentlicht werden. Konsistenz: Sie umfasst die betriebliche, semantische, und physische Integrität einer Datenbank und bestimmt, ob sich diese in einem gültigen bzw. korrekten Zustand befindet. Die betriebliche Integrität gewährleistet die logische Konsistenz der Daten in einer Datenbank während der Ausführung verteilter Transaktionen. Die semantische Integrität beschreibt die logische Konsistenz von veränderten Daten, indem sie mit Hilfe von Kontrolldatenwerten die inhaltliche Vollständigkeit und Fehlerfreiheit sicherstellt. Die physische Integrität zielt darauf, die Datenbank immun oder reparierbar gegen physische Bedrohungen, z.b. Stromausfälle, zu machen. Abbildung 8: Späßle Um seine Daten zu schützen, d.h. gegen unbefugten Zugriff abzusichern, müssen die Schwachstellen eines Systems bekannt sein und konsequent versucht werden, diese auszumerzen. Folgende Angriffspunkte sind vorstellbar: Mißbrauch von Autorität: Diebstahl, Veränderung oder Zerstörung von Daten oder Programmen. Inferenz und Aggregation: Inferenz siehe oben. Unter Aggregation versteht man, dass einzelne Daten öffentlich zugänglich und nicht sicherheitsrelevant sind. Eine Vielzahl von Daten zusammen genommen unter Umständen aber schon. Ein Beispiel für Inferenz ist der Informationsgewinn der Note eines Studenten, falls diese zusammen mit der Matrikelnummer veröffentlicht ist, und der Name des betroffenen Studenten beispielsweise zusammen mit seiner Matrikelnummer auf einer beliebigen Liste (z.b.: Anwesenheitsliste, Matrikelnummer mit Unterschrift) erfaßt ist. Ein Angriffspunkt mittels Aggregation beschreibt beispielsweise den Informationsschluß über den statistischen 10

11 Alkoholgenuß einer einzelnen Person durch häufige Beobachtung des Trinkverhaltens dieser Person. Man bezeichnet dies als Aggregation, und nicht als Inferenz, da die Beobachtung eines einzelnen Zeitpunktes, an dem die Person Alkohol drinkt, nicht den Schluß zuläßt, daß ein Alkoholproblem vorliegt. Prost! Maskierung: Unautorisierter Zugriff auf Daten durch eine Person, die sich als ein autorisierter Benutzer ausgibt. Dabei erfolgt eine Umgehung der Zugriffskontrolle. Dies ist durch ausspionieren eines Passwortes möglich, oder die Ausnutzung von Sicherheitslücken im Betriebssystemcode oder in Anwendungsprogrammen. Browsing: Sicherheitsrelevante Informationen können zum Teil in Dateinamen oder Verzeichnisstrukturen enthalten sein. Dies bietet dem Angreifer weiterhin die Möglichkeit, seine Angriffe gezielt durchzuführen. Trojanische Pferde & Versteckte Kanäle: Wurden bereits in vergangenen Vorträgen erörtert. 3.2 Zugriffskontrolle in SQL Im SQL-92 Standard existieren zwei Befehle zur Zugriffskontrolle. Einer um Rechte zu vergeben (grant), und einer um Rechte zu entziehen (revoke). Normen für Authe ntisierung und Protokollierung werden nicht aufgestellt. Diese erwähnten Befehle sind in das oben beschriebene DAC-Modell einzuordnen. Die Untestützung von MAC findet aber trotzdem Verwendung in kommerziellen Datenbanksystemen. Wir verweisen dazu auf den nachfolgenden Vortrag Implementierungen. Beispiel (grant, revoke): grant select on employee to username; revoke select on employee from username cascade; Die Verwaltung einer Datenbank ist dem DB- Administrator überlassen. Mit einer speziellen Systemkennung hat er Zugriff auf alle Daten und Funktionen der Datenbank. Somit ist er auch verantwortlich für die Zugriffskontrolle bzw. Rechtevergabe. Da der DB- Administrator praktisch über alle Rechte einer Datenbank verfügt, kann ein Missbrauch seinerseits etwa über eine Protokollierung seiner Aktivitäten erfolgen, oder eine Überwachung durch eine gleichwertige oder höhere Instanz, sofern der Datenbankadministrator dem Systemadministrator bzgl. der Benutzerrechte untergestellt ist. Modelle hierzu wurden bereits in vorherigen Vorträgen erläutert. Identifikation und Authentisierung: Das Konzept der Identifikation und Authentisierung wurde bereits ausgiebig beschrieben. Ein Benutzer identifiziert sich über einen Login und authentifiziert sich über sein Passwort. Beispiel (Benutzer hinzufügen): create user username identified externally; Autorisierung und Zugriffskontrolle: 11

12 Eine Autorisierung erfolgt mit dem grant-kommando. Außer select existieren in SQL noch die Standardprivilegien delete, insert, update und references. Mit der Autorisierung über die Rechte insert, update und references ist es Möglich den Zugriff auf bestimmte Attribute einer Relation zu gewährleisen und/ oder einzuschränken. Das references- Privileg erlaubt Benutzern, Fremdschlüssel auf ein bestimmtes Attribut anzulegen. Somit kann ein Benutzer, aufgrund der referentiellen Integrität, daran gehindert werden, Datentupel aus einer Relation zu entfernen. Sichten: Mit Hilfe von Sichten ist man in der Lage, Daten vor nicht autorisierten Benutzern zu verschleiern. Dies geschieht, indem man auf eine Relation eine Sicht mit einer bestimmten Bedingung erzeugt. Man stelle sich beispielsweise eine Firma vor, in der nur Mitarbeiter einer Abteilung Zugriff auf öffentliche Daten von Mitarbeiter derselben Abteilung haben: Beispiel: create view employee123 as select * from employee where department=123; Weiterhin können aggregierte Sichten zur Informationsenthaltung nicht autorisierter Benutzer dienen, da sie keine exakten Datentupel, sondern statistische (aggregierte) Daten enthalten. Es ist aber hierbei auf den Informationsgehalt zu achten, da ansonsten wieder die Gefahr von Inferenz (siehe oben) besteht. Auditing: Der SQL-92 Standard beinhaltet keine Protokollierbefehle eines Datenbanksystems. In IBM-DB2 jedoch, wie auch in den meisten anderen DBS, wird der Befehl audit zur Protokollierung verwendet. Es können beispielsweise fehlgeschlagende Zugriffe protokolliert werden, um den eventuellen Angriff nachzuverfolgen. Beispiel: db2audit configure scope objmaint, secmaint status failure (Protokollierung aller fehlgeschlagenen Operationen) Nicht zu vernachlässigen ist der mit dem Auditing verbundene Zusatzaufwand für das Datenbanksystem. Deshalb sollte man sich genau überlegen, welche Protokolldaten überhaupt notwendig oder von Interesse sind. 4 Verteilte Datenbanksysteme 4.1 Was ist ein verteiltes Datenbanksystem? Definition (nach Ceri und Pelagatti 1984 aus Datenbanksysteme, Eine Einführung 1 ): Eine verteilte Datenbank besteht aus einer Sammlung von Informationseinheiten, die auf mehreren über ein Kommunikationsnetz miteinander verbundenen Rechnern verteilt ist. Jede Station des Netzwerks kann autonom lokal verfügbare Daten verarbeiten und somit lokale Anwendungen, ohne Einbeziehung anderer Stationen, ausführen. Jede Station des verteilten Datenbanksystems (VDBS) nimmt aber zusätzlich an mindestens einer globalen Aufgabe teil, die über das Kommunikationsnetz abgewickelt wird. LAN, WAN, Telefonverbindungen 12

13 DB 1 Station 1 Station 4 Kommunikationsnetz Station 2 DB 4 DB 2 Station 3 DB 3 Abbildung 9: Verteiltes Datenbanksystem (Beispiel mit 4 Stationen) Mit dem idealen verteilten Datenbanksystem können Datenbestände, welche auf beliebig vielen verschiedenen Rechnern, die unterschiedliche Betriebssysteme verwenden, über verschiedene Protokolle kommunizieren, und in heterogenen lokalen Datenbanksystemen gespeichert werden, so dass jedes beliebige Anwendungsprogramm beziehungsweise jeder Anwender den Eindruck hat, die Daten würden an einem Ort, in einem Datenbanksystem verwaltet werden (Verteilungstransparenz). Das verteilte Datenbanksystem hat dafür zu sorgen, dass bei Änderungsoperationen die erforderlichen Modifikationen an allen Stellen in konsistenter Weise durchgeführt werden. Fehlersituationen wie etwa Ausfälle von Knoten, Kommunikationsverbindungen etc. werden soweit wie möglich von den Anwendungsprogrammen bzw. Anwendern verborgen gehalten. 4.2 Datenbankreplikation Definition der Replikation bei Verteilten Datenbanksystemen nach der Übersetzung aus den im Englischen aufgestellten Oracle8i Concepts Release : Replikation ist der Prozess des Kopierens und Instandhaltens von Datenbankobjekten in Mehrrechnerdatenbanken, die ein verteiltes Datenbanksystem bilden. Änderungen, die an einem Replikat ausgeführt werden sollen, werden erfasst und lokal gespeichert, bevor sie zu jeder der entfernten Informationsknoten weitergeleitet und angewendet werden. Die Replikation stellt dem Benutzer einen schnellen lokalen Zugriff zu gemeinsamen Daten zur Verfügung, und schützt die Verfügbarkeit von Applikationen, da alternative Datenzugriffsoptionen existieren. Selbst wenn ein Replikat nicht mehr verfügbar ist, können die Benutzer weiterhin Anfragen oder sogar Änderungen bei den verbleibenden Replikaten durchführen. 13

14 Abbildung 10: Allgemeines Replikationsmodell Abbildung 11 gibt einen Überblick über die im Verlaufe näher erläuterten Replikationsstrategien. Es sei an dieser Stelle erwähnt, dass die Begriffe Replikationsstrategie und Replikationsmodell synonym verwendet werden Replikationsstrategien Replikationsstrategien: Korrektheitsziel strenge Konsistenz schwache Konsistenz Refresh-Zeitpunkt synchron (eager) asynchron (lazy) asynchron (lazy) Anzahl der Änderer pro Objekt n 11 n 1 Beispiel-Strategien ROWA Voting Primary Copy (mit lesen aktueller Daten) Merge- Replikation ( Anywhere ) Primary Copy mit Lesen veralteter Daten Schnappschuss - Replikation Standby- Replikation Abbildung 11: Überblick Replikationsstrategien bei verteilten Datenbanksystemen Die nachfolgend aufgeführten Differenzierungen von Replikationsmodellen wurden der wissenschaftlichen Ausarbeitung Understanding Replication in Databases and Distributed Systems 3 entnommen. Hiernach unterteilen wir Replikationen im Folgenden nach zwei Kriterien: Vorgehensweise des Propagierens von Änderungen (Refresh Zeitpunkt): Man unterscheidet hier zwischen Eager Replication, wobei bei Änderungen alle Instanzen innerhalb der selben Transaktion synchron in den neuen Zustand versetzt werden, und Lazy Replication, die nach einer Änderungen das durch einzelne Transaktionen asynchron an die verbleibenden Instanzen weiter propagiert. Besitzrechte an einem replizierten Objekt: Weiterhin differenzieren wir zwischen Group Replication und Master Replication: Die Group Replication erlaubt jedem Informationsknoten mit replizierten Daten, diese zu updaten. Bei der Master Replication haben alle Replikate einen Master Knoten, der als einzige Instanz ein durchführen kann. Auf die übrigen Replikate ist nur ein 14

15 Lesezugriff gestattet. Um auch hier das durchzuführen, muss der Master Knoten dazu aufgefordert werden Funktionaler Ablauf des Replikationsprotokolls Der Ablauf einer Anfrage eines Rechners an eine (oder mehrere) replizierte Datenbanken verläuft in fünf Schritten. Die Modelle in den nachfolgenden Unterabschnitten verwenden jedoch nicht immer alle Phasen, durchlaufen diese in unterschiedlicher Anordnung, iterieren über die einzelnen Schritte, oder fassen unterschiedlich Phasen zu einer komplexeren Struktur zusammen. Im allgemeinen Modell stellt der Rechner einen Request an eine (oder mehrere) Replikate, woraufhin die Replikationsserver untereinander kommunizieren, um die Anfrage des Rechners zu synchronisieren. Diesen Vorgang nennt man Server. Nach der Execution, also der Ausführung der Anfrage auf den Replikationsservern, muss jedes einzelne Replikat dem Ergebnis der Ausführung zustimmen, um die Atomarität der Anfrageausführung zu wahren (Agreement ). Letztendlich erfolgt der Response, das Anfrageergebnis wird zum Rechner übertragen. Die einzelnen Phasen des Replikationsprotokolls werden im Folgenden näher erläutert. Request: Der kann eine Anfrage an das System entweder direkt an alle Replikate stellen (aktives Replikationsmodell), oder lediglich an eine Einzige, die diese während der Server Phase an alle anderen Replikate propagiert (passives Replikationsmodell). Da bei Datenbanksystemen im Allgemeinen die Replikation transparent gegenüber dem Rechner dargestellt sein soll es ist sehr unwahrscheinlich, dass der die Zugriffsinformation aller Replikate kennt wird hier das aktive Replikationsmodell nicht verwendet, vollständigkeitshalber ist es im nachfolgenden Abschnitt jedoch vorgestellt. Server : Während dieser Phase erstellen die Replikate einen synchronisierten Ausführungsablauf nach Datenabhängigkeiten der einzelnen Operationen einer Anfrage (sequentielle Datenkonsistenz). Bei Datenbanksystemen muss weiterhin auf Linearisierbarkeit geachtet werden. Die Linearisierbarkeit unterscheidet sich von der sequentiellen Datenkonsistenz in dem Punkt, dass Datenabhängigkeiten in Echtzeit aufgelöst werden müssen, wohingegen die sequentielle Datenkonsistenz unter Umständen erlaubt, veraltete Werte zu lesen, da hierbei nicht auf die zeitliche Synchronisation, sondern lediglich die Anordnung der Operationen berücksichtigt wird (siehe Atomic Broadcast ). Die in dieser Ausarbeitung erläuterten Replikationsmodelle bei verteilten Datenbanksystemen beachten die Forderung der Linearisierbarkeit mittels einem Vergleich aller Anfrageergebnisse in der Agreement Phase beziehungsweise durch die Verwendung von View Synchronous Broadcast (siehe ). Execution: In der Ausführungsphase werden die sync hronisierten Operationen angewendet, bevor das Ausführungsergebnis in der Agreement Phase validiert wird. Agreement : In diesem Schritt kommunizieren die Replikate miteinander, ob die ausgeführten Operationen während der Execution Phase bei jeder einzelnen Instanz das gleiche Ergebnis aufzeigt. Dies gleicht dem Two Phase Commit Protocol (2PC), während dem entschieden wird, ob die Anfragebearbeitung durch ein Commit oder Rollback abgeschlossen wird, und ist bei Datenbanksystemen notwenig, um die Forderung der Linearisierbarkeit zu erfüllen, die alleine durch eine Abstimmung der Reihenfolge von Operationen einer Anfrage während der Server Phase nicht gewährleistet ist. 15

16 Durch Berücksichtigung der Linearisierbarkeit ist weiterhin noch nicht sicher gestellt, dass nach dem Abschluss der Anfragebearbeitung die Datenkonsistenz über alle Instanzen gewahrt ist, da Sekundärfehler, wie Konflikte mit systeminternen Operationen oder Hardwarefehler auftreten können. Erst nachdem alle Replikate einem Commit zustimmen wird das Ergebnis in der Response Phase zurückgeliefert. Diese Vorgehensweise bei Datenbanken unterscheidet sich vollkommen von der im allgemeinen Konzept verteilter Systeme, bei dem bereits nach der Server Phase die sequentielle Datenkonsistenz durch Erfüllung der Anforderung der Linearität sichergestellt ist, was den Abschluss des kompletten Anfragevorgangs mit dem Response zur Folge hat. Response: Die zeitliche Einordnung dieser Phase ist genau der Zeitpunkt, zu dem der eine Antwort vom System erhält. Man unterscheidet hier zwei Konzepte: Falls der Response vor der eigentlichen Ausführung der Einzeloperationen vorgenommen wird, spricht man bei Datenbanken von einem lazy oder asynchronen Replikationsmodell. Wird die Antwort erst vom System gegeben, nachdem alle Replikate die Operationen bearbeitet haben, so bezeichnet man das Replikationsmodell als eager oder synchron. Im allgemeinen Verteilungsmodell wird der Response direkt nach der Server Phase vorgenommen. Das asynchrone Modell hat vor allem bei mobilen Rechnern den Vorteil, dass der Benutzer nicht auf die teilweise länger dauernde eager Anfragebearbeitung warten muss, vor allem, wenn eine Verbindung zum System durch Ortswechsel öfter unterbrochen ist Abstrahierung von Kommunikationsmodellen Um die Replikationsmodelle im kommenden Abschnitt ausführlich erklären zu können, führen wir als Abstrahierung von Kommunikationsmodellen die Begriffe Atomic Broadcast und View Synchronous Broadcast ein, die auf alle verteilten Systeme angewendet werden. Ein verteiltes System ist abstrakt gesehen eine Modell von Diensten, die von Server Prozessen zur Verfügung gestellt werden. Um durch Aufrufe den lokalen Status eines dieser Prozesse atomar, das heißt, nicht teilweise, sondern wenn, dann nur komplett, zu ändern, bedient man sich verschiedenen Techniken, die konkurrierende verteilte Operationen gegenseitig isolieren. Dies ist meist Aufgabe des Serversystems, und wird mittels lokaler Synchronisationsmechanismen umgesetzt. Um die Dienste vor den Rechnern und somit den Benutzern transparent zu kapseln, bedient man sich verschiedener -Server Kommunikationstechniken, die als lokale Adressierungsmechanismen verwendet werden, und die die Komplexität der Konsistenzerhaltung (siehe Glossar) vor dem verbergen. Die zwei wichtigsten Techniken werden im Folgenden näher erläutert. Atomic Broadcast (ABCAST) Ein Kommunikationssystem basiert auf Atomic Broadcast, wenn es Atomarität und vollständige Sortierung implementiert. Seien m1 und m2 zwei Nachrichten, die einen ABCAST der gleichen Gruppe g von Elementen darstellen. Die Eigenschaft der Atomarität besagt, dass, falls ein Element in der Gruppe m1 oder m2 ve rschickt, alle restlichen (nicht ausgefallenen) Elemente diese Nachricht auch verschicken müssen. Falls zwei Elemente in g jeweils m1 und m2 versenden, werden diese Nachrichten wegen der Bedingung der vollständigen Sortierung beide Male in der gleichen Reihenfolge gesendet. 16

17 View Synchronous Broadcast (VSCAST) Hierbei ist eine Sequenz von Sichten (Views) v0(g), v1(g),..., vi(g),... bezüglich einer Gruppe g definiert, deren Inhalte eine Zusammenstellung von g zu einer bestimmten Zeit aufzeigen. Ein Beispiel einer Sicht vj(g) ist die Darstellung der Gruppenelemente, von denen angenommen wird, dass sie zur Zeit t(vj(g)) fehlerfrei sind. Eine Änderung der Beziehungen innerhalb einer derartigen Gruppe wird durch die Erstellung einer neuen Sicht vi+1(g) angezeigt, und wird immer dann vorgenommen, wenn angenommen wird, dass ein Element e1 in der Sicht vi(g) ausgefallen ist, oder ein Element e2 neu in g aufgenommen werden soll. Ein VSCAST einer Nachricht m durch ein Gruppenelement von g in vi(g) erfüllt die folgende Bedingung. Falls ein Element e in vi(g) m versendet, bevor vi+1(g) angelegt wurde, legt kein Prozess diese Sicht an, ohne vorher m gesendet zu haben. Mit der Hilfe dieser Techniken, können in den folgenden Abschnitten die wichtigsten Replikationsmodelle ausführlich vorgestellt werden Aktiv Abbildung 12: Übersicht aktive Replikation Das aktive Replikationsmodell ist eine nicht zentralisierte Replikationsmethode und wird auch der deterministische Automatenansatz genannt, da die Konsistent der Replikate gewahrt wird. Das Hauptkriterium hierfür ist die Übergabe und Bearbeitung exakt der gleichen Benutzeranfragen bei allen Replikationen, die auf die selbe Eingabe jeweils die selbe Ausgabe produzieren. Rechner stellen ihre Anfragen immer an Gruppen von Servern, wobei durch atomare Anfragepropagierung (s.o. Atomic Broadcast) sichergestellt werden kann, dass alle Server innerhalb der Gruppe die gleichen Eingaben in der gleichen Reihenfolge erhalten, siehe Abbildung 12. Die Hauptkriterien des aktiven Replikationsmodells sind die Fehlertransparenz, da andere Replikate bei dem Ausfall von einer Kopie die Anfrage weiterhin bearbeiten können, und die einfache Implementierung durch identische Verfahrens- und Vorgehensweisen auf allen Replikaten. Abbildung 13 veranschaulicht das aktive Replikationsmodell, wobei hier als Kommunikationsdirektive der Atomic Broadcast verwendet wird. Man beachte, dass die Request und Server Phase zusammengeführt, und die Agreement Phase bei der aktiven Replikation ausgelassen wird. 17

18 Phase 1: 1: Request Phase 2: Server Phase 3: 3: Execution Phase 4: 4: Agreement- Phase 5: 5: Response Atomic Broadcast Replikat 1 Replikat 2 Replikat 3 Abbildung 13: Aktives Replikationsmodell Abbildung 13 stellt die Reihenfolge der einzelnen Ausführungsphasen dar. Im ersten Schritt stellt der mittels ABCAST die Anfrage an die Server. Darauf folgt die Server unter der Bedingung der totalen Ordnung des Atomic Broadcasts. In der dritten Phase führen die Replikate die Anfrage in der Reihenfolge aus, die durch die Server festgelegt wurde. Da alle Replikate auf die gleiche Anfrage immer auch das gleiche Ergebnis liefern, entfällt die Agreement bei dem aktiven Replikationsmodell, somit wird Phase vier übersprungen. In der fünften Phase liefert jede Replikation ihr Ergebnis an den zurück, wobei dieser lediglich auf die erste Antwort wartet Passiv/Primary Copy Bei dem passiven Replikationsmodell, auch Primary Copy Modell genannt, werden Anfragen immer an einen Primary Server gestellt, der lediglich s an die untergeordneten Replikate (Backup Replikate) propagiert (vergleiche Abbildung 14). Um bei der Kommunikation zwischen Primary Server und den Backup Kopien sicher zu stellen, dass s in der gleichen Reihenfolge auf allen Backups ausgeführt werden, wird in der Praxis meist VSCAST eingesetzt. Beim Ausfall des Primary Servers während einer Aufforderung an die Backup Replikate übernimmt ein anderer Server aus dem Pool die Rolle des Primary, wobei VSCAST sicher stellt, dass bei einer neuen Anfrage vorher alle Backup Kopien die ursprünglichen Aufträge des ausgefallenen Primary Servers in der gleichen Reihenfolge synchronisiert ausführen, bevor das neue angewendet wird. Abbildung 14: Übersicht passive Replikation 18

19 Sieht man von der Rekonfiguration ab, der beim Ausfall des Primary Servers anfällt, erfordert das passive Replikationsmodell in der Praxis den geringsten Rechenaufwand. Die fünf Phasen des Replikationsprotokolls bei der passiven Replikation werden in Abbildung 15 aufgezeigt. Schritt eins repräsentiert wieder die Anfrage des s, jedoch diesmal direkt an den Primary Server. Phase zwei entfällt, da hier nur ein Server verwendet wird, der Requests entgegennimmt. In der dritten Stufe führt der Primary Server das lokal aus, und koordiniert unter Verwendung von View Synchronous Broadcast in Phase vier die Propagierung des s an die Backup Replikate. Zum Schluss erfolgt die Antwort des Primary Servers an den. Phase 1: 1: Request Phase 2: 2: Server Phase 3: 3: Execution Phase 4: 4: Agreement- Phase 5: 5: Response VS Cast Replikat 1 Replikat 2 Apply Replikat 3 Apply Abbildung 15: Passives Replikationsmodell Semi-Aktiv/ Semi-Passiv Dieses Replikationsmodell ist ein Hybridverfahren zwischen der aktiven und passiven Replikationstechnik, und lässt nichtdeterministische Ausführungen bei den Replikationen zu. Im Gegensatz zum aktiven Modell entscheidet ein sogenannter Leader in Phase drei über das nichtdeterministische und propagiert dieses an die übrigen Replikate weiter. Mittels VSCAST erfolgt im 4. Schritt die Agreement analog zum passiven Modell. Phase 1: 1: Request Phase 2: 2: Server Atomic Broadcast Phase 4: 4: Agreement- VS Cast Phase 3: 3: Execution Nicht deterministischer Punkt Phase 5: 5: Response Replikat 1 Replikat 2 Apply Replikat 3 Apply Abbildung 16: Semi -Aktives Replikationsmodell 19

20 Neben dem semi-aktiven existiert noch das semi-passive Modell, das die Server und die Agreement Phasen zu einem Koordinationsschritt zusammenfasst. Da dieses Replikationsmodell jedoch bei verteilten Datenbanksystemen keine Anwendung findet, wird es in diesem Dokument nicht weiter erläutert Eager Primary Copy Die Eager Primary Copy Strategie verläuft bis auf die Agreement Phase analog zum passiven Modell. Im vierten Schritt propagiert der Primary Server das an alle übrigen Replikate, und wartet erst auf deren Commit Statements, bevor er selber das Commit ausführt und die Antwort an den zurückgibt. Da hier auf zwei Ebenen Commits angewendet werden, nennt man dies den Two Phase Commit (2PC). Falls bei dieser synchronen Kommunikation ein Fehler auftritt, stellt der Primary Replication Server den Konflikt fest, und löst ihn auf, wobei sich die Sekundärkopien unterordnen. Danach wird dem der Rückgabewert übermittelt. Phase 1: 1: Request Phase 2: 2: Server Phase 3: 3: Execution Phase 4: 4: Agreement- Phase 5: 5: Response Replikat 1 Replikat 2 Apply 2 Phasen Commit Replikat 3 Apply Abbildung 17: Eager Primary Copy Eager Everywhere Im Gegensatz zur Primary Copy Lösung, bei der der Rechner Anfragen lediglich an den Primary Server senden kann, erlaubt der Everywhere Ansatz Anfragen bei jedem Replikat. Wird zusätzlich bei reinen Lesezugriffen immer das lokal nächstgelegenste Replikat angesprochen, nennt man dies auch das ROWA (Read- Once/Write-All) Verfahren. Hierbei kann es zu Konflikten kommen, falls mehrere Aktualisierungen des gleichen Objekts bei verschiedenen Replikationen eintreffen. Um diese Konflikte bei verteilten s auf den einzelnen Kopien zu vermeiden, betrachten wir neben dem ABCAST Replikationsprotokoll die Technik des gegenseitigen Ausschlusses durch verteiltes Sperren (distributed locking) With Distributed Locking Bei der Verwendung von distributed locking kann ein Objekt erst verwendet und aktualisiert werden, wenn es vorher auf allen Replikationen gesperrt wurde. Führt man eine Transaktion durch, die lediglich eine Operation ausführt, so verhält sich der Kontrollfluss analog zu Abbildung 18. Der Rechner sendet in Phase eins eine -Anfrage an einen lokalen Datenbankserver, der im zweiten Schritt, der Server Phase, zuerst einen sogenannten Lock Request an alle Replikate sendet, bei dem überprüft wird, ob das Objekt kurzfristig global für andere Anfragen gesperrt werden kann. Bei einer negativen Antwort wird dieser Schritt zeitlich versetzt wiederholt, 20

RAID. Name: Artur Neumann

RAID. Name: Artur Neumann Name: Inhaltsverzeichnis 1 Was ist RAID 3 1.1 RAID-Level... 3 2 Wozu RAID 3 3 Wie werden RAID Gruppen verwaltet 3 3.1 Software RAID... 3 3.2 Hardware RAID... 4 4 Die Verschiedenen RAID-Level 4 4.1 RAID

Mehr

Die allerwichtigsten Raid Systeme

Die allerwichtigsten Raid Systeme Die allerwichtigsten Raid Systeme Michael Dienert 4. Mai 2009 Vorbemerkung Dieser Artikel gibt eine knappe Übersicht über die wichtigsten RAID Systeme. Inhaltsverzeichnis 1 Die Abkürzung RAID 2 1.1 Fehlerraten

Mehr

Hard & Software Raid

Hard & Software Raid Hard & Software Raid Werner von Siemens Schule Präsentation Inhaltsverzeichnis Hardware Raid Raid 0 Raid 1 Parity Raid 0+1 & 2 Raid 3 & 4 Raid 5 & 6 Raid 7 Software Raid Fragen, Schlusswort 2 Hardware

Mehr

STORAGE. Martin Schmidt Berufsschule Obernburg

STORAGE. Martin Schmidt Berufsschule Obernburg STORAGE Martin Schmidt Berufsschule Obernburg Storage Begriffserklärung Storage ist die Bezeichnung für eine große Menge zusammenhängenden Speicherplatz in einem Netzwerk. Storage heißen auch die große

Mehr

Kapitel 6 Anfragebearbeitung

Kapitel 6 Anfragebearbeitung LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Skript zur Vorlesung: Datenbanksysteme II Sommersemester 2014 Kapitel 6 Anfragebearbeitung Vorlesung: PD Dr. Peer Kröger

Mehr

Betriebssysteme K_Kap11C: Diskquota, Raid

Betriebssysteme K_Kap11C: Diskquota, Raid Betriebssysteme K_Kap11C: Diskquota, Raid 1 Diskquota Mehrbenutzer-BS brauchen einen Mechanismus zur Einhaltung der Plattenkontingente (disk quotas) Quota-Tabelle enthält Kontingenteinträge aller Benutzer

Mehr

TAV Übung 3. Übung 3: Verteilte Datenhaltung

TAV Übung 3. Übung 3: Verteilte Datenhaltung Übung 3: Verteilte Datenhaltung 1. Serialisierung Konstruieren Sie Historien aus drei Transaktionen T1, T2 und T3, die folgende Merkmale aufweisen: 1. Die serielle Reihenfolge ist T1 vor T2 vor T3. 2.

Mehr

Alles Spricht von RAID-Verband

Alles Spricht von RAID-Verband Alles Spricht von RAID-Verband Der Begriff "RAID" fiel in der Vergangenheit lediglich in dem Zusammenhang von Server-PC's. Doch heutzutage, wo die PC-Hardware immer günstiger werden und das Interesse an

Mehr

Verteilte Systeme - 5. Übung

Verteilte Systeme - 5. Übung Verteilte Systeme - 5. Übung Dr. Jens Brandt Sommersemester 2011 Transaktionen a) Erläutere was Transaktionen sind und wofür diese benötigt werden. Folge von Operationen mit bestimmten Eigenschaften: Atomicity

Mehr

2. Braunschweiger Linux-Tage. Vortrag über RAID. von. Thomas King. http://www.t-king.de/linux/raid1.html. 2. Braunschweiger Linux-Tage Seite 1/16

2. Braunschweiger Linux-Tage. Vortrag über RAID. von. Thomas King. http://www.t-king.de/linux/raid1.html. 2. Braunschweiger Linux-Tage Seite 1/16 2. Braunschweiger Linux-Tage Vortrag über RAID von Thomas King http://www.t-king.de/linux/raid1.html 2. Braunschweiger Linux-Tage Seite 1/16 Übersicht: 1. Was ist RAID? 1.1. Wo wurde RAID entwickelt? 1.2.

Mehr

Verteilte Datenbanken. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Verteilte Datenbanken. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 8 Verteilte Datenbanken Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

Bedeutung der Metadateien. Alle Metadaten werden in Dateien gehalten. NTFS ist ein Journal-File-System

Bedeutung der Metadateien. Alle Metadaten werden in Dateien gehalten. NTFS ist ein Journal-File-System 6 Beispiel: Windows NT (NTFS) 6.3 Metadaten 6 Beispiel: Windows NT (NTFS) 6.3 Metadaten 6.3 Metadaten 6.3 Metadaten (2) Alle Metadaten werden in Dateien gehalten Indexnummer 0 1 2 3 4 5 6 7 8 16 17 MFT

Mehr

Anleitung zur Installation von SATA- Festplatten und zur RAID-Konfiguration

Anleitung zur Installation von SATA- Festplatten und zur RAID-Konfiguration Anleitung zur Installation von SATA- Festplatten und zur RAID-Konfiguration 1. Anleitung für Installation von TA-Festplatten... 2 1.1 Serial ATA- (SATA-) Festplatteninstallation... 2 2. Anleitung zur RAID-Konfiguration...

Mehr

Was machen wir heute? Betriebssysteme Tutorium 12. Organisatorisches. Frage 12.1.a. Programmieraufgaben Vorstellung. Antwort

Was machen wir heute? Betriebssysteme Tutorium 12. Organisatorisches. Frage 12.1.a. Programmieraufgaben Vorstellung. Antwort Was machen wir heute? Betriebssysteme Tutorium 12 1 Organisatorisches Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität

Mehr

1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL

1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL 1 Transaktionen in SQL Um Daten in einer SQL-Datenbank konsistent zu halten, gibt es einerseits die Möglichkeit der Normalisierung, andererseits sog. Transaktionen. 2 Was ist eine Transaktion Eine Transaktion

Mehr

Verteilte Systeme SS 2015. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 7.

Verteilte Systeme SS 2015. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 7. Verteilte Systeme SS 2015 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 7. Juli 2015 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/13) i

Mehr

View. Arbeiten mit den Sichten:

View. Arbeiten mit den Sichten: View "individuelle Sicht" (vgl. 3-Schichten-Modell) virtuelle Tabellen: in der DB wird nicht deren Inhalt, sondern nur die Ableitungsregel gespeichert. Arbeiten mit den Sichten: Anfragen: kein Problem.

Mehr

Datenintegrität und Transaktionskonzept

Datenintegrität und Transaktionskonzept und Transaktionskonzept 1. / Datenkonsistenz 1 Mögliche Gefährdung der : Missachtung von Konsistenzbedingungen ("Semantische Integrität") Inkorrekte Verweise auf Datensätze in verschiedenen Tabellen ("Referentielle

Mehr

Datenbanken: Datenintegrität. www.informatikzentrale.de

Datenbanken: Datenintegrität. www.informatikzentrale.de Datenbanken: Datenintegrität Definition "Datenkonsistenz" "in der Datenbankorganisation (...) die Korrektheit der gespeicherten Daten im Sinn einer widerspruchsfreien und vollständigen Abbildung der relevanten

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

NAS 251 Einführung in RAID

NAS 251 Einführung in RAID NAS 251 Einführung in RAID Ein Speicher-Volume mit RAID einrichten A S U S T O R - K o l l e g Kursziele Nach Abschluss dieses Kurses sollten Sie: 1. Ü ber ein grundlegendes Verständnis von RAID und seinen

Mehr

Funktion rsync mit den actinas Cube Systemen.

Funktion rsync mit den actinas Cube Systemen. Funktion rsync mit den actinas Cube Systemen. Unternehmen haben oft keine ausgebildete IT Abteilung. Trotzdem oder gerade deshalb sind Backups so wichtig, denn das ist im Falle eines Datenverlustes, Ihre

Mehr

1 Die Active Directory

1 Die Active Directory 1 Die Active Directory Infrastruktur Prüfungsanforderungen von Microsoft: Configuring the Active Directory Infrastructure o Configure a forest or a domain o Configure trusts o Configure sites o Configure

Mehr

Alle Metadaten werden in Dateien gehalten

Alle Metadaten werden in Dateien gehalten 6 Beispiel: Windows NT (NTFS) 6.3 Metadaten 6.3 Metadaten Alle Metadaten werden in Dateien gehalten Indexnummer 0 1 2 3 4 5 6 7 8 16 17 MFT MFT Kopie (teilweise) Log File Volume Information Attributtabelle

Mehr

Die Grundbegriffe Die Daten Die Informationen

Die Grundbegriffe Die Daten Die Informationen Die Grundbegriffe Die Daten sind diejenigen Elemente, die vom Computer verarbeitet werden. Die Informationen sind Wissenselemente, welche durch die Analyse von Daten erhalten werden können. Die Daten haben

Mehr

RAID Redundant Array of Independent [Inexpensive] Disks

RAID Redundant Array of Independent [Inexpensive] Disks RAID Redundant Array of Independent [Inexpensive] Disks Stefan Wexel Proseminar Algorithms and Data Structures im WS 2011/2012 Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Informatik

Mehr

Terminologie. Kapitel 15 Verteilte Datenbanken. Verteiltes Datenbanksystem. Kommunikationsmedien

Terminologie. Kapitel 15 Verteilte Datenbanken. Verteiltes Datenbanksystem. Kommunikationsmedien Kapitel Verteilte Datenbanken Terminologie Motivation: geographisch verteilte Organisationsform einer Bank mit ihren Filialen Filialen sollen Daten lokaler Kunden bearbeiten können Zentrale soll Zugriff

Mehr

Konzept für eine Highperformance- und Hochverfügbarkeitslösung für. einen Anbieter von Krankenhaus Abrechnungen

Konzept für eine Highperformance- und Hochverfügbarkeitslösung für. einen Anbieter von Krankenhaus Abrechnungen Konzept für eine Highperformance- und Hochverfügbarkeitslösung für Anforderungen : einen Anbieter von Krankenhaus Abrechnungen Es soll eine Cluster Lösung umgesetzt werden, welche folgende Kriterien erfüllt:

Mehr

Bundesministerium für Gesundheit und Soziale Sicherung. Gefördert vom. Datenschutz und Datensicherheit. Aufgaben

Bundesministerium für Gesundheit und Soziale Sicherung. Gefördert vom. Datenschutz und Datensicherheit. Aufgaben Gefördert vom Bundesministerium für Gesundheit und Soziale Sicherung Datenschutz und Datensicherheit Inhaltsverzeichnis Vorwort... 4 1 zu Kapitel 1... 5 1.1 Aufgabe 1 Gefährdung von Daten...5 1.2 Aufgabe

Mehr

Datenbanksysteme für Business, Technologie und Web. Nutzerdefinierte Replikation zur Realisierung neuer mobiler Datenbankanwendungen DB I S

Datenbanksysteme für Business, Technologie und Web. Nutzerdefinierte Replikation zur Realisierung neuer mobiler Datenbankanwendungen DB I S Datenbanksysteme für Business, Technologie und Web Nutzerdefinierte Replikation zur Realisierung neuer mobiler Datenbankanwendungen DB I S Christoph Gollmick gollmick@informatik.uni-jena.de Friedrich-Schiller-Universität

Mehr

Verteiltes Backup. Einleitung Grundlegende Backup Techniken Backup in Netzwerken. Client/Server Peer-to-Peer

Verteiltes Backup. Einleitung Grundlegende Backup Techniken Backup in Netzwerken. Client/Server Peer-to-Peer Verteiltes Backup Einleitung Grundlegende Backup Techniken Backup in Netzwerken Client/Server Peer-to-Peer Einleitung Backup: Das teilweise oder gesamte Kopieren der in einem Computersystem vorhandenen

Mehr

Konzepte zur Datenhaltung für Webseiten in einem Web-Content- Management-System

Konzepte zur Datenhaltung für Webseiten in einem Web-Content- Management-System Konzepte zur Datenhaltung für Webseiten in einem Web-Content- Management-System Web-Content-Management-Systeme () dienen dazu, komplexe Websites zu verwalten und den Autoren einzelner Webseiten möglichst

Mehr

Datenbanken: Transaktionskonzept und Concurrency Control

Datenbanken: Transaktionskonzept und Concurrency Control Wesentlich für das Arbeiten mit Datenbanken sind konsistente Datenbestände! Folgerung: es muss sichergestellt werden, dass Datenmanipulationen von Benutzern immer in einem erneut konsistenten Zustand der

Mehr

Von Netop ProtectOn 2 auf Netop ProtectOn Pro umstellen

Von Netop ProtectOn 2 auf Netop ProtectOn Pro umstellen Von Netop ProtectOn 2 auf Netop ProtectOn Pro umstellen Wenn Sie Benutzer von ProtectOn 2 sind und überlegen, auf ProtectOn Pro upzugraden, sollten Sie dieses Dokument lesen. Wir gehen davon aus, dass

Mehr

Microsoft SQL Server 2005 für Administratoren

Microsoft SQL Server 2005 für Administratoren Microsoft SQL Server 2005 für Administratoren Irene Bauder ISBN 3-446-22800-4 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-22800-4 sowie im Buchhandel Sichern von

Mehr

Angewandte Informationstechnik

Angewandte Informationstechnik Angewandte Informationstechnik im Bachelorstudiengang Angewandte Medienwissenschaft (AMW) Fehlererkennung und -korrektur Dr.-Ing. Alexander Ihlow Fakultät für Elektrotechnik und Informationstechnik FG

Mehr

4 LCN VCN 0 1 2 3 4 5 6 7 LCN 107 108 109 110 131 132 133 134. Extents werden außerhalb der MFT gespeichert

4 LCN VCN 0 1 2 3 4 5 6 7 LCN 107 108 109 110 131 132 133 134. Extents werden außerhalb der MFT gespeichert 3 Master File Table Eintrag für eine kurze Datei Standardinfo Dateiname Zugriffsrechte Daten leer Vorspann Eintrag für eine längere Datei Virtual Cluster Number (VCN) 0 LCN 107 131 VCN 0 1 2 3 5 6 7 LCN

Mehr

Anleitung zur Installation von SATA- Festplatten und zur RAID-Konfiguration

Anleitung zur Installation von SATA- Festplatten und zur RAID-Konfiguration Anleitung zur Installation von SATA- Festplatten und zur RAID-Konfiguration 1. Anleitung für Installation von TA-Festplatten...2 1.1 Serial ATA- (SATA-) Festplatteninstallation...2 2. Anleitung zur RAID-Konfi

Mehr

Datensicherheit und Hochverfügbarkeit

Datensicherheit und Hochverfügbarkeit Datensicherheit und Hochverfügbarkeit 1. Instanzfehler Aussage: Instanzfehler werden durch Crash Recovery vom DBS automatisch behandelt. Recovery Zeiten? Ausfall von Speichersubsystem, Rechner,...? Ausfall

Mehr

Man liest sich: POP3/IMAP

Man liest sich: POP3/IMAP Man liest sich: POP3/IMAP Gliederung 1. Einführung 1.1 Allgemeiner Nachrichtenfluss beim Versenden von E-Mails 1.2 Client und Server 1.2.1 Client 1.2.2 Server 2. POP3 2.1 Definition 2.2 Geschichte und

Mehr

10 Datenträgerverwaltung, RAID

10 Datenträgerverwaltung, RAID 10 Datenträgerverwaltung, RAID Datenträger und Dateisysteme werden vom Dienst für virtuelle Datenträger verwaltet. 10.1 MMC-Snap-In Datenträgerverwaltung, Grundlagen Das Snap-In Datenträgerverwaltung sieht

Mehr

SQL: statische Integrität

SQL: statische Integrität SQL: statische Integrität.1 SQL: statische Integrität Im allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen erfüllen. Integritätsbedingungen

Mehr

Gliederung Datenbanksysteme

Gliederung Datenbanksysteme Gliederung Datenbanksysteme 5. Datenbanksprachen 1. Datendefinitionsbefehle 2. Datenmanipulationsbefehle 3. Grundlagen zu SQL 6. Metadatenverwaltung 7. DB-Architekturen 1. 3-Schema-Modell 2. Verteilte

Mehr

Sicherheitsaspekte unter Windows 2000

Sicherheitsaspekte unter Windows 2000 Sicherheitsaspekte unter Windows 2000 Margarete Kudak Sascha Wiebesiek 1 Inhalt 1. Sicherheit 1.1 Definition von Sicherheit 1.2 C2 - Sicherheitsnorm 1.3 Active Directory 2. Sicherheitslücken 3. Verschlüsselung

Mehr

Szenarien zu Hochverfügbarkeit und Skalierung mit und ohne Oracle RAC. Alexander Scholz

Szenarien zu Hochverfügbarkeit und Skalierung mit und ohne Oracle RAC. Alexander Scholz Hochverfügbar und Skalierung mit und ohne RAC Szenarien zu Hochverfügbarkeit und Skalierung mit und ohne Oracle RAC Alexander Scholz Copyright its-people Alexander Scholz 1 Einleitung Hochverfügbarkeit

Mehr

Themen. M. Duffner: Datenbanksysteme

Themen. M. Duffner: Datenbanksysteme Datenbanksysteme Themen Theorie Einführung Datenbank, Datenbankmanagementsystem (DBMS), Aufgaben eines DBMS Relationale Datenbanken Daten als Tabellen Datenbankentwurf im Entity-Relationship-Modell Abfragesprache

Mehr

Wiederherstellung (Recovery)

Wiederherstellung (Recovery) Fragestellungen Aufgaben der Komponenten für das Recovery: Sicherstellung der Dauerhaftigkeit der gespeicherten Daten, d.h. Daten, die in einer Transaktion einmal bestätigt wurden (commit), bleiben auch

Mehr

Replikation und Synchronisation. in mobilen Datenbanksystemen

Replikation und Synchronisation. in mobilen Datenbanksystemen in mobilen Datenbanksystemen 6. Juni 2002 Von Thomas Hoffmann und Sebastian Seidler E-Mail: {hothomas,bastl14w}@minet.uni-jena.de 1 Inhalt Einleitung Was ist Replikation? Was ist Synchronisation? Replikationsverfahren

Mehr

Informations- und Wissensmanagement

Informations- und Wissensmanagement Übung zur Vorlesung Informations- und Wissensmanagement (Übung 1) Frank Eichinger IPD, Lehrstuhl für Systeme der Informationsverwaltung Zur Person Beruflicher Hintergrund Studium an der TU Braunschweig

Mehr

Implementierung von Dateisystemen

Implementierung von Dateisystemen Implementierung von Dateisystemen Teil 2 Prof. Dr. Margarita Esponda WS 2011/2012 44 Effizienz und Leistungssteigerung Festplatten sind eine wichtige Komponente in jedem Rechnersystem und gleichzeitig

Mehr

Software-Engineering und Datenbanken

Software-Engineering und Datenbanken Software-Engineering und Datenbanken Prof. Dr. Bernhard Schiefer bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Prof. Dr. Bernhard Schiefer 1-1 Wesentliche Inhalte Begriff DBS Datenbankmodelle

Mehr

sedex-client Varianten für den Betrieb in einer hoch verfügbaren

sedex-client Varianten für den Betrieb in einer hoch verfügbaren Département fédéral de l'intérieur DFI Office fédéral de la statistique OFS Division Registres Team sedex 29.07.2014, version 1.0 sedex-client Varianten für den Betrieb in einer hoch verfügbaren Umgebung

Mehr

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96 Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96 Dieser Fragenkatalog wurde aufgrund das Basistextes und zum Teil aus den Prüfungsprotokollen erstellt, um sich auf mögliche

Mehr

Datenbanken. Prof. Dr. Bernhard Schiefer. bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer

Datenbanken. Prof. Dr. Bernhard Schiefer. bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Datenbanken Prof. Dr. Bernhard Schiefer bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Wesentliche Inhalte Begriff DBS Datenbankmodelle Datenbankentwurf konzeptionell, logisch und relational

Mehr

Weißbuch zur RAID-Technologie

Weißbuch zur RAID-Technologie Weißbuch zur RAID-Technologie Bei LaCie, einem auf Datenspeicherung spezialisiertem Unternehmen, ist man sich darüber im Klaren, dass fast alle Computerbenutzer Datenspeicher- bzw. Datensicherungslösungen

Mehr

Redundant Array of Inexpensive Disks

Redundant Array of Inexpensive Disks 22.01.2010 1 2 3 4 5 Es war einmal im Jahre 1988... Prozessoren, Speicher besser und günstiger Festplatten: - Speicherplatz bleibt teuer - Zugriff bleibt langsam Moore s Law Amdahl s Law S = 1 (1 f )+(f

Mehr

Datenzugriff über VPN

Datenzugriff über VPN Leitfaden Datenzugriff über VPN Einführung Ab der Version 3.0 besteht bei einer Installation von SPG-Verein die Möglichkeit, den Programmund Datenbereich getrennt abzulegen. Dadurch kann u. a. der Datenbereich

Mehr

Die Sicht eines Sysadmins auf DB systeme

Die Sicht eines Sysadmins auf DB systeme Die Sicht eines Sysadmins auf DB systeme Robert Meyer 21. Oktober 2016 Robert Meyer Die Sicht eines Sysadmins auf DB systeme 21. Oktober 2016 1 / 20 Inhaltsverzeichnis 1 Einleitung 2 IO unter Linux typische

Mehr

Oracle Automatic Storage Management (ASM) Best Practices

Oracle Automatic Storage Management (ASM) Best Practices Oracle Automatic Storage Management (ASM) Best Practices Markus Michalewicz BU Database Technologies ORACLE Deutschland GmbH 2 Page 1 www.decus.de 1 Agenda ASM Funktionalität und Architektur Storage Management

Mehr

Zero Effort Backup (ZEB) automatische Datensicherung über das Internet

Zero Effort Backup (ZEB) automatische Datensicherung über das Internet Ralph Lehmann. Computerservice und IT-Beratung. Kochstraße 34. 04275 Leipzig Ralph Lehmann Computerservice und IT-Beratung Kochstraße 34 04275 Leipzig Ralph Lehmann Computerservice und IT-Beratung Tel.:

Mehr

Lokales Storage Teil 1

Lokales Storage Teil 1 Lokales Storage Teil 1 Linux-Kurs der Unix-AG Zinching Dang 08. Juli 2015 Lokales Storage im Allgemeinen Datenträger, die direkt am Host angeschlossen sind Anbindung über verschiedene Bus-Systeme möglich,

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Institut für Informatik Prof. Dr. Bernhard Bauer Stephan Roser Viviane Schöbel Wintersemester 07/08 Übungsblatt 5 08.01.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1:

Mehr

Datenbanktechnologien 4

Datenbanktechnologien 4 Datenbanktechnologien 4 Ilir Fetai 2013 04.05.2013, Ilir Fetai 1 Semesterziele Datenbanksicherheit & Datenschutz Verteilte Datenbanken Objektrelationale und Objektorientierte Datenbanken 2 Tagesziele Datensicherheit

Mehr

GeoShop Netzwerkhandbuch

GeoShop Netzwerkhandbuch Technoparkstrasse 1 8005 Zürich Tel.: 044 / 350 10 10 Fax.: 044 / 350 10 19 GeoShop Netzwerkhandbuch Zusammenfassung Diese Dokumentation beschreibt die Einbindung des GeoShop in bestehende Netzwerkumgebungen.

Mehr

Lokales Storage Teil 1

Lokales Storage Teil 1 Lokales Storage Teil 1 Zinching Dang 08. Juli 2015 1 Lokales Storage im Allgemeinen Lokales Storage im Allgemeinen Datenträger, die direkt am Host angeschlossen sind Anbindung über verschiedene Bus-Systeme

Mehr

PowerBridge MSSQL Beta

PowerBridge MSSQL Beta SoftENGINE PowerBridge MSSQL Beta Dokumentation Thomas Jakob 17.04.2011 Inhalt Einrichtung der SQL Umgebung... 3 SQL-Server Installieren... 3 BüroWARE Installieren... 3 PowerBridge-SQL Modus einrichten...

Mehr

Seminar Grid Computing

Seminar Grid Computing Seminar Grid Computing Sabine Zill Sommersemester 2004 Übersicht Komponenten und Grundlagen Replikationsarchitektur GDMP Replikation mit GDMP Dateireplikation Objektreplikation - Benötigte Komponenten

Mehr

Sophos Virenscanner Konfiguration

Sophos Virenscanner Konfiguration Ersteller/Editor Ulrike Hollermeier Änderungsdatum 12.05.2014 Erstellungsdatum 06.07.2012 Status Final Konfiguration Rechenzentrum Uni Regensburg H:\Sophos\Dokumentation\Sophos_Konfiguration.docx Uni Regensburg

Mehr

Datenträgerverwaltung

Datenträgerverwaltung Datenträgerverwaltung Datenträgerverwaltung 1/9 Datenträgerverwaltung Inhaltsverzeichnis Vorgangsweise...2 Umwandeln einer Basisfestplatte in eine Dynamische Festplatte... 2 Spiegelung erstellen... 4 Partitionen

Mehr

Wiederholung: Realisierung von Dateien

Wiederholung: Realisierung von Dateien Wiederholung: Realisierung von Dateien Zusammenhängende Belegung Datei A Datei C Datei E Datei G Datei B Datei D Datei F Belegung durch verkettete Listen (z.b. FAT) Dateiblock 0 Dateiblock 1 Dateiblock

Mehr

PADS 3.0 Viewer - Konfigurationen

PADS 3.0 Viewer - Konfigurationen PADS 3.0 Viewer - Konfigurationen Net Display Systems (Deutschland) GmbH - Am Neuenhof 4-40629 Düsseldorf Telefon: +49 211 9293915 - Telefax: +49 211 9293916 www.fids.de - email: info@fids.de Übersicht

Mehr

Replikation in Datenbanken

Replikation in Datenbanken Replikation in Datenbanken Vortrag: Datenbanken II Yves Adler Hochschule für Technik, Wirtschaft und Kultur Leipzig Fachbereich Informatik, Mathematik und Naturwissenschaften Y. Adler (HTWK Leipzig) Replikation

Mehr

Darunter versteht man die Anmeldung eines Benutzers beim System unter Angabe einer Benutzererkennung.

Darunter versteht man die Anmeldung eines Benutzers beim System unter Angabe einer Benutzererkennung. Datenmanagement 60 5 Datenschutz und Datensicherheit 5.1 Datenschutz Wer wird hier geschützt? Personen Ein anderer Begriff für Datenschutz ist Zugriffskontrolle. Datenschutz soll sicherstellen, dass alle

Mehr

Unterrichtseinheit 7

Unterrichtseinheit 7 Unterrichtseinheit 7 Freigegebene Ordner: Durch freigegebene Ordnern können Benutzer Zugriff auf Dateien und Ordner innerhalb eines Netzwerkes (auch bei verstreut gespeicherten Daten, mit Hilfe des Distributed

Mehr

Tag 4 Inhaltsverzeichnis

Tag 4 Inhaltsverzeichnis Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik

Mehr

Root-Server für anspruchsvolle Lösungen

Root-Server für anspruchsvolle Lösungen Root-Server für anspruchsvolle Lösungen I Produktbeschreibung serverloft Internes Netzwerk / VPN Internes Netzwerk Mit dem Produkt Internes Netzwerk bietet serverloft seinen Kunden eine Möglichkeit, beliebig

Mehr

Zuverlässige Systeme Fehlertoleranz

Zuverlässige Systeme Fehlertoleranz Zuverlässige Systeme Fehlertoleranz frank@upb.de Inhalt Übersicht und Namenskonventionen Was ist Fehlertoleranz Eine Anleitung in 4 Phase Redundanz und Vielfältigkeit Hardwareseitige Fehlertoleranz Softwareseitige

Mehr

TIKOS Leitfaden. TIKOS Update

TIKOS Leitfaden. TIKOS Update TIKOS Leitfaden TIKOS Update Copyright 2015, Alle Rechte vorbehalten support@socom.de 06.05.2015 Inhalt 1. Allgemeine Hinweise... 3 2. Ausführen des Updates... 3 3. Mögliche Meldungen beim Update... 9

Mehr

Das NT Domänen-Konzept

Das NT Domänen-Konzept Das NT Domänen-Konzept Einführung Was ist eine Domäne? Was ist eine Gruppe? Was ist ein Trust? Domänen Das Single Domain Model Das Single Master Domain Model Das Multiple Master Domain Model Das Complete

Mehr

dpa-infocom - Datenlieferung

dpa-infocom - Datenlieferung dpa-infocom - Datenlieferung Copyright 2006 von dpa-infocom GmbH Status des Dokuments: FINAL Inhaltsverzeichnis Inhaltsverzeichnis...1 1. Verzeichnisstrukturen...2 2. Nachrichtenmanagement...2 3. Datenübertragung...3

Mehr

Kapitel 8 Verteilte Datenbanken

Kapitel 8 Verteilte Datenbanken Kapitel 8 Verteilte Datenbanken Flien zum Datenbankpraktikum Wintersemester 2012/13 LMU München 2008 Thmas Bernecker, Tbias Emrich 2010 Tbias Emrich, Erich Schubert unter Verwendung der Flien des Datenbankpraktikums

Mehr

Definition Informationssystem

Definition Informationssystem Definition Informationssystem Informationssysteme (IS) sind soziotechnische Systeme, die menschliche und maschinelle Komponenten umfassen. Sie unterstützen die Sammlung, Verarbeitung, Bereitstellung, Kommunikation

Mehr

Leitfaden zur Installation von BitByters.Backup

Leitfaden zur Installation von BitByters.Backup Leitfaden zur Installation von BitByters.Backup Der BitByters.Backup - DASIService ist ein Tool mit dem Sie Ihre Datensicherung organisieren können. Es ist nicht nur ein reines Online- Sicherungstool,

Mehr

Datenbanksystem. System Global Area. Hintergrundprozesse. Dr. Frank Haney 1

Datenbanksystem. System Global Area. Hintergrundprozesse. Dr. Frank Haney 1 Datenbanksystem System Global Area Hintergrundprozesse Dr. Frank Haney 1 Komponenten des Datenbanksystems System Global Area Program Global Area Hintergrundprozesse Dr. Frank Haney 2 System Global Area

Mehr

Grundlagen von Datenbanken

Grundlagen von Datenbanken Grundlagen von Datenbanken Aufgabenzettel 1 Grundlagen Datenbanken: Kurzer historischer Überblick (1) Anwendung 1 Anwendung 2 Datei 1 Datei 2 Datei 3 Zugriff auf Dateien ohne spezielle Verwaltung 2 Exkurs:

Mehr

Content Management System ADMINISTRATOR. Handbuch Version 3.20

Content Management System ADMINISTRATOR. Handbuch Version 3.20 Content Management System ADMINISTRATOR Handbuch Version 3.20 Die Informationen in diesem Handbuch werden ohne Rücksicht auf Patentschutz veröffentlicht. Warennamen werden ohne Gewährleistung der freien

Mehr

Synchronisation in Datenbanksystemen in a nutshell

Synchronisation in Datenbanksystemen in a nutshell Synchronisation in Datenbanksystemen in a nutshell 1. Modell für nebenläufige Transaktionen und Korrektheitskriterium Transaktionsmodell: Folgen von Lese und Schreiboperationen abgeschlossen durch c=commit.

Mehr

6. Datenintegrität. Integritätsbedingungen

6. Datenintegrität. Integritätsbedingungen 6. Integritätsbedingungen dienen zur Einschränkung der Datenbankzustände auf diejenigen, die es in der realen Welt tatsächlich gibt. sind aus dem erstellten Datenmodell ableitbar (semantisch) und können

Mehr

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL XAMPP-Systeme Teil 3: My SQL Daten Eine Wesenseigenschaft von Menschen ist es, Informationen, in welcher Form sie auch immer auftreten, zu ordnen, zu klassifizieren und in strukturierter Form abzulegen.

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Einführung in Datenbanken

Einführung in Datenbanken Grundlagen der Programmierung 2 Einführung in Datenbanken Grundlagen der Programmierung 2 I-1 Inhalt Einführung Entity-Relationship-Diagramm Relationales Modell Entity-Relationship-Diagramm ins Relationales

Mehr

StorageCraft ImageManager ist eine voll ausgereifte Ergänzung zu

StorageCraft ImageManager ist eine voll ausgereifte Ergänzung zu Produktszenarien Was kann das Produkt für Sie tun? ist eine voll ausgereifte Ergänzung zu StorageCraft ShadowProtect, mit deren Hilfe Sie von einer einfachen Backup- und Wiederherstellungslösung zu einer

Mehr

Relationale Datenbanken Datenbankgrundlagen

Relationale Datenbanken Datenbankgrundlagen Datenbanksystem Ein Datenbanksystem (DBS) 1 ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern

Mehr

Normfall 7.2. Whitepaper. Erstellen eines Normfall Projektspeichers auf Basis einer vorhandenen Installation von:

Normfall 7.2. Whitepaper. Erstellen eines Normfall Projektspeichers auf Basis einer vorhandenen Installation von: Normfall 7.2 Whitepaper Erstellen eines Normfall Projektspeichers auf Basis einer vorhandenen Installation von: Microsoft SQL Server 2008 R2/2012/2014 2014 Normfall GmbH Alle Rechte vorbehalten. Vorbemerkungen

Mehr

LVM AUSARBEITUNGEN ZUM THEMA A6: TIMO BÖLLINGER DOMINIC ECKART DOZENT: PROF. TISCHHHAUSER MANNHEIM 2004 VON UND

LVM AUSARBEITUNGEN ZUM THEMA A6: TIMO BÖLLINGER DOMINIC ECKART DOZENT: PROF. TISCHHHAUSER MANNHEIM 2004 VON UND 1 AUSARBEITUNGEN ZUM THEMA A6: LVM VON TIMO BÖLLINGER UND DOMINIC ECKART DOZENT: PROF. TISCHHHAUSER MANNHEIM 2004 2 INHALTSVERZEICHNIS 1. LOGICAL VOLUME MANAGEMENT EINFÜHRUNG...3 1.1. WAS KANN LVM?...4

Mehr

Datenbanken und SQL. Kapitel 1. Übersicht über Datenbanken. Edwin Schicker: Datenbanken und SQL (1)

Datenbanken und SQL. Kapitel 1. Übersicht über Datenbanken. Edwin Schicker: Datenbanken und SQL (1) Datenbanken und SQL Kapitel 1 Übersicht über Datenbanken Übersicht über Datenbanken Vergleich: Datenorganisation versus Datenbank Definition einer Datenbank Bierdepot: Eine Mini-Beispiel-Datenbank Anforderungen

Mehr

Unterabfragen (Subqueries)

Unterabfragen (Subqueries) Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und

Mehr

Übersicht über Datenbanken

Übersicht über Datenbanken Übersicht über Datenbanken Vergleich zwischen normaler Datenorganisation und Datenbanken Definition einer Datenbank Beispiel (inkl. Zugriff) Der Datenbankadministrator Relationale Datenbanken Transaktionen

Mehr

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching 1.1 Caching von Webanwendungen In den vergangenen Jahren hat sich das Webumfeld sehr verändert. Nicht nur eine zunehmend größere Zahl an Benutzern sondern auch die Anforderungen in Bezug auf dynamischere

Mehr

Datensicherung. David Baumgartner Matthias Kalischnig

Datensicherung. David Baumgartner Matthias Kalischnig Datensicherung David Baumgartner Matthias Kalischnig 1 GFS - Grandfather - Father - Son Prinzip Sicherungsarten Inkrementelles Backup Vorteile Nachteile Differentielles Backup Vorteile Nachteile Vollbackup

Mehr