-
Nachdem die Verbindung aufgebaut ist besteht der Datenstrom aus dem Austausch von Segmenten. Da natürlich auch einzelne Segmente verloren gehen können, arbeitet TCP mit wiederholten Sendung von verlorenen Segmenten. Außerdem kann es zu doppelten Paketen kommen, auch dieses Problem korrigiert TCP.
Wie schon öfters erwähnt ist die Sequence Number eines der wichtigsten Elemente im TCP-Protokoll. Sie wird nicht nur beim Verbindungsauf- und abbau ...
mehr
-
Was ist TCP/IP?
Um im Internet eine Verbindung mit einem anderen Computer herzustellen, braucht man ein Protokoll, das sicherstellt, das man die Daten die man anfordert, auch bekommt.
Dazu muss sich jeder Computer im Internet an einen festgelegten Standard halten.
Ein Protokoll ist eine Sammlung von Regeln oder Konventionen, die Datenformate und die Art der Übermittlung zwischen Kommunikationssystemen beschreiben.
Das ISO/OSI Schichtm ...
mehr
-
Die Grundidee des Locking ist es, alle Objekte, welche von einer Transaktion benötigt werden, mit einer entsprechenden Marke (diese wird als Lock bzw. Sperre bezeichnet) zu versehen, welche anderen Transaktionen anzeigt, daß dieses Objekt derzeit nicht verfügbar ist.
2 Arten von Locks werden unterschieden:
X LOCK (EXCLUSIVE LOCKS): Wird durch eine Transaktion A ein Datensatz verändert, so wird dieser für alle anderen Transaktionen gespe ...
mehr
-
Das Problem besteht darin, daß "ältere" Änderungen durch zeitlich verschobene Zugriffe verloren gehen können:
Transaktion A Zeit Transaktion B
- -
lese Satz R t1 -
|
- t2 lese Satz R
|
ändere Satz R t3 -
|
- t4 ändere Satz R
- -
Lösung mittels Locking:
Transaktion A Zeit Transaktion B
- -
lese Satz R zum Ändern
(meldet X-Lock auf Satz R an) t1
| -
|
- t2
| lese Satz R zum Ändern
( ...
mehr
-
Dieses Problem basiert auf der Verwendung von unbestätigten, veränderten Daten und diese müssen Änderungen zurückgenommen werden.
Transaktion A Zeit Transaktion B
- -
- t1 ändere Satz R
|
lese Satz R t2 -
|
- t3 Rollback
- -
Lösung mittels Locking:
Transaktion A Zeit Transaktion B
- -
- t1
| ändere Satz R
(meldet X-Lock auf Satz an)
|
lese Satz R
(möchte S-Lock auf Satz R) t2
| -
| ...
mehr
-
Bei diesem Problem arbeitet ein Programm mit Daten, die aus einer kurzfristig inkonsistenten Datenbank kommen.
Transaktion A Zeit Transaktion B
- -
lies Konto1
Kontostand = 40 t1
| -
|
- t2
| ändere Konto2
Kontostand = 50 + 30 = 80
|
- t3
| ändere Konto1
Kontostand = 40 - 30 = 10
|
lies Konto2
Kontostand = 80 t4
| -
- -
Lösungsversuch mittels Locking:
Transaktion A Zeit Transaktion B
- ...
mehr
-
An den zwei vorherigen Beispielen kann man ersehen, daß das Locking nicht alle Probleme löst. Durch das gegenseitige Locking, warten zwei Transaktionen auf die gegenseitige Freigabe eines Datensatzes, was sich dadurch bemerkbar macht, daß keine Transaktion weiter arbeitet.
Dieses Problem kann nur dann gelöst werden, wenn eine der beiden Transaktionen zurückgenommen wird. Dadurch kann die andere Transaktion ihre Arbeit beenden, worauf die abgeb ...
mehr
-
Erforderliche Eigenschaften von Transaktionen:
1. Atomicity: Eine Transaktion ist eine elementarer Prozeß. Er wird entweder vollständig oder gar nicht durchgeführt.
2. Konsistenzkriterium: Eine korrekte Durchführung einer Transaktion muß die Datenbank wieder in einen konsistenten Zustand versetzt
3. Dauerhaftigkeit: Wurden von einer Transaktion Änderungen durchgeführt und bestätigt, so gehen diese auch durch einen späteren Fehler nicht ...
mehr
-
Das 2 Phasen Commit wird eingesetzt, wenn mehrere Systeme (z.B.: hierarchisches und relationales DB System) gemeinsam synchronisiert werden müssen. Hier tritt das Problem auf, daß zwischen dem Commit für System1 und dem Commit für System2 ein Fehler auftritt. Beim automatischen Recovery würde in diesem Fall System2 zurückgesetzt werden, die Daten für System1 bleiben bestätigt. Dadurch stimmen die beiden Systeme nicht mehr überein.
1. S ...
mehr
-
1.1 Locking zur Lösung der Probleme
Zwei Arten von Locks:
. X-Lock (Exclusive Lock)
. S-Lock (Share Lock)
Wertetabelle:
gefordertes Lock gesetztes Lock von Transaktion A
von Transaktion B X S kein
X wait B wait B OK
S wait B OK OK
1.2 Das lost update Problem
Problem:
Transaktion A Zeit Transaktion B
- -
lese Satz R t1 -
|
- t2 lese Satz R
|
ändere Satz R t3 -
|
- t4 ändere Satz R
- -
Lö ...
mehr
-
= Datenbank in Tabellenform / besteht aus Tabellen
Schüler
SQL
stuctured query language
(strukturierte Abfrage Sprache)
select bestimmt, welche Felder anzuzeigen sind.
from wählt aus der Datenbank eine Tabelle aus
where gibt die Bedingung an, die die Datensätze erfüllen müssen
Bsp: Alle Zunamen aus der Tabelle Schüler, die älter als 16 sind.
select Zn
from ...
mehr
-
Unter Kopplung versteht man den Grad der Kommunikation zweier Unterprogramme untereinander. Wegen der einfacheren Wartbarkeit sollte die Kopplung möglichst gering gehalten werden. Man unterscheidet verschiedene Arten der Kopplung:
. Datenkopplung
. Steuerungskopplung
. Globale Kopplung
. Inhaltskopplung
1.1 Datenkopplung (data coupling)
Die Datenkopplung ist ein Maß für die Anzahl der Übergaben von Variablen oder Werten in ein Unte ...
mehr
-
Unter Kohäsion versteht man des Verhältnis eines Unterprogrammes zu seiner Aufgabe. Kohäsion ist, mit Ausnahme der funktionalen Kohäsion, nicht erwünscht. Ein guter Entwurf beinhaltet eine geringe Kopplung und eine hohe funktionale Kohäsion. Man unterscheidet:
. Zufallskohäsion
. Zeitliche Kohäsion
. Prozedurale Kohäsion
. Logische Kohäsion
. Funktionale Kohäsion
. Sequentielle Kohäsion
2.1 Zufallskohäsion (accidental cohesion)
Diese ...
mehr
-
Die drei wichtigsten Regeln zum Testen lauten:
. Man sollte nie die eigenen Programme testen
. Immer die besten Programmierer sollten die Tests durchführen
. Das Ziel sollte das Finden von Fehlern, und nicht das Beweisen des Funktionierens des Programmes sein.
Man unterscheidet den Blackboxtest und den Whiteboxtest.
4.1 Whiteboxtest
Dieser wird auf der Basis des Programmcodes durchgeführt. Man sucht im Programmcode nach typischen Fehl ...
mehr
-
Das Ziel des Information Engineering ist es, das mehrfache Vorhandensein von Daten, oder Funktionen zu verhindern. Bsp.: Innerhalb eines Betriebes sind die gleichen Daten in verschiedenen Datenbanken gespeichert, und Funktionen wie das Suchen oder Sortieren von Mitarbeitern sind in jedem Programm extra implementiert.
Die Lösung dafür ist eine einheitliche Datenbank für das ganze Unternehmen. Dies beinhaltet:
. UDM ... unternehmensweites D ...
mehr
-
Beim Aufbau von Netzwerken ergeben sich verschiedene Probleme. Angefangen von den Spannungen für 0 und 1 über die Übertragungsart von Paketen bis hin zu der Zeichendar-stellung (ANSI, ASCII, Einser- oder Zweierkomplement) muß alles geregelt werden. OSI hat alle Probleme in sieben Schichten eingeteilt, und für sie Lösungen vorgeschlagen. Die Regeln, die die Zusammenarbeit zwischen dem Sender und dem Empfänger ermöglichen, nennt man Protokoll (pr ...
mehr
-
Ein Programm, das läuft, nennt man Prozeß (program in execution). In Netzwerken kommunizieren nicht Rechner, sondern Prozesse miteinander. Bei guter Netzwerksoftware entwirft man für jede Schicht ein eigenes Programm.
Innerhalb von Pauer funktioniert der Pakettransport folgendermaßen:
P2W liest Daten aus dem Puffer, prüft das CRC und schreibt das Ack in den Puffer. Ist das CRC in Ordnung, wird das Paket über den Puffer an die nächst ...
mehr
-
Wir unterscheiden verschiedene Modelle, die in Datenbanksystemen verwendet werden und im folgenden Kapitel ausgeführt sind.
1.1 Datenmodelle (allgemein)
Ein Datenmodell ist ein mathematischer Formalismus mit zwei Teilen:
. Eine Schreibweise um Daten zu beschreiben.
. Eine Reihe von Operationen um die Daten zu manipulieren.
Das eine Modell ist das relationale Modell, wo die Schreibweise um Daten zu beschreiben auf Attributen basiert (Spalten) ...
mehr
-
Neben dem TCP/IP gibt es noch viele weitere Protokolle, hier nun ein Auszug aus den wichtigsten weiteren Protokollen im Internet:
UDP (user datagram protocol)
Alternative zu TCP, nur für sehr kurze Nachrichten
SMTP (simple mail protocol)
Transportiert e-Mails zwischen Rechnern
FTP (file transfer protocol)
Auf TCP basierendes Protokoll, mit dessen Hilfe Dateien übertragen werden
Telnet ermöglicht die Benutzung eines entfernten Rechners
...
mehr
-
. In den 60er Jahren kam das Amerikanische Militär auf die Idee, ein nationalweites Computernetzwerk zu gründen. Ziel des Netzwerkes sollte es sein, daß es im Kriegsfall beim Ausfall von einzelnen Rechnern trotzdem noch möglichst voll funktionsfähig ist.
. Mitte der 60er hatte Paul Baran von der Rand Corporation die Idee, die einzelnen Daten in kleine Pakete zu zerlegen und zu adressieren und sie ihren Weg alleine suchen zu lassen. Am Ziel ...
mehr