Gottfried Weiss

Größe: px
Ab Seite anzeigen:

Download "Gottfried Weiss 0160040 gweiss@edu.uni-klu.ac.at"

Transkript

1 Gottfried Weiss Zusammenfassung Datenbanken werden heute sehr weit verbreitet eingesetzt, weil sie es erlauben, einfach, nebenläufig und konsistenzerhaltend mit Daten zu arbeiten. Es gibt jedoch Anwendungsfelder, bei denen dies nicht ausreicht. Eines davon sind zeitkritische Softwaresysteme, und sie verlangen nach einer Erweiterung der Datenbankfunktionalität um Echtzeitfunktionen. Eine solche Erweiterung bedingt weitreichende Änderungen im Aufbau und in der Arbeitsweise eines Datenbankmanagementsystems. Ein kleiner Einblick in diese Problematik soll im vorliegenden Artikel gewährt werden. 1 Einleitung Ein klassisches Datenbanksystem hat die Aufgabe, die Daten zu speichern, Operationen zum Lesen, Einfügen, Verändern und Löschen der Daten korrekt durchzuführen und über diese Operationen hinweg die Daten konsistent zu halten. Dazu werden Transaktionen verwendet, und diese Transaktionen müssen die sogenannten ACID-Kriterien erfüllen. ACID ist hier ein Akronym aus den Anfangsbuchstaben der Wörter Atomicity, Consistency Preservation, Isolation und Durability. [1] Diese einfachen Anforderungen an eine Transaktion haben sich aber durch die steigende Anwendung von Datenbanksystemen in verschiedenen Problembereichen als nicht ausreichend erwiesen, weil das ACID-Konzept eine rein datenzentrierte Sicht darstellt und kein Einfluss der Anwendungsumgebung auf das Transaktionsmodell ausübbar ist. Daher existieren für die einzelnen Aufgabenstellungen aus der Anwendungswelt verschiedene Erweiterungen von Transaktionen, die mehr oder weniger große Veränderungen an Entwurf und Implementierung des Datenbankmanagementsystems bedingen. Eine dieser Anforderungen mit großem Einfluß auf das gesamte System ist der Bedarf nach zeitgerechter Antwort des Datenbanksystems auf eine Transaktion, wobei von dieser Anforderung alle vier Standardoperationen eingeschlossen werden, sodass nachprüfbar ist, ob eine Operation zeitgerecht ausgeführt wurde. Diese Antwort wird bei einer Leseoperation trivialerweise durch die erhaltenen Daten repräsentiert, beim Einfügen, Verändern und Löschen zumindest durch Statusmeldungen. Datenbanksysteme, die diese zeitlichen Bedingungen an ihre Transaktionen erfüllen, werden als Echtzeitdatenbanksysteme bezeichnet. Eine Definition dieser Echtzeitdaten- 1

2 banksysteme ist, dass sie Datenbanksysteme darstellen, in welchen Transaktionen mit Echtzeitanforderungen verbunden werden, typischerweise in der Form von Deadlines. [2] Anwendungsgebiete, in denen Echtzeitdatenbanksysteme erforderlich sind, gibt es viele. Beispielhaft seien hier vier davon genannt. Das erste ist der Handel mit Handelsgütern, die schnell veränderlichen Preisen unterliegen, genannt, wie Wertpapier- oder Produktenbörsen, oder auch Online-Auktionen. Ein weiteres bekanntes Anwendungsgebiet ist Netzwerkmanagement wie beispielsweise im Mobilfunksystem GSM, welches die Mobilität der Benutzer unterstützt. GSM ist zellulär aufgebaut und beim Übertritt eines Benutzers muss die Zellzugehörigkeit des Benutzers in der Datenbank aktualisiert werden, damit der Benutzer eingehende Daten empfangen kann. Dieses Update muss innerhalb einer gewissen Frist erfolgen, damit dieses Handover den Benutzer nicht in seiner Kommunikation stört oder die Verbindung gar abbricht. Von großer wirtschaftlicher Bedeutung ist der Einsatz von Echtzeitdatenbanken in der Prozesssteuerung, üblicherweise in der industriellen Fertigung. Durch den Siegeszug von Just-in-Time-Produktion und die damit verbundene Reduzierung von Zwischenlagern bei gleichzeitiger Umstellung auf Computersteuerung der Fertigungsanlagen besteht die Echtzeitanforderung darin, dass die Komponenten der Fertigung genau zu einem bestimmten Zeitpunkt am Platz ihrer Verarbeitung eintreffen, damit einerseits keine Anhäufung von Komponenten den Raumbedarf erhöht und andererseits - und das ist die Hauptanforderung - eine Fertigungsstraße nicht aufgrund von verspätet eintreffenden Komponenten im Arbeitsprozess angehalten werden muss und so kostenintensive Stehzeiten entstehen. Auch Steuerungs- und Überwachungssysteme besitzen oft Echtzeitanforderungen, welche die zu Grunde liegende Datenbank einhalten muss. Ein Beispiel dafür ist die Verfolgung von Verwaltungsübertretungen, die durch ein Verkehrsüberwachungssystem entdeckt werden, wie die Erkennung von Mautprellern. Um eine zeitgerechte Bestrafung zu ermöglichen, muss ein Mautüberwachungsfahrzeug einen Mautpreller aus dem fließenden Verkehr herausnehmen können, und damit muss dem Überwachungsfahrzeug die Information über das zu kontrollierende Fahrzeug rechtzeitig zugehen, damit dieses für das Überwachungsfahrzeug räumlich noch einholbar ist. Als weiteres, etwas ausführlicheres Beispiel wird am Ende dieses Artikels ein Luftraumüberwachungssystem vorgestellt. Das Thema ist somit auch außerhalb von Forschungseinrichtungen interessant. Das sollte zur Motivation reichen, um Eigenschaften von Echtzeitdatenbanken in diesem Artikel genauer zu untersuchen. Der Rest dieses Artikels gliedert sich wie folgt: Im folgenden Kapitel 2 werden Überlegungen zur Datenkonsistenz und zu Transaktionseingenschaften in Echtzeitdatenbanken angesprochen, gefolgt von Kapitel 3 über eine Betrachtung von zeitlichen Anforderungen. Hier werden auch die oft genannten Prinzipien von Hard Realtime- und Soft Realtime-Anforderungen definiert und erklärt. Nach diesen prinzipiellen Betrachtungen von Echtzeiteigenschaften folgt ein Teil mit Konzepten von Datenbanken, die diese Echtzeiteigenschaften umsetzen. Als erstes wird in Kapitel 4 die architektonische Sonderform von hauptspeicherresidenten Datenbanken betrachtet. Es folgen Kapitel 5 mit einer kurzen Abhandlung über aktive Echtzeitdatenbanken und Kapitel 6 mit einer überblicksmäßigen Beschreibung von verteilten Echtzeitdatenbanken. Kapitel 7 2

3 behandelt das Beispiel eines Luftverkehrsüberwachungssystems und beschließt damit diesen Artikel. 2 Konsistenz und Transaktion in Echtzeitdatenbanken Eine Echtzeitdatenbank muss, wie bereits in der Einleitung erwähnt, nicht nur die Konsistenz der Daten und Transaktionen sicherstellen, sie muss zusätzlich auch zeitliche Eigenschaften von Transaktionen und Konsistenz erfüllen. 2.1 Konsistenz Die Konsistenz der Daten in Echtzeitdatenbanken ist eine andere als die in konventionellen Datenbanken. In einer konventionellen Datenbank genügt es, die logische Konsistenz der Daten sicherzustellen.[3] Logische Konsistenz bedeutet, dass die Daten selbst widerspruchsfrei und damit in einem zulässigen Zustand sind. Dieser zulässige Zustand bleibt durch die Ausführung von Datenänderungen in Transaktionen über die Laufzeit der Datenbank bestehen. In einer Echtzeitdatenbank ist hingegen eine weitere Konsistenz von Bedeutung, und das ist die zeitliche Konsistenz. Diese zeitliche Konsistenz von Daten bezieht sich immer auf einen Zeitpunkt. Daten sind zu diesem Zeitpunkt zeitlich konsistent, wenn sie zu diesem Zeitpunkt gültig sind, das heißt, sie decken sich mit dem Zustand des Anwendungsfeldes. Einfacher gesagt: sie stimmen mit der Wirklichkeit überein. Weil es aber nicht möglich ist, die Datenbank zeitgleich zu jeder Veränderung der Wirklichkeit anzupassen - das würde bedeuten, dass ein Update null Zeiteinheiten benötigen würde - werden Zeitintervalle definiert, in denen die Daten der Datenbank als gültig betrachtet werden. Innerhalb dieses Zeitintervalls ist somit die zeitliche Konsistenz gegeben, nach Ablauf eines solchen Intervalls werden die Daten als zeitlich nicht konsistent betrachtet, bis die Konsistenz durch Vergleich mit dem Zustand des Anwendungsfeldes verifiziert wurde.[4] In einer konventionellen Datenbank wird die zeitliche Konsistenz nicht beachtet, Daten gelten im Allgemeinen bis ein Update erfolgt. Der Begriff der Konsistenz kann auch in interne und externe Konsistenz aufgeteilt werden. Als interne Konsistenz wird der Zustand definiert, in dem die Daten einer Datenbank alle vordefinierten Einschränkungen erfüllt. Das bedeutet auch, dass die Daten der Datenbank für sich wiederspruchsfrei sind. Im Gegensatz dazu ist die externe Konsistenz dann gegeben, wenn die Daten der Datenbank mit dem Zustand der Applikationsumgebung übereinstimmen. Die Datenbank spiegelt somit ihren Ausschnitt aus der realen Welt des Anwendungsfeldes zu einem gegebenen Zeitpunkt wieder.[2] Um die Konsistenz jedweder Ausprägung sicherzustellen, werden entsprechende Transaktionen benötigt. 3

4 2.2 Transaktionen und deren zeitliche Bedingungen Die zeitlichen Beschränkungen einer Transaktion schließen die bereits erwähnte Deadline und auch den Startzeitpunkt und den spätesten Endzeitpunkt einer Transaktion mit ein.[3] Außerdem sind auch periodisch auszuführende Transaktionen möglich.[4] Der Start- und der Endzeitpunkt müssen dann berücksichtigt werden, wenn die Ausführung einer Transaktion durch eine zeitgesteuerte Funktion wie beispielsweise einen Ablaufplan und nicht durch ein einfaches Ereignis angestoßen wird. In einem Steuerungssystem werden diese Zeitpunkte eher wichtig sein als in einem reinen Überwachungssystem. Als Beispiel für periodische Transaktionen kann Polling gelten. Dabei ist zumindest sicherzustellen, dass die Transaktion beendet wird, bevor sie erneut aufgerufen wird. Moderne Datenbanken erlauben es, dass mehrere Benutzer gleichzeitig auf die gespeicherten Daten zugreifen. Damit werden mehrere Transaktionen gleichzeitig ausgeführt, und diese Nebenläufigkeit bringt auch Synchronisisierungsprobleme mit sich. Transaktionen müssen so disponiert werden, dass sie ihre zeitlichen Bedingungen einhalten können. Gleichzeitig muss aber - wie bereits mehrfach erwähnt - die Konsistenz der Daten gewährleistet werden. Das wird durch auf die Echtzeiterfordernisse angepasstes Scheduling gewährleistet. In herkömmlichen Datenbanksystemen reicht die Serialisierbarkeit von nebenläufigen Transaktionen als Kriterium für die korrekte Abarbeitung derselben. Das heißt, dass ein nebenläufiger Ablaufplan für Transaktionen dann korrekt ist, wenn der Datenbankzustand nach Abarbeitung des Ablaufplanes derselbe ist wie der, der bei einer sequenziellen Abarbeitung der Transaktionen entsteht. Dabei wird die Serialisierbarkeit einerseits durch Blockieren und andererseits durch Abbrechen und Neustart von Transaktionen gewährleistet. Allerdings sind sowohl Blockieren als auch Abbrechen von Transaktionen in einer Echtzeitdatenbank nicht wünschenswert und daher sparsam einzusetzen. Blockieren kann eine Transaktion derart verzögern, dass sie ihre Deadline überschreitet, beispielsweise durch Prioritätsinversion, und ein Abbruch erfordert ein neuerliches Ausführen der gesamten Transaktion, wobei die bereits für diese Transaktion eingesetzten Ressourcen als verschwendet zu betrachten sind.[2] Die Scheduling-Schemata, die bei Echtzeitdatenbanksystemen eingesetzt werden, sind meist von Scheduling-Schemata für konventionelle Datenbanksysteme abgeleitet, beispielsweise von Two Phase Locking, optimistischen Scheduling-Schemata oder Multiversions- Schemata. Bei dieser Ableitung wird nicht mehr auf durchschnittliche Antwortzeit oder Durchsatz geachtet wie bei Schemata für herkömmliche Datenbanksysteme, sondern auf Reduktion der maximalen Antwortzeit und damit der Reduktion der Anzahl an Transaktionen, die ihre Deadlines überziehen. Bei abbrechenden Scheduling-Schemata ist es ein möglicher Ansatz, anstelle von Fairness oder Ressourcenverbrauch die verbleibende Zeit der Transaktion bis zum Deadlock (Kritikalität) als Scheduling-Maß zu nehmen.[5] Das damit entstehende Problem der Starvation von lang andauernden Transaktionen könnte durch Einbeziehung einer Mindestausführungszeit jeder einzelnen Transaktion gelöst werden, in dem Sinne, dass die Zeitdifferenz zwischen Deadline und Mindestausführungszeit zum Scheduling herangezogen wird. 4

5 Ein anderer Ansatz ist es, mehrere Kopien der Datenbank bereitzustellen und damit das Scheduling mehrerer Transaktionen zu erleichtern. Damit wird aber das Problem mit erkauft, dass die Daten, auf der eine Transaktion arbeitet, möglicherweise nicht mehr aktuell sind. Sie befinden sich trotzdem in konsistentem Zustand. Wenn eine Transaktion auf ihrer Datenbankkopie schreibt, müssen alle Kopien erneuert werden, zumindest innerhalb eines definierten Intervalls (siehe zeitliche Konsistenz). Der einzige verbleibende Konfliktfall sind parallele Schreiboperationen. Daher ist dieses Multiversioning besonders effizient, wenn die schreibenden Transaktionen kurz und die read-only-transaktionen besonders lang sind.[5] 3 Hard und Soft Realtime Bei der genaueren Betrachtung von Konsistenz und Transaktionen in Echtzeitdatenbanken mag aus Gründen der Einfachkeit der Eindruck entstanden sein, dass alle Echtzeitdatenbanken dieselben Anforderungen an die Transaktionen stellen. Dem ist aber nicht so. In der Literatur werden deshalb Echtzeitdatenbanken oft in zwei verschiedene Kategorien eingeteilt: in Hard Realtime- und in Soft Realtime-Systeme. Wie jeder Einteilung liegt auch dieser eine gewisse Willkür zugrunde und die entstehenden Teilmengen können oft nicht genau voneinander abgegrenzt werden. So ist es möglich, dass in einer Datenbank sowohl Hard- wie auch Soft Realtime-Transaktionen und Transaktionen ohne Echtzeitanforderungen ausgeführt werden müssen. Deshalb werden im folgenden die Charakteristika von Transaktionen und nicht von Systemen betrachtet. 3.1 Hard Realtime Transaktionen, die Hard Realtime-Bedingungen erfüllen, sind Transaktionen, deren Korrektheit allein davon abhängt, ob sie ihre Echtzeitbedingungen einhalten können. Das bedeutet, dass ein Terminieren nach der Deadline wertlos ist und die Daten, die von der Transaktion an die Anwendung zurückgegeben, von dieser nicht mehr verarbeitet werden können. Die Hard Realtime-Transaktionen unterliegen somit strengen zeitlichen Konsistenzkriterien. Durch die Eigenschaft der wertlosen verspäteten Antwort ist bei Hard Realtime-Transaktionen das Augenmerk besonders auf die Erfüllung der Echtzeitanforderungen zu legen. Das kann durch spezielle Scheduling-Schemata erfolgen, durch Abschwächung der Konsistenz oder aber durch Neudesign des Datenbankmanagementsystems. Es gibt zwei Möglichkeiten, ein Hard Realtime-Datenbanksystem durch Scheduling zu unterstützen, entweder durch präventives Scheduling oder durch On The Fly -Scheduling wie in herkömmlichen Datenbanksystemen. Präventives Scheduling kann entweder durch die Verwendung von Schedulingtabellen oder durch Beachtung der Priorität erfolgen. Der Nachteil von präventivem Scheduling ist aber seine Inflexibilität. So müssen alle Transaktionen zum Systemstart bekannt sein. [3] On The- ly -Scheduling kann in Hard Realtime- Datenbanken durch Earliest Deadline First-Scheduling oder Priority Inheritance-Scheduling durchgeführt werden.[2] 5

6 Wenn die Konsistenz der Daten abgeschwächt wird um Echtzeitanforderungen zu erfüllen, so wird auf die Einhaltung der internen Konsistenz dann verzichtet, wenn sie mit der Einhaltung der zeitlichen Anforderungen konfligieren würde. Die externe Konsistenz muss aber immer gegeben sein. Dieses Modell basiert auf der Annahme, dass für die meisten Echtzeitdatenbanksysteme eine rechtzeitige und dem Systemumfeld entsprechende Antwort wichtiger ist als eine vollkommen konsistente aber verspätete. Ein Beispiel für die Anwendung dieses Ansatzes ist ein System zur Verfolgung der Bewegung von identifizierten Objekten. Dabei ist es maßgeblich, immer den aktuellen Standort zu kennen, und alles andere kann nachgeholt werden, wenn das System weniger stark ausgelastet ist.[2] Eine andere Möglichkeit, die Anforderungen von Hard Realtime zu erfüllen, ist es, das Datenbankmanagementsystem neu zu designen, um die Performance zu optimieren. Beispiele dafür sind speicherresidente Datenbanken, also Systeme, die alle Daten im Arbeitsspeicher des Rechners halten, oder Systeme, die direkten Zugriff auf die Daten erlauben und die Kommunikation nicht als Netzwerkkommunikation unter Verwendung des IP-Protokolls abwickeln. Damit wird es zwar schwieriger, klassische One-Server-Multi-Clients-Systeme zu entwickeln, aber es spart Kommunikationsaufwand und damit Zeit. Hauptspeicherresidente Datentenbanken werden im Abschnitt 4 näher behandelt. 3.2 Soft Realtime Transaktionen, die Soft Realtime-Bedingungen erfüllen, sind Transaktionen, die - im Unterschied zu Hard Realtime-Transaktionen - wie herkömmliche Transaktionen immer vollständig ausgeführt werden, egal, ob sie die zeitlichen Bedingungen erfüllen oder nicht. Natürlich sind auch diese Transaktionen darauf ausgelegt, die Echtzeitbedingungen zu erfüllen, aber die Ausführung der Transaktion ist gleich wichtig wie die Einhaltung dieser Zeitbeschränkungen. Und die Ausführung der Soft Realtime-Transaktion ist umso erfolgreicher, je öfter die Echtzeitbedingungen eingehalten werden. Das Anwendungssystem ist jedenfalls darauf angewiesen, immer Daten von der Transaktion zurückzubekommen. Natürlich sind die Daten umso wertvoller, je seltener die Deadlocks überschritten werden.[2] Die Bezeichnung Soft Realtime verführt dazu anzunehmen, dass die zeitlichen Einschränkungen nicht besonders wichtig seien, was aber eine falsche Annahme darstellt. Deutlich wird dies dadurch, dass Soft Realtime-Transaktionen oft in Überwachungssystemen vorkommen. Dabei ist es natürlich wichtig, jeden gravierenden Fehlerfall zu melden, und die Meldung muss es dem System oder dessen Benutzer ermöglichen, rechtzeitig auf die Störung zu reagieren. Scheduling in Soft Realtime-Systemen geschieht meist in einer Anpassung von existierenden Scheduling-Systemen von konventionellen Datenbanken. Beispiele dafür sind Priority Inheritance und Priority Abort. Priority Inheritance reduziert die Zeit, die eine Transaktion maximal durch eine andere geblockt wird, weil die blockierende Transaktion mit höherer Priorität als die blockierte ausgeführt wird und damit schneller terminiert. Trotzdem ist es möglich, dass hochprioritäre Transaktionen ihre Deadlines überziehen, weil die niedrigprioritäre, aber bereits eine Sperre haltende Transaktion nur mit der höchsten Priorität der aktuellen Transaktionen ausgeführt wird. Bei Priority Abort kann eine höherprioritäre Transaktion eine sie blockierende niederprioritäre Transaktion abbrechen. Das 6

7 bedeutet aber, dass die für die Ausführung der niederprioritären Transaktion eingesetzten Ressourcen verschwendet sind. Besonders gravierend ist dies, wenn die niederprioritäre Transaktion bereits weit fortgeschritten ist.[2][3] Auch ein Redesign des Datenbankmanagementsystems kann bei Soft Realtime-Systemen helfen, die zeitlichen Anforderungen an die Transaktionsausführung einzuhalten. Diese Bemühungen um Redesign können zusammen mit geänderten Marktbedingungen bei Hardwarebausteinen bis zu neuen Designkonzepten führen, die bislang als nicht realisierbar galten. Ein prägnantes Beispiel dafür ist das Konzept der hauptspeicherresidenten Datenbanken. 4 Hauptspeicherresidente Datenbanken Konventionelle Datenbanken, auch oft Datenbanken mit Echtzeitkomponenten, halten die Daten auf der Festplatte des Rechners. In Hauptspeicherdatenbanksystemen (Main Memory Database Systems, MMDB) hingegen befinden sich die Daten permanent im physikalischen Hauptspeicher, also dem Arbeitsspeicher des Rechners. In den konventionellen Datenbanksystemen können die Daten natürlich im Arbeitsspeicher gechacht werden, um geringere Zugriffszeiten auf öfter benötigte Daten zu erlauben, und in hauptspeicherresidenten Datenbanken können die Daten auch ein Backup auf der Festplatte besitzen. Der Hauptunterschied zwischen diesen beiden Datenbanksystemen ist, dass in einer MMDB die Daten permanent im Hauptspeicher gehalten werden. Und hat wichtige Auswirkungen darauf, wie die Daten strukturiert werden und wie auf sie zugegriffen wird. Der Einsatz von Hauptspeicher zur Datenhaltung bringt nicht nur einen signifikanten Performancegewinn durch kürzere Zugriffszeiten auf die einzelnen Datensätze und daher auch durch kürzere Transaktionslaufzeiten, ein Hauptspeicher hat mehrere Eigenschaften, die sich von denen der Festplatten unterscheiden. Diese Eigenschaften werden - obwohl größtenteils bekannt - in der folgenden Aufzählung kurz behandelt: 1. Die Zugriffszeit auf den Hauptspeicher ist um Zehnerpotenzen geringer als die auf Festplattenspeicher. 2. Der Hauptspeicher ist normalerweise flüchtig, während dies Festplattenspeicher nicht ist. 3. Platten haben hohe Fixkosten für jeden Zugriff, und diese Kosten hängen nicht von der Menge der transferierten Daten ab. Daher sind Festplatten blockorientierte Speicher. Der Hauptspeicher ist nicht blockorientiert. 4. Die Anordnung der Daten ist auf einer Festplatte kritischer als im Hauptspeicher, weil ein sequentieller Zugriff bei einer Festplatte schneller ist als ein wahlfreier. Beim Zugriff auf den Hauptspeicher ist dieser Unterschied nicht feststellbar, weil sich ein sequentieller Zugriff im Arbeitsablauf gleich darstellt wie ein wahlfreier. 7

8 5. Der Hauptspeicher ist normalerweise direkt vom Prozessor aus zugreifbar, die Festplatte nicht. Daher reagieren die Daten am Hauptspeicher empfindlicher auf Softwarefehler als die Daten auf einer Festplatte. Diese unterschiedlichen Eigenschaften der beiden Speichermedien schlagen sich natürlich auf das Design des Datenbanksystems nieder, und zwar in beinahe jedem Aspekt des Datenbankmanagements. Können aber alle Daten einer Datenbank im Arbeitsspeicher gehalten werden? Das ist bei manchen Applikationen mit geringem Datenvolumen möglich, bei anderen Applikationen fällt die Möglichkeit einer Hauptspeicherdatenbank aus diesem Grund aus der Liste der Alternativen heraus. Bei manchen Echtzeitsystemen können die Deadlines nur dann eingehalten werden, wenn die Daten im Hauptspeicher liegen. Hier ist zu beachten, dass das Design der Datenfelder auf die beschränkten Ressourcen besondere Rücksicht nimmt. Denn in einem solchen Fall müssen alle Daten in den Hauptspeicher des Rechners passen. 4.1 Aufteilung der Datenbank Nicht alle Daten einer Datenbank müssen für die Erfüllung von strikten Echtzeitkriterien gleich wichtig sein. Wenn diese Situation gegeben ist, müssen die Daten in mehrere Klassen eingeteilt werden, zumindest in sogenannte heiße und kalte Daten. Die Menge der heißen Daten ist normalerweise überschaubar, auf sie wird oft zugegriffen und diese Zugriffe unterliegen strengen Echtzeitkriterien. Kältere Daten werden weniger oft benötigt und die Echtzeitkriterien ihrer Zugriffe sind weniger streng. Durch diese Partition der Daten kann auch die Datenbank in mehrere logische Teile zerlegt, und nur die heißen Daten müssen im Hauptspeicher liegen, während die kälteren Daten auf der Festplatte abgelegt werden können. Damit spielt auch ihr Umfang eine geringe Rolle. Kritische Daten sollen somit im Hauptspeicher gehalten werden. Das schaffen durch das Caching auch konventionelle auf Festplatte speichernde Datenbanksysteme, sofern der Hauptspeicher groß genug ist. Obwohl solche Systeme recht gute Performance erzielen, nützen sie die Vorteile des Hauptspeichers nicht zur Gänze aus. So sind die Datenblöcke für eine schnelle Verfügbarkeit auf der Festplatte ausgelegt. Das bedingt komplexe Datenstrukturen wie etwa B-Bäume. Der Datenzugriff erfolgt immer über den Buffer-Manager. Dabei wird immer die Speicheradresse des Blocks auf der Festplatte berechnet und danach geprüft, ob der Block sich gerade im Hauptspeicher befindet. Dieser wird dort gefunden, und der gesuchte Datensatz wird in einen Buffer gelesen, sodass er gleich zugreifbar ist wie konventionelle Daten im Hauptspeicher. Dieser Aufwand ist deshalb unnötig, weil sich die Daten bereits im Hauptspeicher befinden. Wenn die Datenbank darauf ausgelegt ist nur auf Daten zuzugreifen, die ausschließlich im Hauptspeicher liegen, reicht ein Zugriff auf die entsprechende Speicheradresse wie bei normalen Files. 8

9 4.2 Hardwarespezifische Probleme bei hauptspeicherresidenten Datenbanken Ein leicht ersichtliches Problem beim Entwurf einer hauptspeicherresidenten Datenbank stellt die Flüchtigkeit des Speichermediums dar. Wenn der Strom abgeschaltet wird, entfallen auch die Auffrischungszyklen, welche die aktuelle Ladung jeder Speicherzelle erneuert. Dadurch verschwinden die Daten des Speichers und damit auch der Datenbank. Die hardwareseitige Lösung des Problems liegt nahe: der Speicher muss kontinuierlich mit Strom versorgt werden, um bei Systemabschaltungen oder Systemabstürzen und anschließenden Neustarts nicht die gesamten Daten der Datenbank zu verlieren. Die Sicherheit dieser Maßnahmen liegt aber unter der einer Festplatte, gemäß des Grundsatzes, dass alle Komponenten eine gewisse Ausfallswahrscheinlichkeit besitzen. Eine Möglichkeit, das Problem der unterbrechungsfreien Stromversorgung zu umgehen ist der Einsatz von nichtflüchtigem Speicher wie EEPROM oder Flash. Abgesehen von den dadurch auftretenden Kosten muss erwähnt werden, dass diese Technologien eine höhere Zugriffszeit als der weit verbreitete und relativ billige Arbeitsspeicher aus RAM-Bausteinen besitzen. 4.3 Auswirkungen von hauptspeicherresidenten Daten auf Transaktionen Weil der Zugriff auf den Arbeitsspeicher so viel schneller ist als ein Zugriff auf die Festplatte, kann erwartet werden, dass Transaktionen in hauptspeicherresidenten Datenbanken entsprechend schneller terminieren. Daher werden die Sperren, die das Transaktionsmanagement vergibt, früher gelöst. Somit scheint es, dass die Verzögerungen durch solche Sperren nicht mehr so wichtig seinen. Der Einfluss der Nebenläufigkeit auf eine einzelne Transaktion scheint sich also zu minimieren. Wenn nun eine Sperre eine Transaktion anhält, so muss der Prozessor auf den Prozess einer anderen Transaktion umsteigen. Dieser Prozesswechsel verbraucht viele Kalkulationszyklen, und aufgrund der reduzierten Speicherzugriffszeiten in hauptspeicherresidenten Datenbanksystemen fallen diese Prozesswechsel umso stärker ins Gewicht. Idealerweise müsste, um den Rechner optimal auszunutzen, die Nebenläufigkeit bis auf serielle Abarbeitung reduziert werden, was aber vor allem bei lang andauernden Transaktionen wie Geschäftsprozessen nicht möglich ist. Der Vorteil feingranularem Sperrens von Daten wird in jedem Fall durch den Prozesswechsel aufgefressen. Obwohl bei hauptspeicherresidenten Datenbanken die Daten im Hauptspeicher lagern und nur ein Backup auf der Festplatte, muss ein Logfile auf einem persistenten Medium gehalten werden, da ein Logfile gerade dann benötigt wird, wenn eine Datenbank nach einem Systemausfall wiederhergestellt werden muss. Vor Beendigung jeder Transaktion muss dieses Logfile aktualisiert werden, und das bedeutet einen Festplattenzugriff, der im Fall einer Schreibsperre durch eine konkurrierende Transaktion den Vorteil einer hauptspeicherresidenten Datenbank zunichte machen kann. Um dieses Problem zu lösen, wurden mehrere Verfahren entwickelt, drei davon sollen hier kurz erwähnt werden. 9

10 1. Teilpersistenter Arbeitsspeicher: Logdaten sind verhältnismäßig klein. Daher kann es einen vertretbaren Aufwand darstellen, einen Teil des Logfiles auf schnellem persistenten Speicher wie Flash zu halten. Dieser Teil wird naturgemäß der aktuellste Teil des Logs sein, und so muss beim Commit einer Transaktion nur auf den persistenten Teil des Arbeitsspeichers geschrieben werden. Das Übertragen auf die Festplatte kann dann in Phasen niedriger Datenbankauslastung erfolgen. 2. Pre Committing: Ähnlich verhält es sich mit dem Pre-Committing. Dabei wird eine Transaktion als abgeschlossen betrachtet, wenn der entsprechende Datensatz des Logfiles auf den Hauptspeicher geschrieben wurde. Danach können alle Sperren freigegeben werden, und nachfolgende Transaktionen werden nicht verzögert. Während nun die nächste Transaktion läuft, wird das Logfile auf der Festplatte mit dem Datensatz aus dem Hauptspeicher vervollständigt. Bei diesem Ansatz wird nicht die Antwortzeit der aktuellen Transaktion verkürzt, es werden nur die Sperren früher freigegeben und damit möglicherweise die Laufzeit der nachfolgenden Transaktionen verkürzt. 3. Group Commit: Group Commit setzt wiederum die Idee des Pre Committing fort, indem nicht jeder Logeintrag sofort auf die Festplatte geschrieben wird, sondern gewartet wird, bis eine gewisse Anzahl an Logeinträgen im Hauptspeicher vorliegen, die dann in einem Festplattenzugriff persistent gemacht werden. Das hier entstehende Risiko ist natürlich, dass Transaktionen, für die das Anwendungsprogramm bereits ein Commit erhalten hat, genau dann bei einem Systemcrash verloren gehen, wenn sich ihre Logeinträge noch im Arbeitsspeicher befinden. Der Vorteil davon ist aber, dass viele Festplattenzugriffe und damit auch Rechenoperationen eingespart werden können. Die Anzahl der Rechenoperationen erhält in hauptspeicherresidenten Datenbanksystemen die Bedeutung der maßgebenden Performancekennzahl, weil die verhältnismäßig enormen Zugriffszeiten auf Festplatten wegfallen. Damit werden sämtliche Bemühungen zur Reduktion der Datenzugriffe obsolet, ebenso das Clustering und die Einführung von flachhierarchischen Datenstrukturen. Der Preis dafür ist allerdings die höhere Verletzlichkeit der Daten und die Erfordernis, dass nach einem Absturz des Datenbanksystems alle Daten aus dem Backup und dem Log wiederhergestellt und neuerlich in den Hauptspeicher geladen werden müssen. Hauptspeicherresidente Datenbanken haben den Sprung vom akademischen Konzept zu fertigen Implementierungen geschafft. Beispiele dafür sind die Systeme Coral von der University of Wisconsin-Madison als Vertreter der akademischen Projekte und IMS/VS von IBM als kommerzielles Programm. Eine teilweise Umsetzung der Konzepte findet sich im System TimesTen von Oracle.[6] [7] 10

11 5 Aktive Echtzeitdatenbanken Wenn Applikationen eine automatische Überwachung des Zustandes ihrer Systemumgebung gewährleisten müssen und auf auftretende Ereignisse effizient reagieren müssen, wird eine aktive Datenbank benötigt. Und wenn diese Reaktionen auch zeitliche Bedingungen stellen, so muss ein aktives Echtzeitdatenbanksystem mit der Verwaltung und Manipulation der Daten betraut werden. Ein kurzer Einblick in die Charakteristika eines solchen aktiven Echtzeitsystems soll in diesem Abschnitt gewährt werden.[8] Aktive Datenbanksysteme haben, wie bereits erwähnt, nicht nur die Aufgabe, Daten zu speichern, sie sollen die Daten auch verändern, wenn sie durch Veränderungen der Umwelt oder durch Verändern der gespeicherten Daten dazu angehalten werden. Diese Datenveränderungen werden mittels gespeicherter Prozeduren, den sogenannten Triggern, durchgeführt.[8] Ein erster Ansatz, einer aktiven Datenbank Echtzeitbedingungen beizubringen, war das HiPAC-Projekt [9]. Hier wurde vorgeschlagen, den einzelnen Triggern Zeitbeschränkungen mitzugeben. So wird im auszuführenden Code explizit angegeben, wie lange diese Ausführung maximal dauern darf. Eine Reaktion auf überzogene Deadlines war, von Timeout-Warnungen abgesehen, noch nicht vorgesehen. Aber die Sensibilität für das Problem der aktiven Echtzeitdatenbanken war geweckt. Veränderungen der Umwelt werden durch ein Datenbanksystem dann aktiv erkannt, wenn es periodisches Polling durchführt. Dies wird normalerweise zur Erkennung von wiederkehrenden und daher im Eintreffen voraussehbaren Umweltveränderungen eingesetzt. Durch dieses Polling wird die externe Konsistenz überwacht und gegebenenfalls wiederhergestellt. Wenn dieser Ansatz zur Überwachung der internen Konsistenz herangezogen wird, so ist zu beachten, dass sich die Datenbank zwischen zwei der periodischen Prozeduraufrufen durchaus in einem intern inkonsistenten Zustand befinden kann. Die andere Möglichkeit, Daten durch eine aktive Datenbank ändern zu lassen ist der Aufruf eines Triggers durch eine Transaktion, wobei hier der Trigger integrales Element der Transaktion ist. Die Transaktion darf also während der Laufzeit des Triggers noch nicht als ausgeführt angesehen werden. Insbesondere ist ein Commit während der Ausführung eines solchen Triggers als besonders risikoreich anzusehen. Trigger sind bei aktiven Datenbanken sehr weit verbreitet und stellen auch bei aktiven Echtzeitdatenbanken die Regel dar.[2] Überlastungen des Datenbanksystems treten bei solchen event-getriggerten Systemen weitaus häufiger auf als bei den zeitgetriggerten Polling-Systemen, bei denen die Triggerausführungen leichter planbar sind. Bezüglich der Flexibilität ist umgekehrt ein eventgetriggertes System im Vorteil. Sie ist hier deshalb größer, weil durch einen Trigger durchaus neue Transaktionen aufgerufen werden können. Bei rein zeitgetriggerten Systemen ist das nicht möglich. In Hard Realtime-Systemen werden daher - sofern möglich - eher zeitgetriggerte Verfahren eingesetzt, weil die höhere Flexibilität beim event-getriggerten Ansatz schwerer abzuschätzen ist. Generell ist es jedoch ein Scheduling-Problem, welches bei aktiven Echtzeitdatenbanksystemen auftritt. Um dies lösen zu können, muss jedem Trigger seine Deadline ebenso mitgegeben werden wie die Information, ob diese Deadline hard-realtime oder soft-realtime ist. 11

12 Der Scheduler muss in weiterer Folge dafür sorgen, dass Trigger gemäß ihren Echtzeitanforderungen ausgeführt werden.[8] Dabei unterscheiden sich Trigger insofern von Transaktionen, als dass einer oder mehrere Trigger eine Transaktion formen können und sich daher Abhängigkeiten bezüglich der rechtzeitigen Ausführung ergeben. Es nützt wenig, einen Trigger, der bereits als besonders kritisch angesehen wird, auszuführen, wenn er Teil einer Hard Realtime-Transaktion ist und ein Nachfolgetrigger derselben Transaktion nicht mehr vor der Deadline der Transaktion beendet werden kann. Somit werden für das sichere Erkennen der Kritikalität eines Triggers zusätzliche Informationen benötigt. Je nach Anwendungsgebiet kann es möglich sein, das Scheduling-Problem zu entschärfen, indem in Zeiten hoher Arbeitsbelastung des Systems konsistenzbewahrende Trigger hintangestellt werden. Das ist natürlich nur dann möglich, wenn entweder interne oder externe Konsistenz allein ausreichen, damit das System akzeptable Ergebnisse liefert, und es dem Scheduler ersichtlich ist, welcher Trigger konsistenzbewahrend und welcher ergebnisproduzierend ist. Ein solches verzögertes Ausführen der Trigger ist eher in zeitgetriggerten Systemen möglich.[2] Im abschließenden Kapitel 7 wird die Funktionsweise aktiver Echtzeitdatenbanksysteme im Einsatz zur Luftraumüberwachung näher vorgestellt. Gerade Überwachungsaufgaben werden gerne mittels aktiven Echtzeitdatenbanken realisiert. 6 Verteilte Echtzeitdatenbanken Verteilte Datenbanksysteme sind bei Echtzeitanwendungen weit verbreitet, besonders bei Systemen mit strengen Performance-Anforderungen bezüglich Antwortzeit und Robustheit gegenüber Hardwareausfällen. Beispiele für solche verteilte Datenbanksysteme sind Telekommunikationsdatenbanken und Datenbanken zum Betrieb von Webapplikationen wie beispielsweise für Electronic Commerce. Die Performance von Leseoperationen, die Verlässlichkeit und Verfügbarkeit solcher Applikationen kann durch solche verteilten Echtzeitdatenbanken signifikant verbessert werden.[3] Replizierte Datenkopien werden bei verteilten Datenbanken redundant an mehreren Orten gespeichert, wodurch ein Datenzugriff auch dann möglich ist, wenn eine oder mehrere dieser Kopien durch einen Fehler ausfallen. Außerdem kann durch eine verteilte Datenbank bei Zugriff über ein Netzwerk die nächste Kopie der Datenbank verwendet werden, oder gleich eine lokale Kopie. Das bewirkt den Performancegewinn bei Lesezugriffen in verteilten Datenbanken, und daher auch bei verteilten Echtzeitdatenbanken. Obwohl die Datenreplikation manche Vorteile birgt, führt sie auch zu Problemen. Der Zugriff auf die Daten wird nicht mehr von einer einzelnen Instanz überwacht, stattdessen ist die Zugriffskontrolle auf alle jene Teilsysteme verteilt, die Kopien des jeweiligen Datensatzes besitzen. Dadurch wird es nötig zu überwachen, ob die einzelnen Kopien der Daten konsistent zueinander sind. Diese Art der Konsistenz wird Mutual Consistency genannt. Anders gesagt, die einzelnen Instanzen der Daten müssen deckungsgleich sein, also sich genau wie eine einzelne Instanz verhalten. Um dies möglich zu machen, müssen konfligie- 12

13 rende Zugriffe auf den selben Datensatz in verschiedenen Kopien vermieden werden. Auch muss sichergestellt werden, dass alle Kopien alle Updates erhalten.[2] Das Weiterverbreiten eines jeden Updates ist eine schreibende Transaktion auf jeder Kopie, also muss auf jeder Kopie ein Write Lock gesetzt werden. Natürlich können verschiedene Kopien der Datenbank parallel aktualisiert werden. Wie die einzelnen Updates ausgeführt werden, hängt wieder einmal von der Updatestrategie ab und kann als Lösung des Serialisierbarkeitsproblems verstanden werden. Hier einsetzbare Strategien sind unter anderem Earliest Deadline First, Optimistic Concurrency Control, Priority Inheritance, Priority Abort oder Priority Ceiling.[5] Diese Strategien arbeiten lokal auf einer Datenbankkopie, sie stellen sicher, dass bereits als Transaktionen bekannte weitergeleitete Updates richtig scheduliert ausgeführt werden. Ob die Mutual Consistency eingehalten werden muss und wie streng die Regeln dafür sind, das heißt, ob ein Update sofort zu allen Kopien der Daten weitergeleitet werden muss oder bis wann das zu geschehen hat, bestimmen die Anforderungen des Anwendungsgebiets. Denn die Echtzeitkriterien müssen selbstverständlich auch bei verteilten Echtzeitdatenbanken eingehalten werden. Dabei ist es wichtig zu beachten, dass ein Update der verteilten Datenbankkopien nicht nur die Zeit des Updates selbst beansprucht, auch die Übertragungszeit der Daten über das Netzwerk muss zur Ausführungszeit hinzugerechnet werden. Der zusätzliche Aufwand eines schreibenden Datenbankzugriffs steht somit der Performanceverbesserung bei Lesezugriffen entgegen. Entsprechend eignen sich besonders Datenbanken mit verhältnismäßig wenigen schreibenden Transaktionen oder Systeme mit der Anforderung hoher Verfügbarkeit für diese Organisationsform einer Echtzeitdatenbank. 7 Beispiel: System zur Luftverkehrsüberwachung Dieses Beispiel ist entnommen aus: C.-S. Peng, K.J. Lin, T.P. Ng, A performance study of the semantic-based concurrency control protocol in air traffic control systems, in A. Bestavros, V. Fay-Wolfe Real-time databse and information systems, Kluwer Academic Publishers, 1997, S Luftverkehrsüberwachungssysteme variieren bedeutend in Größe und Komplexität, je nachdem, wie groß der Luftraum ist, der überwacht werden soll. Große Luftverkehrsüberwachungssysteme sind ein verteiltes System, welches aus duzenden Servern und Workstations bestehen kann und über ein LAN verbunden ist. Die Server interagieren mit externen Systemen wie Radars, Wetterinformationsquellen (normalerweise Informationssysteme) und andere Luftverkehrsüberwachungssysteme. Eine große Anlage kann mit duzenden Radaranlagen verbunden sein, tausende Flüge und Flugpläne gleichzeitig behandeln. Jeder Radar ist in der Lage, 100 bis 200 Meldungen pro Scan an das Überwachungssystem zu liefern. Dabei ist aber zu prüfen, welche Objekte diesen Meldungen zugrunde liegen, denn Radaranlagen haben überlappende Überwachungsgebiete und nicht alle Objekte auf dem Radarschirm sind Flugzeuge. Die Server bieten eine Vielfalt an Funktionen. Manche davon verarbeiten Radardaten und bilden die Kurse der erfassten Flugzeuge. Manche vergleichen die Kurse mit den 13

14 gespeicherten Flugpläne. Manche speichern Daten in offline-gehaltenen Medien, um sie später zu analysieren. Manche berechnen Flugbahnen voraus, um eine Frühwarnfunktion bereitzustellen. Manche überwachen und steuern andere Computer, Netzwerke und externe Interfaces. Die Workstations des Luftraumüberwachungssystems zeigen relevante Daten (beispielsweise Flugziele, Flugrouten, Warnungen, Wetter) an einem großen Display für menschliche Benutzer an. Typischerweise zeigt jede Workstation nur eine Teilmenge der Daten an, und zwar diejenige Region des Luftraumes, die von dem Aufseher kontrolliert wird, der diese Workstation benutzt. 7.1 Systemmodell Unter den vielen Komponenten eines Luftverkehrsüberwachungssystems befinden sich zwei Datenbanken. Eine davon ist die Datenbank für Ziele und Kurse (Target and Track Database, TDB), und die andere ist die Datenbank für die Anzeige (display database, DDB). Für jedes erkannte Ziel (beispielsweise ein Flugzeug) wird ein Kurs erzeugt und aktuell gehalten. Jeder Kurs wird als Objekt in der TDB gespeichert, während der entsprechende Datensatz für ein Anzeigeobjekt ein davon abgeleitetes Objekt ist und in der DDB gespeichert wird. Es gibt außerdem einen Strom externer Updatetransaktionen, welche die durch Sensoren wie Radar festgestellten Kurse (Tracks, daher TRK) in die TDB einschreibt. Eine Zusammenstellung von Anzeigetransaktionen (Display Transactions, DIS) greift lesend die TDB zu, um die Kurse sowohl sowohl anzuzeigen als auch in die DDB einzufügen. Außerdem lesen Transaktionen zur Erkennung von taktischen Alarmen (Alarm Detection Transaction, ALE) in der TDB und setzt die so gewonnenen Daten in Beziehung mit den Daten in der DDB um eine gefährliche Situation zu erkennen und einen Alarm auszulösen. Wenn ein solcher Alarm ausgelöst wird, zeigt ALE den Alarm in einem auffälligen Format auf eigenen Monitoren an. 7.2 Interaktionen zwischen TRK, DIS und ALE Jede TRK ist ein periodischer Job, wobei die Periodenlänge von der Radarscanfrequenz bestimmt wird. Der Abschluss einer TRK innerhalb einer Periode triggert eine DIS, welche die aktualisierten geometischen Informationen über das überwachte Flugobjekt auf den Monitoren anzeigt. Der Abschluss einer DIS aktiviert wiederum eine ALE, um die Warnzustände zu erkennen. Wenn ein neues Flugobjekt vom Radar entdeckt wird und somit ein neuer TRK-Job entsteht, kreiert er ein neues Kursobjekt mit einer neuen Identifikationsnummer. Diese Identifikationsnummer wird in weiterer Folge konsistent durch die TRKs und DISs sowohl in der TDB als auch in der DDB verwendet. 7.3 Zeitliche Requirements Der Transaktionsscheduler benutzt die Earliest-Deadline-First-Policy. Diese Policy soll helfen, die Anzahl der Transaktionen, welche die Deadline überziehen, zu minimieren. 14

15 Jede TRK hat eine harte Deadline, welche gleichzeitig das Ende der Periode markiert. Jede unvollständige Ausführung einer TRK wird bei Erreichen der Deadline abgebrochen, es wird eine neue TRK gestartet. Jede DIS besitzt eine weiche Deadline, wobei die Deadline der DIS noch in der Periode der TRK liegt. Der Sinn davon liegt im Sicherheitsinteresse - der Benutzer muss das Flugobjekt rasch am Überwachungsmonitor aufscheinen sehen. Eine ALE hat ebenso eine weiche Deadline, welche ebenfalls das Ende der aktuellen TRK- Periode darstellt. In Zeiten hoher Auslastung ist es möglich, die Anzeige der aktuellen Positionen der Flugobjekte zu unterdrücken und und somit einerseits durch den Abbruch der DIS Zeit zu sparen und andererseits dem Benutzer eine stabilere, nicht hektisch flimmernde Anzeige zu bieten. Die ALE zur Erkennung von kritischen Zuständen muss aber trotzdem ausgeführt werden, und in gewissen zeitlichen Abständen muss garantiert sein, dass eine DIS die Anzeige aktualisiert. Diese Strategie der abgebrochenen DIS wird als weniger störend empfunden als dauernd zu spät eintreffende Warnungen, weil die ALE nicht mehr in der Lage ist, ihr Ergebnis zeitgerecht zu produzieren und zeitgerecht zu terminieren.[10] Soweit ein kurzer Überblick über die Architektur und Arbeitsweise eines nichttrivialen Echtzeitdatenbanksystems. Damit ist auch dieser kurze Überblick über Echtzeitdatenbanksysteme beendet. Literatur [1] R. Elmasri, S.B. Navathe, Fundamentals of Database Systems, Addison-Wesley, Reading, Massachusetts, [2] Ö. Ulusoy, Current Research on Real-Time Databases, IEEE SIGMOD RECORD, Vol. 21, No. 4, Dezember [3] K. Ramamritham, S.H. Son, L.C. Dipippo, Real-Time Databases and Data Services, Real-Time Systems 28, Kluwer Academic Publishers, 2004 [4] J.A. Stankovic, S. Son, J. Hansson, Misconceptions about Real-Time Databases, IEEE Computer, Volume 32, Issue 6, Juni 1999 [5] P.S. Yu, K.-L. Wu, On Real-Time Databases: Concurrency Control and Scheduling, Proceedings of the IEEE, Volume 82, Issue 1, Jänner 1994 [6] H. Garcia-Molina, K. Salem, Main Memory Database Systems: An Overview, IEEE Transactions on Knowledge and Data Engineering, Vol. 4, No. 6, December 1992 [7] Oracle TimesTen In-Memory Database: Architectural Overview, Release 6.0, 2006, 15

16 [8] M. Berndtsson, J. Hansson, Issues in Active Real-Time Databases, M. Berndtsson, J. Hansson (Ed.), Active and Real-Time Database Systems, Proceedings of the First International Workshop on Active and Real-Time Database Systems, Skövde, Sweden, 9-11 June 1995, Springer Verlag, London, 1996 [9] U. Dayal, B. Blaustein, A. Buchmann, U. Chakravarthy, M. Hsu, R. Ledin, D. McCarthy, A. Rosenthal, S. Sarin, M.J. Carey, M. Livny, R. Jauhari, The HiPAC Project: Combining Active Databases and Timing Constraints, ACM SIGMOD RECORD, Vol. 17, No. 1, März 1988 [10] C.-S. Peng, K.J. Lin, T.P. Ng, A performance study of the semantic-based concurrency control protocol in air traffic control systems, in A. Bestavros, V. Fay-Wolfe Real-time databse and information systems,kluwer Academic Publishers, 1997, S

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

Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt.

Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt. OPTIMISTIC CONCURRENCY CONTROL Synchronisierung von Transaktionen ohne Sperren. Annahme: Es gibt eine Methode, zu erkennen, wann eine Transaktion die serielle Ordnung verletzt. Abbruch einer Transaktion

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

Mehr

SANDBOXIE konfigurieren

SANDBOXIE konfigurieren SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:

Mehr

Kapitalerhöhung - Verbuchung

Kapitalerhöhung - Verbuchung Kapitalerhöhung - Verbuchung Beschreibung Eine Kapitalerhöhung ist eine Erhöhung des Aktienkapitals einer Aktiengesellschaft durch Emission von en Aktien. Es gibt unterschiedliche Formen von Kapitalerhöhung.

Mehr

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern Windows XP in fünf Schritten absichern Inhalt: 1. Firewall Aktivierung 2. Anwendung eines Anti-Virus Scanner 3. Aktivierung der automatischen Updates 4. Erstellen eines Backup 5. Setzen von sicheren Passwörtern

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst. 40-Tage-Wunder- Kurs Umarme, was Du nicht ändern kannst. Das sagt Wikipedia: Als Wunder (griechisch thauma) gilt umgangssprachlich ein Ereignis, dessen Zustandekommen man sich nicht erklären kann, so dass

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während

Mehr

Cookies. Krishna Tateneni Jost Schenck Übersetzer: Jürgen Nagel

Cookies. Krishna Tateneni Jost Schenck Übersetzer: Jürgen Nagel Krishna Tateneni Jost Schenck Übersetzer: Jürgen Nagel 2 Inhaltsverzeichnis 1 Cookies 4 1.1 Regelungen......................................... 4 1.2 Verwaltung..........................................

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Microsoft Update Windows Update

Microsoft Update Windows Update Microsoft bietet mehrere Möglichkeit, Updates durchzuführen, dies reicht von vollkommen automatisch bis zu gar nicht. Auf Rechnern unserer Kunden stellen wir seit September 2006 grundsätzlich die Option

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Nutzung von GiS BasePac 8 im Netzwerk

Nutzung von GiS BasePac 8 im Netzwerk Allgemeines Grundsätzlich kann das GiS BasePac Programm in allen Netzwerken eingesetzt werden, die Verbindungen als Laufwerk zu lassen (alle WINDOWS Versionen). Die GiS Software unterstützt nur den Zugriff

Mehr

Wie oft soll ich essen?

Wie oft soll ich essen? Wie oft soll ich essen? Wie sollen Sie sich als Diabetiker am besten ernähren? Gesunde Ernährung für Menschen mit Diabetes unterscheidet sich nicht von gesunder Ernährung für andere Menschen. Es gibt nichts,

Mehr

Anwenderdokumentation AccountPlus GWUPSTAT.EXE

Anwenderdokumentation AccountPlus GWUPSTAT.EXE AccountPlus Inhaltsverzeichnis Inhaltsverzeichnis Anwenderdokumentation AccountPlus GWUPSTAT.EXE (vorläufig) ab Version 6.01 INHALTSVERZEICHNIS...1 1 ALLGEMEINES...2 2 INSTALLATION UND PROGRAMMAUFRUF...2

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote Zweck dieser Anleitung ist es einen kleinen Überblick über die Funktion Last Minute auf Swisshotelportal zu erhalten. Für das erstellen

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

Partitionieren in Vista und Windows 7/8

Partitionieren in Vista und Windows 7/8 Partitionieren in Vista und Windows 7/8 Windows Vista und Windows 7 können von Haus aus Festplatten partitionieren. Doch die Funktion ist etwas schwer zu entdecken, denn sie heißt "Volume verkleinern".

Mehr

Speicher in der Cloud

Speicher in der Cloud Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG

Mehr

ICS-Addin. Benutzerhandbuch. Version: 1.0

ICS-Addin. Benutzerhandbuch. Version: 1.0 ICS-Addin Benutzerhandbuch Version: 1.0 SecureGUARD GmbH, 2011 Inhalt: 1. Was ist ICS?... 3 2. ICS-Addin im Dashboard... 3 3. ICS einrichten... 4 4. ICS deaktivieren... 5 5. Adapter-Details am Server speichern...

Mehr

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005 Das Software Studio Christian Efinger mobilepoi 0.91 Demo Version Anleitung Erstellt am 21. Oktober 2005 Kontakt: Das Software Studio Christian Efinger ce@efinger-online.de Inhalt 1. Einführung... 3 2.

Mehr

OPERATIONEN AUF EINER DATENBANK

OPERATIONEN AUF EINER DATENBANK Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:

Mehr

Lizenz-Server überwachen

Lizenz-Server überwachen Einsteiger Fortgeschrittene Profis markus.meinl@m-quest.ch Version 1.0 Voraussetzungen für diesen Workshop 1. Die M-Quest Suite 2005-M oder höher ist auf diesem Rechner installiert 2. Das Produkt M-Lock

Mehr

lññáåé=iáåé===pìééçêíáåñçêã~íáçå=

lññáåé=iáåé===pìééçêíáåñçêã~íáçå= lññáåé=iáåé===pìééçêíáåñçêã~íáçå= Wie kann das LiveUpdate durchgeführt werden? Um das LiveUpdate durchzuführen, müssen alle Anwender die Office Line verlassen. Nur so ist gewährleistet, dass die Office

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Übungen zur Vorlesung. Datenbanken I

Übungen zur Vorlesung. Datenbanken I Prof. Dr. S. Böttcher Adelhard Türling Übungen zur Vorlesung Datenbanken I WS 2002/2003 Blatt 6 Aufgabe 1: In der Vorlesung haben Sie für die Einbringstrategie Update in Place die Vorgehensweisen steal,

Mehr

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Bevor Sie die Platte zum ersten Mal benutzen können, muss sie noch partitioniert und formatiert werden! Vorher zeigt sich die Festplatte

Mehr

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) 1 Einleitung... 2 2 Download und Installation... 3 2.1 Installation von WindowsXPMode_de-de.exe... 4 2.2 Installation von Windows6.1-KB958559-x64.msu...

Mehr

Memeo Instant Backup Kurzleitfaden. Schritt 1: Richten Sie Ihr kostenloses Memeo-Konto ein

Memeo Instant Backup Kurzleitfaden. Schritt 1: Richten Sie Ihr kostenloses Memeo-Konto ein Einleitung Memeo Instant Backup ist eine einfache Backup-Lösung für eine komplexe digitale Welt. Durch automatisch und fortlaufende Sicherung Ihrer wertvollen Dateien auf Ihrem Laufwerk C:, schützt Memeo

Mehr

Binärdarstellung von Fliesskommazahlen

Binärdarstellung von Fliesskommazahlen Binärdarstellung von Fliesskommazahlen 1. IEEE 754 Gleitkommazahl im Single-Format So sind in Gleitkommazahlen im IEEE 754-Standard aufgebaut: 31 30 24 23 0 S E E E E E E E E M M M M M M M M M M M M M

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung

Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung Outlook Weiterleitungen & Abwesenheitsmeldungen Seite 1 von 6 Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung Erstellt: Quelle: 3.12.09/MM \\rsiag-s3aad\install\vnc\email Weiterleitung

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

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

Internet online Update (Internet Explorer)

Internet online Update (Internet Explorer) Um Ihr Consoir Beta immer schnell und umkompliziert auf den aktuellsten Stand zu bringen, bieten wir allen Kunden ein Internet Update an. Öffnen Sie Ihren Internetexplorer und gehen auf unsere Internetseite:

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

Lizenzen auschecken. Was ist zu tun?

Lizenzen auschecken. Was ist zu tun? Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.

Mehr

Prozessarchitektur einer Oracle-Instanz

Prozessarchitektur einer Oracle-Instanz 6. Juni 2008 Inhaltsverzeichnis Oracle Instanz 1 Oracle Instanz 2 3 Redo Log Buffer Shared Pool Java Pool & Large Pool Oracle Instanz Eine Oracle-Instanz ist Hauptbestandteil des Oracle Datenbank Management

Mehr

NetStream Helpdesk-Online. Verwalten und erstellen Sie Ihre eigenen Tickets

NetStream Helpdesk-Online. Verwalten und erstellen Sie Ihre eigenen Tickets Verwalten und erstellen Sie Ihre eigenen Tickets NetStream GmbH 2014 Was ist NetStream Helpdesk-Online? NetStream Helpdesk-Online ist ein professionelles Support-Tool, mit dem Sie alle Ihre Support-Anfragen

Mehr

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08 Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements von Stephanie Wilke am 14.08.08 Überblick Einleitung Was ist ITIL? Gegenüberstellung der Prozesse Neuer

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

SharePoint Demonstration

SharePoint Demonstration SharePoint Demonstration Was zeigt die Demonstration? Diese Demonstration soll den modernen Zugriff auf Daten und Informationen veranschaulichen und zeigen welche Vorteile sich dadurch in der Zusammenarbeit

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

Computeria Solothurn

Computeria Solothurn Computeria Solothurn Seniorinnen und Senioren entdecken den Computer und das Internet Sich mit «TeamViewer» von einem Supporter helfen lassen Diese Anleitung und die Illustrationen wurden unter Mac OS

Mehr

2. Speichern und öffnen

2. Speichern und öffnen 2. Speichern und öffnen In diesem Modul lernen Sie, ein Dokument zum ersten Mal zu speichern, zu öffnen, nochmals zu speichern unter demselben Namen, nachdem Sie etwas geändert haben, zu speichern als

Mehr

icloud nicht neu, aber doch irgendwie anders

icloud nicht neu, aber doch irgendwie anders Kapitel 6 In diesem Kapitel zeigen wir Ihnen, welche Dienste die icloud beim Abgleich von Dateien und Informationen anbietet. Sie lernen icloud Drive kennen, den Fotostream, den icloud-schlüsselbund und

Mehr

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI TTS - TinyTimeSystem Unterrichtsprojekt BIBI Mathias Metzler, Philipp Winder, Viktor Sohm 28.01.2008 TinyTimeSystem Inhaltsverzeichnis Problemstellung... 2 Lösungsvorschlag... 2 Punkte die unser Tool erfüllen

Mehr

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht

Mehr

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser Seite 1 von 14 Cookie-Einstellungen verschiedener Browser Cookie-Einstellungen verschiedener Browser, 7. Dezember 2015 Inhaltsverzeichnis 1.Aktivierung von Cookies... 3 2.Cookies... 3 2.1.Wofu r braucht

Mehr

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten Berichte bieten die gleichen Möglichkeit zur Berechnung von Werten wie Formulare und noch einige mehr. Im Gegensatz zu Formularen bieten Berichte die Möglichkeit, eine laufende Summe zu bilden oder Berechnungen

Mehr

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: Informationssystemanalyse Problemstellung 2 1 Problemstellung Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse: große Software-Systeme werden im Schnitt ein Jahr zu spät

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Inkrementelles Backup

Inkrementelles Backup Inkrementelles Backup Im Gegensatz zu einer kompletten Sicherung aller Daten werden bei einer inkrementellen Sicherung immer nur die Dateien gesichert, die seit der letzten inkrementellen Sicherung neu

Mehr

Gruppenrichtlinien und Softwareverteilung

Gruppenrichtlinien und Softwareverteilung Gruppenrichtlinien und Softwareverteilung Ergänzungen zur Musterlösung Bitte lesen Sie zuerst die gesamte Anleitung durch! Vorbemerkung: Die Begriffe OU (Organizational Unit) und Raum werden in der folgenden

Mehr

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb CashPro basiert auf Accesstechnologie 2003 und ist auch unter den aktuellen Accessversionen 2007 bis 2013 einsetzbar und Mehrbenutzerfähig.

Mehr

Orderarten im Wertpapierhandel

Orderarten im Wertpapierhandel Orderarten im Wertpapierhandel Varianten bei einer Wertpapierkauforder 1. Billigst Sie möchten Ihre Order so schnell wie möglich durchführen. Damit kaufen Sie das Wertpapier zum nächstmöglichen Kurs. Kurs

Mehr

Backup der Progress Datenbank

Backup der Progress Datenbank Backup der Progress Datenbank Zeitplandienst (AT): Beachten Sie bitte: Die folgenden Aktionen können nur direkt am Server, vollzogen werden. Mit Progress 9.1 gibt es keine Möglichkeit über die Clients,

Mehr

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

Mehr

Presseinformation. Ihre Maschine spricht! Mai 2015. GLAESS Software & Automation Wir machen industrielle Optimierung möglich.

Presseinformation. Ihre Maschine spricht! Mai 2015. GLAESS Software & Automation Wir machen industrielle Optimierung möglich. Presseinformation Mai 2015 GLAESS Software & Ihre Maschine spricht! Wäre es nicht hilfreich, wenn Maschinen zu uns sprechen könnten? Natürlich nicht immer aber immer dann, wenn etwas Entscheidendes passiert.

Mehr

iphone-kontakte zu Exchange übertragen

iphone-kontakte zu Exchange übertragen iphone-kontakte zu Exchange übertragen Übertragen von iphone-kontakten in ein Exchange Postfach Zunächst muss das iphone an den Rechner, an dem es üblicherweise synchronisiert wird, angeschlossen werden.

Mehr

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. In diesem Artikel werden wir Ihnen zeigen, wie Sie eine Datenbank verschlüsseln können, um den Zugriff einzuschränken, aber trotzdem noch eine

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

WO IST MEIN HUND? SICHER, SCHNELL UND ZUVERLÄSSIG

WO IST MEIN HUND? SICHER, SCHNELL UND ZUVERLÄSSIG WO IST MEIN HUND? SICHER, SCHNELL UND ZUVERLÄSSIG Die Hundepension Münster bedient sich aus Sicherheitsgründen dieser Technik um sicherzustellen, dass fremde von uns betreute Hunde nicht auf Abwege geraten.

Mehr

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag

Anton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag Anton Ochsenkühn amac BUCH VERLAG Ecxel 2016 für Mac amac-buch Verlag 2 Word-Dokumentenkatalog! Zudem können unterhalb von Neu noch Zuletzt verwendet eingeblendet werden. Damit hat der Anwender einen sehr

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken? UErörterung zu dem Thema Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken? 2000 by christoph hoffmann Seite I Gliederung 1. In zu großen Mengen ist alles schädlich. 2.

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

ANLEITUNG. Firmware Flash. Seite 1 von 7

ANLEITUNG. Firmware Flash. Seite 1 von 7 ANLEITUNG Firmware Flash chiligreen LANDISK Seite 1 von 7 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis... 2 2 Problembeschreibung... 3 3 Ursache... 3 4 Lösung... 3 5 Werkseinstellungen der LANDISK wiederherstellen...

Mehr

Outlook Web App 2013 designed by HP Engineering - powered by Swisscom

Outlook Web App 2013 designed by HP Engineering - powered by Swisscom Outlook Web App 2013 designed by HP Engineering - powered by Swisscom Dezember 2014 Inhalt 1. Einstieg Outlook Web App... 3 2. Mails, Kalender, Kontakten und Aufgaben... 5 3. Ihre persönlichen Daten...

Mehr

Handbuch B4000+ Preset Manager

Handbuch B4000+ Preset Manager Handbuch B4000+ Preset Manager B4000+ authentic organ modeller Version 0.6 FERROFISH advanced audio applications Einleitung Mit der Software B4000+ Preset Manager können Sie Ihre in der B4000+ erstellten

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole Lavid-F.I.S. Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der Lavid Software GmbH Dauner Straße 12, D-41236 Mönchengladbach http://www.lavid-software.net Support:

Mehr

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele: 2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Configuring Terminal Services o Configure Windows Server 2008 Terminal Services RemoteApp (TS RemoteApp) o Configure Terminal Services Gateway

Mehr

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014 Konfiguration VLAN's Version 2.0.1 Deutsch 01.07.2014 In diesem HOWTO wird die Konfiguration der VLAN's für das Surf-LAN der IAC-BOX beschrieben. Konfiguration VLAN's TITEL Inhaltsverzeichnis Inhaltsverzeichnis...

Mehr

Informationen zum neuen Studmail häufige Fragen

Informationen zum neuen Studmail häufige Fragen 1 Stand: 15.01.2013 Informationen zum neuen Studmail häufige Fragen (Dokument wird bei Bedarf laufend erweitert) Problem: Einloggen funktioniert, aber der Browser lädt dann ewig und zeigt nichts an Lösung:

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

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch. Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert https://www.sws.bfh.ch/studium/cas/swe-fs13/protected/re/re_buch.pdf Nachdem die Projekt-Vision und die Stakeholder bekannt sind,

Mehr

Anleitung zur Nutzung des SharePort Utility

Anleitung zur Nutzung des SharePort Utility Anleitung zur Nutzung des SharePort Utility Um die am USB Port des Routers angeschlossenen Geräte wie Drucker, Speicherstick oder Festplatte am Rechner zu nutzen, muss das SharePort Utility auf jedem Rechner

Mehr

Welche Bereiche gibt es auf der Internetseite vom Bundes-Aufsichtsamt für Flugsicherung?

Welche Bereiche gibt es auf der Internetseite vom Bundes-Aufsichtsamt für Flugsicherung? Welche Bereiche gibt es auf der Internetseite vom Bundes-Aufsichtsamt für Flugsicherung? BAF ist die Abkürzung von Bundes-Aufsichtsamt für Flugsicherung. Auf der Internetseite gibt es 4 Haupt-Bereiche:

Mehr

Jederzeit Ordnung halten

Jederzeit Ordnung halten Kapitel Jederzeit Ordnung halten 6 auf Ihrem Mac In diesem Buch war bereits einige Male vom Finder die Rede. Dieses Kapitel wird sich nun ausführlich diesem so wichtigen Programm widmen. Sie werden das

Mehr

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014) Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...

Mehr

Handbuch. timecard Connector 1.0.0. Version: 1.0.0. REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen

Handbuch. timecard Connector 1.0.0. Version: 1.0.0. REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Handbuch timecard Connector 1.0.0 Version: 1.0.0 REINER SCT Kartengeräte GmbH & Co. KG Goethestr. 14 78120 Furtwangen Furtwangen, den 18.11.2011 Inhaltsverzeichnis Seite 1 Einführung... 3 2 Systemvoraussetzungen...

Mehr

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann.

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann. Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann. Einleitung Es kommt vor, dass im Handel Disketten angeboten werden, die Styles und Registrationen

Mehr

White Paper. Konfiguration und Verwendung des Auditlogs. 2012 Winter Release

White Paper. Konfiguration und Verwendung des Auditlogs. 2012 Winter Release White Paper Konfiguration und Verwendung des Auditlogs 2012 Winter Release Copyright Fabasoft R&D GmbH, A-4020 Linz, 2011. Alle Rechte vorbehalten. Alle verwendeten Hard- und Softwarenamen sind Handelsnamen

Mehr

Handbuch ECDL 2003 Professional Modul 3: Kommunikation Postfach aufräumen und archivieren

Handbuch ECDL 2003 Professional Modul 3: Kommunikation Postfach aufräumen und archivieren Handbuch ECDL 2003 Professional Modul 3: Kommunikation Postfach aufräumen und archivieren Dateiname: ecdl_p3_04_03_documentation.doc Speicherdatum: 08.12.2004 ECDL 2003 Professional Modul 3 Kommunikation

Mehr

Erste Hilfe. «/IE Cache & Cookies» Logout, alte Seiten erscheinen, Erfasstes verschwindet?

Erste Hilfe. «/IE Cache & Cookies» Logout, alte Seiten erscheinen, Erfasstes verschwindet? Erste Hilfe «/IE Cache & Cookies» Logout, alte Seiten erscheinen, Erfasstes verschwindet? Cache Einstellungen Im Internet Explorer von Microsoft wie auch in anderen Browsern (zum Beispiel Firefox) gibt

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Über die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Über die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt. Internet, Codes und Update ab Version 13 Um Ihnen einen möglichst schnellen Zugang zu den aktuellsten Programmversionen zu ermöglichen liegen Update-Dateien für Sie im Internet bereit. Es gibt drei Möglichkeiten

Mehr