DE112022000492T5 - Nicht permanente datenbank-zwischenspeicherung in einem datenbankbeschleuniger - Google Patents

Nicht permanente datenbank-zwischenspeicherung in einem datenbankbeschleuniger Download PDF

Info

Publication number
DE112022000492T5
DE112022000492T5 DE112022000492.4T DE112022000492T DE112022000492T5 DE 112022000492 T5 DE112022000492 T5 DE 112022000492T5 DE 112022000492 T DE112022000492 T DE 112022000492T DE 112022000492 T5 DE112022000492 T5 DE 112022000492T5
Authority
DE
Germany
Prior art keywords
database
target database
target
source
tables
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112022000492.4T
Other languages
English (en)
Inventor
Felix Beier
Dennis Butterstein
Einar Lueck
Sabine Perathoner-Tschaffler
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/206,240 external-priority patent/US11797570B2/en
Priority claimed from US17/206,221 external-priority patent/US11500733B2/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112022000492T5 publication Critical patent/DE112022000492T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Ein durch einen Computer ausgeführtes Verfahren für eine Wiederherstellung nach einem Absturz für verknüpfte Datenbanken kann bereitgestellt werden. Die verknüpften Datenbanken weisen eine Quellendatenbank und eine zugehörige Zieldatenbank auf, und ausgewählte Teile vom Inhalt von Tabellen der Quellendatenbank werden mit jeweiligen Teilen des Inhalts der Tabellen der Zieldatenbank synchronisiert. Dabei werden ausgewählte, an ein Datenbankverwaltungssystem gerichtete Abfragen, welches die Quellendatenbank aufweist, zur Verarbeitung an ein Datenbankverwaltungssystem übertragen, das die Zieldatenbank aufweist. Und das Verfahren umfasst auch ein Synchronisieren der Teile des Inhalts der ausgewählten Tabellen in der Zieldatenbank mit den Teilen des Inhalts der ausgewählten Tabellen in der Quellendatenbank, indem Einträge einer Wiederherstellungsprotokolldatei, die sich auf die Quellendatenbank bezieht, gelesen und die gelesenen Einträge auf die Zieldatenbank angewendet werden.

Description

  • HINTERGRUND
  • Gebiet der Erfindung
  • Die Erfindung betrifft allgemein ein Verfahren zur Wiederherstellung nach einem Absturz für Datenbanken und genauer gesagt ein durch einen Computer ausgeführtes Verfahren für eine Wiederherstellung nach einem Absturz für verknüpfte Datenbanken. Die Erfindung betrifft des Weiteren ein verknüpftes Datenbanksystem mit Wiederherstellung nach einem Absturz für verknüpfte Datenbanken und ein Computerprogrammprodukt.
  • Verwandte Technik
  • Das Verwalten von großen Datenmengen bleibt ein dauerhaftes Problem für IT-(Informationstechnologie-)Organisationen von Unternehmen. Dies ist (i) auf die immer größer werdende Menge an Daten und (ii) auch auf die Vielfalt der Daten zurückzuführen. Zusätzlich zu herkömmlichen strukturierten Daten werden auch semistrukturierte und sogenannte unstrukturierte Daten in großen Mengen in IT-Systemen von Unternehmen gespeichert. Darüber hinaus wurden zusätzlich zu herkömmlichen transaktionsorientierten Datenbanken spezielle Datenbanksysteme, die für eine analytische Verarbeitung optimiert sind, eingeführt, um dem Erfordernis der Industrie für immer mehr Datenanalysen gerecht zu werden. Auf der anderen Seite wurden Versuche unternommen, die gesamte analytische Verarbeitung in einer herkömmlichen Transaktionsdatenbank vorzunehmen. Jedoch stellte sich heraus, dass die analytische Verarbeitung einen zu starken und unvorhersehbaren Einfluss auf die Leistungsfähigkeit der Onlinetransaktionsverarbeitung hat.
  • Folglich wurden clevere Kombinationen von transaktionsorientierten Datenbankverwaltungssystemen mit analyseoptimierten Datenbankverwaltungssystemen eingeführt. Ein Beispiel für solch kombinierte Produkte beruht auf der Architektur des IBM DB2 Analytics Accelerator (IDAA).
  • Einerseits kann ein vollständiges, zeilenbasiertes Datenbankverwaltungssystem (DBMS) als ein Anwendungsendpunkt für Data-Manipulation-Language-(DML-)Operationen und Ausführungen von Abfragen dienen. Unter Verwendung von heuristischen Entscheidungskriterien und Regeln kann das Abfrageoptimierungsprogramm transparent entscheiden, ob eine Abfrage auf dem Quellen-DBMS - vor allem für eine Onlinetransaktionsverarbeitung - ausgeführt oder an ein Ziel-DBMS - vor allem für eine analytische Onlineverarbeitung - ausgelagert werden soll.
  • Das Ziel-DBMS kann ein vollständiges, spaltenbasiertes Datenbankverwaltungssystem sein, das eine Schattenkopie eines ausgewählten Satzes der Tabellen des Quellen-DBMS hält. Strategien für ein Erstellen von Schattenkopien des Ziel-DBMS können ein Übertragen von in einer oder mehreren Tabellen des Quellen-DBMS gespeicherten Daten an das Ziel-DBMS zu einem gegebenen Zeitpunkt aufweisen. Jedoch könnten Abfragedaten in dem Ziel-DBMS veraltet sein, wenn das Laden vor einiger Zeit durchgeführt und die entsprechende Quellentabelle in der Zwischenzeit geändert wurde. Daher werden die Inhalte der Tabellen in der Regel inkrementell angepasst, wenn Änderungen in den entsprechenden Quellendatenbanktabellen aufgezeichnet werden.
  • Beide Datenbanksysteme führen Transaktionsmechanismen aus, um ACID-Eigenschaften (ACID = Atomizität, Konsistenz, Isolation, Dauerhaftigkeit) der jeweiligen Datenbank zu gewährleisten. D.h., gleichzeitige Änderungen werden über Sperrtechniken ordnungsgemäß isoliert und Konsistenzprüfungen können gewährleisten, dass der Datenbankzustand aus einem konsistenten Zustand in einen anderen überführt wird, und Protokollierungstechniken wie beispielsweise Write-at-Logging können ausgeführt werden, um Atomizität und Dauerhaftigkeit für Transaktionsänderungen zu gewährleisten.
  • Jedoch kann ein Gewährleisten von ACID-Eigenschaften erheblichen Aufwand verursachen, wenn die Quellendatenbank durch aktuelle Transaktionen geändert wird. Insbesondere verlangsamt ein Protokollieren die Verarbeitung von Einfüge-/ Aktualisierungs-/Lösch-(IUD-, Insert/Update/Delete-)Anweisungen, da Änderungsdatensätze in ein persistentes Speichermedium geschrieben werden müssen, bevor Transaktionen fortgesetzt werden können. Im Vergleich zu der häufig verwendeten speicherinternen Verarbeitung von Änderungen am Inhalt der Datenbanktabelle ist ein Hinzufügen dieser Persistenzebene unter Verwendung von Transaktionsprotokollen vergleichsweise langsam. Auf der anderen Seite ist eine Wiederherstellung nach einem Absturz erforderlich, um den aktuellsten konsistenten Zustand der jeweiligen Datenbank im Falle eines Ausfalls wiederherzustellen.
  • Im Kontext des Datenbankbeschleunigers, wie IDAA, spiegelt die Zielbeschleunigerdatenbank einfach eine Momentaufnahme der Quellendatenbank. D.h., die Quellendatenbank kann als der Master der Daten agieren oder Datenmanipulationen über IUDs können durch das Quellendatenbank-Verwaltungssystem verarbeitet werden, und Änderungen werden über eine Aktualisierungstechnik in die Zieldatenbank repliziert. Die Beschleunigerdatenbank kann daher als ein Cache zum Speichern von Partitionen der Quellendatenbank dienen, die gegebenenfalls schnelle Analyseoperationen benötigen.
  • In diesem technischen Kontext gibt es bereits mehrere Offenbarungen. Das Schriftstück US 9 141 670 B2 beschreibt einen Hardwarebeschleuniger, der einem Hostdatenbanksystem bei der Verarbeitung seiner Abfragen hilft. Der Hardwarebeschleuniger weist Spezialverarbeitungselemente auf, die in der Lage sind, Datenbankabfrage-/-Operationstasks in Form einer Maschinencode-Datenbankanweisung zu empfangen, sie in Hardware ohne Software auszuführen und das Abfrage-/ Operationsergebnis wieder an das Hostsystem zurückzugeben.
  • Zudem beschreibt das Schriftstück US 2014 / 0 279 930 A1 ein verteiltes Datenbanksystem, das eine schnelle Wiederherstellung nach einem Absturz ausführt. Nach der Wiederherstellung nach einem Ausfall eines Datenbank-Kopfknotens kann eine Verbindung mit einem oder mehreren Speicherknoten eines verteilten Speichersystems, das Daten für eine Datenbank speichert, die durch den Datenbank-Kopfknoten ausgeführt wird, hergestellt werden. Nach der Herstellung der Verbindung mit einem Speicherknoten kann diese Datenbank für einen Zugriff zur Verfügung gestellt werden, wie beispielsweise für verschiedene Zugriffsanforderungen.
  • Jedoch können alle herkömmlichen, verbundenen Datenbanken, die einerseits für Transaktionen und andererseits für eine analytische Verarbeitung optimiert sind, den bekannten Aufwand zum Verwalten von persistenten Wiederherstellungsprotokollen erforderlich machen, was die Verarbeitung der kombinierten Datenbanken erheblich verlangsamen kann. Daher kann es notwendig sein, den erforderlichen Aufwand zu verringern, um höhere Leistungswerte für ein kombiniertes Transaktions-/ Analysedatenbankverwaltungssystem zu erzielen.
  • KURZDARSTELLUNG
  • Gemäß einem Aspekt der vorliegenden Erfindung kann ein durch einen Computer ausgeführtes Verfahren zur Wiederherstellung nach einem Absturz für verknüpfte Datenbanken bereitgestellt werden. Die verknüpften Datenbanken können eine Quellendatenbank und eine zugehörige Zieldatenbank aufweisen, wobei ausgewählte Teile vom Inhalt von Tabellen der Quellendatenbank mit jeweiligen Teilen des Inhalts von Tabellen der Zieldatenbank synchronisiert werden können. Ausgewählte, an ein Datenbankverwaltungssystem gerichtete Abfragen, welches die Quellendatenbank aufweist, können zur Verarbeitung an ein Datenbankverwaltungssystem übertragen werden, das die Zieldatenbank aufweist. Das Verfahren kann ein Synchronisieren der Teile des Inhalts der ausgewählten Tabellen in der Zieldatenbank mit den Teilen des Inhalts der ausgewählten Tabellen in der Quellendatenbank umfassen, indem Einträge einer Wiederherstellungsprotokolldatei, die sich auf die Quellendatenbank bezieht, gelesen und die gelesenen Einträge auf die Zieldatenbank angewendet werden.
  • Gemäß einem weiteren Aspekt der vorliegenden Erfindung kann ein verknüpftes Datenbanksystem mit Wiederherstellung nach einem Absturz für verknüpfte Datenbanken bereitgestellt werden. Die verknüpften Datenbanken können eine Quellendatenbank und eine zugehörige Zieldatenbank aufweisen, und ausgewählte Teile vom Inhalt von Tabellen der Quellendatenbank können mit jeweiligen Teilen des Inhalts der Tabellen der Zieldatenbank synchronisiert werden. Darüber hinaus können ausgewählte, an ein Datenbankverwaltungssystem gerichtete Abfragen, welches die Quellendatenbank aufweist, zur Verarbeitung an ein Datenbankverwaltungssystem übertragen werden, das die Zieldatenbank aufweist.
  • Das verknüpfte Datenbanksystem kann einen Prozessor und einen mit dem Prozessor per Datenaustausch verbundenen Hauptspeicher aufweisen, wobei der Hauptspeicher Programmcodeteile speichert, die, wenn sie ausgeführt werden, dem Prozessor ermöglichen, die Teile des Inhalts der ausgewählten Tabellen in der Zieldatenbank mit den Teilen des Inhalts der ausgewählten Tabellen in der Quellendatenbank zu synchronisieren, indem Einträge einer Wiederherstellungsprotokolldatei, die sich auf die Quellendatenbank bezieht, gelesen und die gelesenen Einträge auf die Zieldatenbank angewendet werden.
  • Das vorgeschlagene, durch einen Computer ausgeführte Verfahren für eine Wiederherstellung nach einem Absturz für verknüpfte Datenbanken kann mehrere Vorteile, technische Wirkungen, Beiträge und/oder Verbesserungen bieten:
  • Der mit dem Verwalten der verknüpften Datenbanken verbundene Aufwand kann erheblich verringert werden. Dies ist darauf zurückzuführen, dass die Zieldatenbank und ihr zugehöriges Datenbankverwaltungssystem nicht die Last des Verwaltens ihres eigenen Transaktions- und/oder Wiederherstellungsprotokolls tragen. Daher ist es nicht erforderlich, einen persistenten Datenspeicher für die Zieldatenbank zu verwalten, was die Leistung der Zieldatenbank mindern kann. Aufgrund dessen, dass die Zieldatenbank in der Regel als Analysesystem verwendet werden kann - d.h. für OLAP-Operationen -, das oft speicherintern ausgeführt werden kann, ist eine laufende Aktualisierung eines persistenten Datenspeichers, um einen Verlauf von durchgeführten Transaktionen zu verwalten, nicht erforderlich.
  • Herkömmlicherweise kann jede der Datenbanken - d.h. die Quellen- und die Zieldatenbank - ihre eigene zugehörige Wiederherstellungsprotokolldatei haben, die Metadaten für die Definitionen der Tabellen in der jeweiligen Datenbank umfasst. Da für eine Wiederherstellung - im Falle eines Absturzes - der Zieldatenbank die Wiederherstellungsprotokolldatei der Quellendatenbank für die Wiederherstellung der Zieldatenbank verwendet werden kann, können der Aufwand und die Leistungsminderung der sich im OLAP-Modus befindlichen Zieldatenbank ganz vermieden werden. Daher müssen die Quellendatenbank und die Zieldatenbank keine identische, die Datenbank unterstützende Infrastruktur haben - z.B. als Teil des jeweiligen Datenbankverwaltungssystems -, sondern können über unterschiedliche unterstützende Komponenten verfügen. Dabei kann der Satz von unterstützenden Komponenten für die Quellendatenbank eine reichhaltigere Funktionalität aufweisen, während die Zieldatenbank über keine Transaktionsprotokolldatei und/oder Wiederherstellungsprotokolldatei verfügen muss, welche die jeweiligen Metadaten enthält. Als optionale Ausführungsform können die Metadaten für Definitionen der Datenbanktabellen jedoch auch als Teil des Datenbankverwaltungssystems, das sich auf die Zieldatenbank bezieht, gehalten werden. In jedem Fall können beide Datenbanksysteme Transaktionsmechanismen ausführen, um ACID-Eigenschaften (ACID = Atomizität, Konsistenz, Isolation, Dauerhaftigkeit) der Datenbanken zu gewährleisten.
  • Im Folgenden werden zusätzliche Ausführungsformen - die sowohl auf das Verfahren als auch auf das zugehörige System anwendbar sind - beschrieben:
  • Gemäß einer einzelnen nützlichen Ausführungsform des Verfahrens kann die Quellendatenbank für Transaktionen, d.h. für eine Online-Transaktionsverarbeitung (OLTP, online transactional processing), optimiert sein. Dies kann das operative Rückgrat von IT-(Informationstechnologie-)Operationen eines Unternehmens darstellen und effizient unterstützen.
  • Gemäß einer zulässigen Ausführungsform des Verfahrens kann es sich bei der Quellendatenbank um eine zeilenorientierte relationale Datenbank handeln. Dieser Typ von Datenbank ist für schnelle Lese-, Schreib- und Änderungsoperationen an den Daten in der Datenbank optimiert. Er kann auch für das Erzeugen von Berichten geeignet sein. Dieser Typ von Datenbank ist für Analyseoperationen jedoch nicht optimal.
  • Gemäß einer erweiterten Ausführungsform des Verfahrens kann die Zieldatenbank für Analyseoperationen, d.h. für eine analytische Onlineverarbeitung (OLAP, online analytical processing), optimiert sein. Bei diesem Typ von Datenbank - gemäß einer weiteren Ausführungsform - kann es sich um eine spaltenorientierte Datenbank handeln. Sie kann Abfragen mit vielen Abhängigkeiten und Kreuzkorrelationen viel besser als OLTPoptimierte Datenbanksysteme unterstützen.
  • Gemäß einer einzelnen weiteren erweiterten Ausführungsform des Verfahrens kann es sich bei der Zieldatenbank um eine speicherinterne Datenbank handeln. Da OLAP-Anwendungen und -Abfragen mitunter viele Daten aus vielen verschiedenen Datenbanktabellen vergleichen müssen, hat sich eine Zwischenspeicherung der Daten als zu langsam erwiesen. Daher kann das Halten aller - oder nahezu aller - Daten im Hauptspeicher eine gute Möglichkeit darstellen, eine vergleichsweise kurze Antwortzeit auch für Anwendungen mit nicht optimierten Self-Service-OLAP-Abfragen zu ermöglichen.
  • Gemäß einer weiteren entwickelten Ausführungsform kann das Verfahren auch ein Verzögern von Abfragen an die Zieldatenbank umfassen, bis - im Falle eines Absturzes der Zieldatenbank - eine Wiederherstellung der Zieldatenbank abgeschlossen ist. Daher werden die Abfragen an die Zieldatenbank - oder diejenigen, die an die Zieldatenbank umgeleitet wurden - nicht ignoriert. Sie können zurückgehalten werden, bis die Zieldatenbank gegebenenfalls wieder bereit für Abfrageoperationen ist. In der Zwischenzeit - und gemäß einer weiteren intelligenten Ausführungsform des Verfahrens - können während der Wiederherstellung der Zieldatenbank an die Zieldatenbank gerichtete Abfragen in der Quellendatenbank ausgeführt werden.
  • Daher müssen Benutzer das Abfragen des verknüpften Datenbanksystems gegebenenfalls nicht einstellen, sondern erfahren möglicherweise lediglich eine Leistungsminderung. Dieses Merkmal kann konfigurierbar sein.
  • Gemäß einer weiteren nützlichen Ausführungsform des Verfahrens kann die Wiederherstellung der Zieldatenbank durch ein Laden von Massendaten aus der Quellendatenbank durchgeführt werden. Ein solches Laden von Massendaten ist gegebenenfalls nur für den Inhalt der Teile der Tabellen relevant, d.h. für diejenigen, die für eine Synchronisation in der Zieldatenbank konfiguriert wurden.
  • Gemäß einer optionalen Ausführungsform kann das Verfahren auch ein Initialisieren der Zieldatenbank durch einen direkten Prozess des Ladens von Massendaten aus der Quellendatenbank in die Zieldatenbank umfassen. Auch hier kann nur der ausgewählte Inhalt der ausgewählten Teile der Tabellen als Massendaten geladen werden. Dies kann schneller vonstatten gehen, als wenn die Wiederherstellungsprotokolldatei der Quellendatenbank für ein erstes Wiederherstellungsladen der Zieldatenbank verwendet wird. Daher kann die Wiederherstellungsprotokolldatei nur während regulärer Operationen und Aktualisierungen für die Zieldatenbank und/oder im Falle eines Absturzes der Quellendatenbank zur Wiederherstellung dieser Datenbank verwendet werden.
  • Gemäß einer vorteilhaften Ausführungsform des Verfahrens können Metadaten, welche die ausgewählten Tabellen definieren, Teil der Wiederherstellungsprotokolldatei sein. Dies kann eine Wiederherstellung der Zieldatenbank nach einem Absturz unter Verwendung des regulären Aktualisierungsmechanismus für die Zieldatenbank ermöglichen.
  • Gemäß einer weiteren vorteilhaften Ausführungsform des Verfahrens muss das Zieldatenbankverwaltungssystem über keine Wiederherstellungsprotokolldatei verfügen. Daher kann die einzige Wiederherstellungsprotokolldatei für die verknüpften Datenbanken diejenige der Quellendatenbank sein. Dadurch wird mitunter gewährleistet, dass die Zieldatenbank - nach einem Absturz - immer gemäß dem aktuellen Status der Quellendatenbank wiederhergestellt werden kann. Es kann den Wiederherstellungsprozess auch „einfacher“ machen, da gegebenenfalls keine Überprüfungen zwischen der Wiederherstellungsprotokolldatei der Quellendatenbank und der Zieldatenbank erforderlich sind. Zudem kann Plattenspeicherplatz eingespart werden, da gegebenenfalls keine Notwendigkeit besteht, Wiederherstellungsprotokolldateien für die Zieldatenbank zu sichern.
  • Darüber hinaus können Ausführungsformen die Form eines zugehörigen Computerprogrammprodukts annehmen, auf das von einem durch einen Computer verwendbaren oder durch einen Computer lesbaren Datenträger aus zugegriffen werden kann, der Programmcode zur Verwendung durch einen Computer oder ein beliebiges Anweisungsausführungssystem oder in Verbindung mit einem Computer oder einem beliebigen Anweisungsausführungssystem bereitstellt. Zum Zweck dieser Beschreibung kann ein durch einen Computer verwendbarer oder durch einen Computer lesbarer Datenträger eine beliebige Vorrichtung sein, die Mittel enthalten kann, um das Programm zur Verwendung durch das Anweisungsausführungssystem, die Anweisungsausführungsvorrichtung oder -einheit oder zur Verwendung in Verbindung mit dem Anweisungsausführungssystem, der Anweisungsausführungsvorrichtung oder -einheit zu speichern, zu übertragen, weiterzugeben oder zu transportieren.
  • KURZBESCHREIBUNG DER DIVERSEN ANSICHTEN DER ZEICHNUNGEN
  • Es sei angemerkt, dass Ausführungsformen der Erfindung unter Bezugnahme auf verschiedene Gegenstände beschrieben werden. Insbesondere werden einige Ausführungsformen unter Bezugnahme auf Verfahrensansprüche beschrieben, wohingegen andere Ausführungsformen unter Bezugnahme auf Vorrichtungsansprüche beschrieben werden. Der Fachmann entnimmt der vorstehenden und der nachfolgenden Beschreibung jedoch, dass, vorbehaltlich anderer Angaben, neben jeder beliebigen Kombination aus Merkmalen, die zu einem Typ von Gegenstand gehören, auch jede beliebige Kombination zwischen Merkmalen, die sich auf verschiedene Gegenstände beziehen, insbesondere zwischen Merkmalen der Verfahrensansprüche und Merkmalen der Vorrichtungsansprüche, als eine in diesem Schriftstück zu offenbarende Kombination betrachtet wird.
  • Die vorstehend definierten Aspekte und weitere Aspekte der vorliegenden Erfindung gehen aus den Beispielen von Ausführungsformen, die nachstehend zu beschreiben sind, hervor und werden unter Bezugnahme auf die Beispiele von Ausführungsformen erklärt, auf welche die Erfindung jedoch nicht beschränkt ist.
  • Bevorzugte Ausführungsformen der Erfindung werden lediglich beispielhaft und unter Bezugnahme auf die folgenden Zeichnungen beschrieben:
    • 1 zeigt ein Blockschaubild einer Ausführungsform des erfindungsgemäßen, durch einen Computer ausgeführten Verfahrens für eine Wiederherstellung nach einem Absturz für verknüpfte Datenbanken.
    • 2 zeigt ein Blockschaubild einer Ausführungsform von verknüpften Datenbanken.
    • 3 zeigt ein Blockschaubild einer Ausführungsform der Art und Weise, in der die Zieldatenbank synchronisiert wird.
    • 4 zeigt ein Blockschaubild einer Ausführungsform des verknüpften Datenbanksystems.
    • 5 zeigt eine Ausführungsform eines Datenverarbeitungssystems, welches das verknüpfte Datenbanksystem gemäß 4 aufweist.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Im Kontext dieser Beschreibung werden gegebenenfalls die folgenden Konventionen, Begriffe und/oder Ausdrücke verwendet:
  • Der Begriff „Wiederherstellung nach einem Absturz“ kann einen Prozess des Wiederherstellens eines Zustands einer Datenbank bezeichnen, in dem sich die Datenbank vor Eintritt des Absturzes befand. Wenn ein Absturz eintritt, sind Daten möglicherweise nicht verfügbar oder inkonsistent.
  • Der Begriff „verknüpfte Datenbanken“ kann mindestens zwei Datenbanken bezeichnen, die eng miteinander verbunden sind. Im Kontext dieses Schriftstücks können verknüpfte Datenbanken als diejenigen bezeichnet werden, die, zumindest teilweise, identische Daten speichern können. Auf der anderen Seite kann die primäre Datenbank bei einem solchen Paar für andere Tasks als die sekundäre Datenbank optimiert sein.
  • Der Begriff „Quellendatenbank“ - oder „primäre Datenbank“ - kann eine Datenbank bezeichnen, die z.B. für schnelle Transaktionen, d.h. eine Onlinetransaktionsverarbeitung, optimiert ist. Jedoch können auf diese Weise optimierte Datenbanken - d.h. für schnelle Lese-, Schreib-, Aktualisierungsoperationen an den Daten - langsam bei der Durchführung von komplexen Abfragen sein, die eine hohe Anzahl von Tabellen oder eine große Anzahl von Daten einschließen, wie im Falle der analytischen Onlineverarbeitung. Zudem kann die analytische Onlineverarbeitung die Onlinetransaktionsverarbeitung verlangsamen. Daher können hochoptimierte Datenbankverwaltungssysteme der soeben genannten Datenbanktypen als Tandem arbeiten.
  • Der Begriff „Zieldatenbank“ - oder „sekundäre Datenbank“ kann die zweite Datenbank in einem solchen Tandem von Datenbanken bezeichnen, die für verschiedene Tasks optimiert sind. Im Kontext des hier beschriebenen Konzepts kann die Zieldatenbank für die analytische Onlineverarbeitung optimiert sein. Sie kann mindestens Teile der Tabellen und Teile der Daten in den Tabellen der Quellendatenbank speichern.
  • Der Begriff „ausgewählte Teile vom Inhalt von Tabellen“ kann die soeben genannten Teile oder Partitionen der Daten von Teilen der Tabellen der primären Datenbank bezeichnen, die kopiert und in der Zieldatenbank synchron gehalten können.
  • Der Begriff „synchronisiert“ kann angeben, dass die für eine Synchronisation zwischen der ersten Datenbank und der zweiten Datenbank ausgewählten Daten in der Zieldatenbank auf der Grundlage des Status der Daten in der Quellendatenbank laufend aktualisiert werden können. Dies kann für alle Operationen an den Daten gelten, die auf der Zieldatenbank ausgeführt werden, d.h. Einfügen/Aktualisieren/Löschen.
  • Der Begriff „ausgewählte Abfragen“ kann einen bestimmten, an die verknüpften Datenbanken gerichteten Typ von Abfragen bezeichnen, welche je nach Art der Abfrage besser durch eine der Datenbanken - insbesondere die Zieldatenbank - ausgeführt werden sollten. Wenn sich der Typ der Abfrage z.B. auf analytische Onlineverarbeitung bezieht, wird die Abfrage gegebenenfalls an die Zieldatenbank weitergeleitet und gegebenenfalls nicht durch die Quellendatenbank ausgeführt.
  • Der Begriff „Datenbankverwaltungssystem“ kann eine Kombination aus Administrations-/Verwaltungssystem bezeichnen, das in der Regel in einer Kombination aus Hardware und Software und mindestens einer zugehörigen Datenbank, welche die Daten speichert, ausgeführt ist.
  • Der Begriff „Wiederherstellungsprotokolldatei“ kann eine sequenzielle Datei bezeichnen, die Operationen protokolliert, welche auf einer Datenbank durchgeführt werden, insbesondere all jene Operationen, die die Daten ändern, d.h. Einfüge-, Aktualisierungs- und Löschoperationen. Die Wiederherstellungsprotokolldatei kann dafür vorgesehen sein, eine vollständige Wiederherstellung der Datenbank zu ermöglichen. Daher können auch die Tabellendefinitionen der Datenbank Teil der Wiederherstellungsprotokolldatei sein.
  • Der Begriff „Metadaten“ kann Daten über Daten bezeichnen, insbesondere Definitionsdaten von Tabellen in einer Datenbank und möglicherweise Beziehungen zwischen ihnen.
  • Im Folgenden werden die Figuren ausführlich beschrieben. Alle Anweisungen in den Figuren sind schematisch. Zunächst ist ein Blockschaubild einer Ausführungsform des erfindungsgemäßen, durch einen Computer ausgeführten Verfahrens für eine Wiederherstellung nach einem Absturz für verknüpfte Datenbanken dargestellt. Anschließend werden weitere Ausführungsformen sowie Ausführungsformen des verknüpften Datenbanksystems mit Wiederherstellung nach einem Absturz für verknüpfte Datenbanken beschrieben.
  • 1 zeigt ein Blockschaubild einer bevorzugten Ausführungsform des erfindungsgemäßen, durch einen Computer ausgeführten Verfahrens 100 für eine Wiederherstellung nach einem Absturz für verknüpfte Datenbanken - das z.B. gemäß einer IDAA-Architektur konzipiert ist. Die verknüpften Datenbanken weisen ein Bereitstellen, 102, einer Quellen- oder primären Datenbank und einer zugehörigen Ziel- oder sekundären Datenbank als verknüpfte Datenbanken auf. Ausgewählte Teile vom Inhalt von Tabellen der Quellendatenbank - d.h., in der Regel nicht die ganze Datenbank - werden mit jeweiligen Teilen des Inhalts der Tabellen der Zieldatenbank synchronisiert. Nur diejenigen Tabellen und Einzeldaten, die in den ausgewählten Tabellen gespeichert sind, müssen auch in der Zieldatenbank gespeichert sein, auf der Abfragen ausgeführt werden können.
  • Die ausgewählten Abfragen - z.B. hauptsächlich OLAP-Abfragen - an ein Datenbankverwaltungssystem, das die Quellendatenbank aufweist, werden an ein Datenbankverwaltungssystem, das die Zieldatenbank aufweist, zur Verarbeitung übertragen - was z.B. auch als „ausgelagert“ verstanden werden kann. Auf diese Weise kann die Quellendatenbank nicht mit OLAP-Abfragen belastet werden.
  • Das Verfahren 100 umfasst dann ein Synchronisieren, 104, der Teile des Inhalts der ausgewählten Tabellen in der Zieldatenbank mit den Teilen des Inhalts der ausgewählten Tabellen in der Quellendatenbank, indem Einträge einer Wiederherstellungsprotokolldatei, die sich auf die Quellendatenbank bezieht, gelesen und die gelesenen Einträge auf die Zieldatenbank angewendet werden. Dazu kann der Datenbankverwaltungsteil des Zieldatenbanksystems verwendet werden.
  • Auf diese Weise können Transaktionen ohne zusätzliche Verzögerung oder OLAP-Aufwand fortgesetzt werden, da durch IUD-(Einfüge-, Aktualisierungs-, Lösch-)Transaktionen vorgenommene Änderungen nur auf die speicherinterne Darstellung der Daten angewendet werden, wo durch Datenbankabfragen, die auf den Beschleuniger ausgelagert wurden, unmittelbar auf sie zugegriffen werden kann, ungeachtet dessen, ob sie bereits auf persistenten Datenträgern gespeichert sind oder nicht.
  • 2 zeigt ein Blockschaubild einer Ausführungsform 200 von verknüpften Datenbanken. Die primäre oder Quellendatenbank 202 empfängt OLTP-Abfragen 210 und OLAP-Abfragen 214. Diejenigen Abfragen, die als OLAP-Abfragen 214 angegeben sind, werden an die sekundäre oder Zieldatenbank 206 übertragen oder ausgelagert, 222. Die Quellendatenbank 202 weist eine Mehrzahl von Tabellen 204 und zugehörige gespeicherte Daten auf. Die Zieldatenbank 206 weist auch Tabellen auf, die mindestens eine Teilmenge der Datenbanktabellen 204 der Quellendatenbank 202 und mindestens eine Teilmenge der Daten in den Datenbanktabellen 208 darstellen.
  • Nachdem die OLAP-Operation durch die Zieldatenbank 206 durchgeführt wurde, werden die Daten zurückgegeben, 224, und die OLAP-Ausgabe 220 wird wieder an das anfordernde Programm bzw. den anfordernden Prozess zurückgegeben. OLTP-Abfragen 210 werden direkt in der Quellendatenbank 202 ausgeführt und als OLTP-Ausgabe 212 an das anfordernde Programm bzw. den anfordernden Prozess zurückgegeben. Daher kann die OLTP- oder Quellendatenbank 202 bei Höchstleistung betrieben werden, da sie nicht durch ressourcenintensive OLAP-Abfragen verlangsamt wird.
  • Aufgrund einer möglicherweise anderen Datenorganisation in der Zieldatenbank 206 - z.B. spaltenorientiert anstelle von zeilenorientiert wie in der Quellen- oder OLTP-Datenbank 202 - kann die Zieldatenbank OLAP-Ergebnisse viel schneller als die Quellendatenbank 202 zurückgeben, 224.
  • 3 zeigt ein Blockschaubild einer Ausführungsform 300 der Art und Weise, in der die Zieldatenbank gemäß dem hier vorgeschlagenen Konzept synchronisiert wird. Das Quellendatenbankverwaltungssystem 302 steuert den Betrieb der Quellendatenbank 202 und ihrer zugehörigen Tabellen 204 (vergleiche 2). Dasselbe gilt für das Zieldatenbankverwaltungssystem 308 für die Zieldatenbank 206 und die zugehörigen Tabellen 208.
  • Das Quellendatenbankverwaltungssystem 302 verwaltet auch die Wiederherstellungsprotokolldatei 306 für die Quellendatenbank 202. Eine Protokollleseeinheit oder Protokolldateileseeinheit 314, welche die Wiederherstellungsprotokolldatei 306 liest, stellt diese Daten der anwendenden Einheit 316 bereit, die die an der Quellendatenbank durchgeführten Änderungen (d.h. Einfügen, Aktualisieren, Löschen) auch auf die Zieldatenbank 206 für die ausgewählten Tabellen und den ausgewählten Satz von Daten anwendet. Bei den ausgewählten Tabellen und dem ausgewählten Satz von Daten kann es sich um eine Teilmenge jener zugehörigen Tabellen und Daten in der Quellendatenbank 202 handeln, die zuvor definiert wurden. Die anwendende Einheit 316 kann die Anwendung der Änderungen auf die Zieldatenbank 206 in Abhängigkeit von ausgeführten OLAP-Abfragen optimieren. Dazu kann der Protokollpuffer 318 hilfreich sein.
  • Für eine Initialisierung der Zieldatenbank 206 kann aus Gründen der Leistungsfähigkeit eine Operation 312 zum Laden von Massendaten aus der Quellendatenbank 202 in die Zieldatenbank 206 durchgeführt werden.
  • 4 zeigt ein Blockschaubild einer Ausführungsform des verknüpften Datenbanksystems 400. Das verknüpfte Datenbanksystem ermöglicht eine Wiederherstellung nach einem Absturz für die verknüpften Datenbanken des verknüpften Datenbanksystems. Die verknüpften Datenbanken weisen ein Quellendatenbanksystem 406 und ein zugehöriges Zieldatenbanksystem 408 auf. Dabei werden ausgewählte Teile des Inhalts der Tabellen der Quellendatenbank mit jeweiligen Teilen des Inhalts der Tabellen der Zieldatenbank synchronisiert. Zudem werden ausgewählte, an ein Datenbankverwaltungssystem (nicht gezeigt) gerichtete Abfragen, welches das Quellendatenbanksystem 406 aufweist, zur Verarbeitung an ein Datenbankverwaltungssystem (nicht gezeigt) übertragen, das die Zieldatenbank aufweist.
  • Das verknüpfte Datenbanksystem 400 weist einen Prozessor 402 und einen mit dem Prozessor per Datenaustausch verbundenen Hauptspeicher 404 auf, wobei der Hauptspeicher 404 Programmcodeteile speichert, die, wenn sie ausgeführt werden, dem Prozessor 402 ermöglichen, die Teile des Inhalts der ausgewählten Tabellen in der Zieldatenbank mit den Teilen des Inhalts der ausgewählten Tabellen in der Quellendatenbank zu synchronisieren - z.B. durch eine Synchronisationseinheit -, indem Einträge einer Wiederherstellungsprotokolldatei, die sich auf die Quellendatenbank bezieht, gelesen - z.B. durch eine Protokollleseeinheit 410 - und die gelesenen Einträge - z.B. durch eine anwendende Einheit 412 - auf die Zieldatenbank angewendet werden.
  • Es sei darauf hingewiesen, dass alle Module und Einheiten des verknüpften Datenbanksystems für einen Signal- und/oder Datenaustausch eins zu eins miteinander verbunden sein können. Alternativ können die Module und Einheiten, insbesondere der Prozessor 402, der Hauptspeicher 404, das Quellendatenbanksystem 406, das Zieldatenbanksystem 408, die Protokollleseeinheit 410 und die anwendende Einheit 412 auch durch das interne Bussystem 414 des verknüpften Datenbanksystems miteinander verbunden sein.
  • Ausführungsformen der Erfindung können zusammen mit praktisch jeder Art von Computer, ungeachtet der zur Speicherung und/oder Ausführung von Programmcode geeigneten Plattform, umgesetzt werden. 5 zeigt als Beispiel ein Datenverarbeitungssystem 500, das zur Ausführung von Programmcode in Bezug auf das vorgeschlagene Verfahren geeignet ist.
  • Das Datenverarbeitungssystem 500 ist lediglich ein Beispiel eines geeigneten Computersystems und sollte ungeachtet dessen, ob das Computersystem 500 ausführungsfähig und/oder in der Lage ist, jedwede der vorstehend dargelegten Funktionalität durchzuführen, nicht als Hinweis auf eine Einschränkung hinsichtlich des Nutzungsumfangs oder der Funktionalität von Ausführungsformen der hierin beschriebenen Erfindung verstanden werden. In dem Computersystem 500 gibt es Komponenten, die mit zahlreichen anderen Universal- oder Spezialdatenverarbeitungssystemumgebungen oder - konfigurationen betrieben werden können. Zu Beispielen für hinlänglich bekannte Datenverarbeitungssysteme, -umgebungen und/oder -konfigurationen, die gegebenenfalls zur Verwendung mit dem Computersystem/Server 500 geeignet sind, gehören, ohne darauf beschränkt zu sein, Personal-Computer-Systeme, Server-Computersysteme, Thin Clients, Thick Clients, Handheld- oder Laptop-Einheiten, Mehrprozessorsysteme, auf einem Mikroprozessor beruhende Systeme, Set-Top-Boxen, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputersysteme, Mainframe-Computersysteme und verteilte Cloud-Computing-Umgebungen, die beliebige der vorstehenden Systeme oder Einheiten umfassen, und dergleichen. Das Computersystem/der Server 500 kann in dem allgemeinen Kontext von durch ein Computersystem ausführbaren Anweisungen, wie zum Beispiel Programmmodulen, die durch ein Computersystem 500 ausgeführt werden, beschrieben werden. Im Allgemeinen können Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen und so weiter umfassen, die bestimmte Tasks durchführen oder bestimmte abstrakte Datentypen ausführen. Das Computersystem/der Server 500 kann in verteilten Cloud-Computing-Umgebungen in die Praxis umgesetzt werden, in denen Tasks durch ferne Verarbeitungseinheiten durchgeführt werden, die durch ein Übertragungsnetzwerk verbunden sind. In einer verteilten Cloud-Computing-Umgebung können sich Programmmodule sowohl in lokalen als auch in fernen Speichermedien eines Computersystems, zu denen auch Hauptspeichereinheiten gehören, befinden.
  • Wie in der Figur gezeigt ist, ist das Computersystem/der Server 500 in Form einer Universal-Datenverarbeitungseinheit gezeigt. Zu den Komponenten des Computersystems/Servers 500 können, ohne darauf beschränkt zu sein, ein oder mehrere Prozessoren oder Verarbeitungseinheiten 502, ein Systemspeicher 504 und ein Bus 506 gehören, die verschiedene Systemkomponenten, darunter den Systemspeicher 504, mit dem Prozessor 502 verbinden. Der Bus 506 stellt eine oder mehrere von beliebigen Busstrukturen von mehreren Arten von Busstrukturen dar, darunter einen Speicherbus oder einen Speichercontroller, einen peripheren Bus, einen Accelerated Graphics Port und einen Prozessor- oder lokalen Bus, der beliebige einer Vielfalt an Busarchitekturen verwendet. Beispielhaft und nicht einschränkend gehören zu diesen Architekturen ein Industry-Standard-Architecture-(ISA-)Bus, ein Micro-Channel-Architecture-(MCA-)Bus, ein Enhanced-ISA-(EISA-)Bus, ein lokaler Video-Electronics-Standards-Association-(VESA-)Bus und ein Peripheral-Component-Interconnects-(PCI-)Bus. Das Computersystem/der Server 500 umfasst üblicherweise eine Vielfalt an durch ein Computersystem lesbaren Datenträgern. Bei diesen Datenträgern kann es sich um jedwede verfügbaren Datenträger handeln, auf die durch das Computersystem/den Server 500 zugegriffen werden kann, und zu ihnen gehören sowohl flüchtige und nicht flüchtige als auch austauschbare und nicht austauschbare Datenträger.
  • Der Systemspeicher 504 kann durch ein Computersystem lesbare Datenträger in Form von flüchtigem Speicher, wie beispielsweise einen Direktzugriffsspeicher (RAM) 508 und/oder einen Cache 510, umfassen. Das Computersystem/der Server 500 kann des Weiteren weitere auswechselbare/nicht auswechselbare, flüchtige/nicht flüchtige Speichermedien eines Computersystems umfassen. Lediglich beispielhaft kann ein Speichersystem 512 für das Lesen von und das Schreiben auf einen nicht austauschbaren, nicht flüchtigen Magnetdatenträger (nicht gezeigt und üblicherweise als „Festplattenlaufwerk“ bezeichnet) bereitgestellt werden. Obgleich nicht gezeigt, können ein Magnetplattenlaufwerk für das Lesen von und das Schreiben auf eine austauschbare, nicht flüchtige Magnetplatte (z.B. eine „Diskette“) und ein optisches Plattenlaufwerk für das Lesen von oder das Schreiben auf eine austauschbare, nicht flüchtige optische Platte, wie beispielsweise ein CD-ROM, DVD-ROM oder andere optische Datenträger, bereitgestellt sein. In diesen Fällen kann jedes Laufwerk durch eine oder mehrere Datenträgerschnittstellen mit dem Bus 506 verbunden sein. Wie weiter dargestellt und nachstehend beschrieben wird, kann der Hauptspeicher 504 mindestens ein Programmprodukt umfassen, das über einen Satz (z.B. zumindest einen) von Programmmodulen verfügt, die so konfiguriert sind, dass sie die Funktionen von Ausführungsformen der Erfindung ausführen.
  • Das Programm/Dienstprogramm, das über einen Satz (zumindest einen) von Programmmodulen 516 verfügt, kann beispielhaft, und nicht als Einschränkung, im Hauptspeicher 504 gespeichert sein, ebenso wie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten. Die Betriebssysteme, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten oder eine Kombination daraus können jeweils eine Ausführung einer Netzwerkumgebung umfassen. Die Programmmodule 516 führen im Allgemeinen die Funktionen und/oder die Vorgehensweisen von Ausführungsformen der Erfindung aus, die hierin beschrieben sind.
  • Das Computersystem/der Server 500 kann auch mit einer oder mehreren externen Einheiten 518 wie beispielsweise einer Tastatur, einer Zeigereinheit, einem Bildschirm 520 usw.; mit einer oder mehreren Einheiten, die es einem Benutzer ermöglicht/ermöglichen, mit dem Computersystem/Server 500 zu interagieren; und/oder beliebigen Einheiten (z.B. Netzwerkkarte, Modem usw.), die dem Computersystem/Server 500 einen Datenaustausch mit einer oder mehreren anderen Datenverarbeitungseinheiten ermöglichen, Daten austauschen. Ein solcher Datenaustausch kann über Eingabe-/Ausgabe-(E/A-)Schnittstellen 514 erfolgen. Dennoch kann das Computersystem/der Server 500 mit einem oder mehreren Netzwerken wie zum Beispiel einem lokalen Netz (LAN), einem allgemeinen Weitverkehrsnetz (WAN) und/oder einem öffentlichen Netz (z.B. dem Internet) über einen Netzwerkadapter 522 Daten austauschen. Wie dargestellt ist, kann der Netzwerkadapter 522 mit den anderen Komponenten des Computersystems/Servers 500 über den Bus 506 Daten austauschen. Es sollte klar sein, dass auch andere Hardware- und/oder Software-Komponenten in Verbindung mit dem Computersystem/Server 500 verwendet werden könnten, obgleich diese nicht gezeigt sind. Zu Beispielen gehören, ohne darauf beschränkt zu sein: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Anordnungen von Plattenlaufwerken, RAID-Systeme, Bandlaufwerke sowie Speichersysteme zur Datenarchivierung usw.
  • Zudem kann das verknüpfte Datenbanksystem 400 mit Wiederherstellung nach einem Absturz für verknüpfte Datenbanken an das Bussystem 506 angeschlossen sein.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung erfolgten zum Zweck der Veranschaulichung, sie sollen jedoch nicht erschöpfend oder auf die offenbarten Ausführungsformen beschränkt sein. Viele Modifikationen und Varianten sind für den Fachmann erkennbar, ohne vom Umfang der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder technische Verbesserung gegenüber auf dem Markt befindlichen Technologien am besten zu erklären bzw. um anderen Fachleuten das Verständnis der hierin offenbarten Ausführungsformen zu ermöglichen.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium (oder -medien) mit durch einen Computer lesbaren Programmanweisungen darauf umfassen, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem Medium kann es sich um ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder ein Halbleitersystem für ein Weitergabemedium handeln. Zu Beispielen für einen durch einen Computer lesbaren Datenträger können ein Halbleiter- oder Solid-State-Speicher, ein Magnetband, eine austauschbare Computerdiskette, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), eine magnetische Festplatte und eine optische Platte gehören. Zu aktuellen Beispielen für optische Platten gehören ein Compact-Disk-Nur-Lese-Speicher (CD-ROM), eine CD-RW, eine digitale Videoplatte (DVD) und eine Blu-Ray-Disk.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die folgenden: eine auswechselbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein auswechselbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übermittelte elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Switches, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch einen beliebigen Typ Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel durch das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field-programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbarer Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und/oder die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in dem Ablaufplan oder in den Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, das bzw. der eine oder mehrere ausführbare Anweisungen zur Ausführung der festgelegten logischen Funktion(en) aufweist. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit weitgehend gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder den festgelegten Schritt durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Die hierin verwendete Terminologie dient lediglich dazu, bestimmte Ausführungsformen zu beschreiben, und ist nicht als Einschränkung der Erfindung zu verstehen. In der Verwendung hierin sollen die Singular-Formen „ein“, „eine“ und „der“, „die“, „das“ auch die Pluralformen umfassen, sofern der Kontext nicht eindeutig etwas anderes angibt. Es wird des Weiteren darauf hingewiesen, dass die Begriffe „aufweist“ und/oder „aufweisend“, wenn sie in dieser Beschreibung verwendet werden, das Vorhandensein von angegebenen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten bezeichnen, das Vorhandensein oder das Hinzufügen von einem oder mehreren anderen/weiteren Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon jedoch nicht ausschließen.
  • Die entsprechenden Strukturen, Materialien, Vorgänge und Äquivalente von allen Mitteln oder Schritten plus Funktionselementen in den nachstehenden Ansprüchen sollen jedwede Struktur, jedwedes Material oder jedweden Vorgang zur Durchführung der Funktion in Kombination mit anderen beanspruchten Elementen, wie sie im Einzelnen beansprucht sind, umfassen. Die Beschreibung der vorliegenden Erfindung erfolgte zum Zweck der Veranschaulichung und Erläuterung, sie soll jedoch nicht erschöpfend oder auf die Erfindung in der offenbarten Form beschränkt sein. Viele Modifikationen und Varianten sind für den Fachmann erkennbar, ohne vom Umfang der Erfindung abzuweichen. Die Ausführungsformen sind gewählt und beschrieben, um die Grundgedanken der Erfindung und die praktische Anwendung bestmöglich zu erklären und um anderen Fachleuten das Verständnis der Erfindung hinsichtlich verschiedener Ausführungsformen mit verschiedenen Änderungen, wie sie für die jeweilige vorgesehene Verwendung geeignet sind, zu ermöglichen.
  • Das hier vorgeschlagene erfindungsgemäße Konzept lässt sich in den folgenden Klauseln zusammenfassen:
    1. 1. Durch einen Computer ausgeführtes Verfahren für eine Wiederherstellung nach einem Absturz für verknüpfte Datenbanken, wobei die verknüpften Datenbanken eine Quellendatenbank und eine zugehörige Zieldatenbank aufweisen, wobei ausgewählte Teile vom Inhalt von Tabellen der Quellendatenbank mit jeweiligen Teilen des Inhalts der Tabellen der Zieldatenbank synchronisiert werden, und wobei ausgewählte, an ein Datenbankverwaltungssystem gerichtete Abfragen, welches die Quellendatenbank aufweist, zur Verarbeitung an ein Datenbankverwaltungssystem übertragen werden, das die Zieldatenbank aufweist, wobei das Verfahren umfasst
      • - Synchronisieren der Teile des Inhalts der ausgewählten Tabellen in der Zieldatenbank mit den Teilen des Inhalts der ausgewählten Tabellen in der Quellendatenbank, indem Einträge einer Wiederherstellungsprotokolldatei, die sich auf die Quellendatenbank bezieht, gelesen und die gelesenen Einträge auf die Zieldatenbank angewendet werden.
    2. 2. Verfahren nach Klausel 1, wobei die Quellendatenbank für Transaktionen optimiert ist.
    3. 3. Verfahren nach Klausel 2, wobei es sich bei der Quellendatenbank um eine zeilenorientierte relationale Datenbank handelt.
    4. 4. Verfahren nach einer der vorhergehenden Klauseln, wobei die Zieldatenbank für Analyseoperationen optimiert ist.
    5. 5. Verfahren nach Klausel 4, wobei es sich bei der Zieldatenbank um eine spaltenorientierte Datenbank handelt.
    6. 6. Verfahren nach Klausel 4 oder 5, wobei es sich bei der Zieldatenbank um eine speicherinterne Datenbank handelt.
    7. 7. Verfahren nach einer der vorhergehenden Klauseln, das auch umfasst
      • - Verzögern von Abfragen an die Zieldatenbank, bis, im Falle eines Absturzes der Zieldatenbank, eine Wiederherstellung der Zieldatenbank abgeschlossen ist.
    8. 8. Verfahren nach Klausel 7, wobei die Wiederherstellung der Zieldatenbank durch ein Laden von Massendaten aus der Quellendatenbank durchgeführt wird.
    9. 9. Verfahren nach Klausel 7 oder 8, wobei während der Wiederherstellung der Zieldatenbank an die Zieldatenbank gerichtete Abfragen in der Quellendatenbank ausgeführt werden.
    10. 10. Verfahren nach einer der vorhergehenden Klauseln, das auch umfasst
      • - Initialisieren der Zieldatenbank durch einen direkten Prozess des Ladens von Massendaten aus der Quellendatenbank in die Zieldatenbank.
    11. 11. Verfahren nach einer der vorhergehenden Klauseln, wobei Metadaten, welche die ausgewählten Tabellen definieren, Teil der Wiederherstellungsprotokolldatei sind.
    12. 12. Verfahren nach einer der vorhergehenden Klauseln, wobei das Zieldatenbankverwaltungssystem über kein Wiederherstellungsprotokoll verfügt.
    13. 13. Verknüpftes Datenbanksystem mit Wiederherstellung nach einem Absturz für verknüpfte Datenbanken, wobei die verknüpften Datenbanken eine Quellendatenbank und eine zugehörige Zieldatenbank aufweisen, wobei ausgewählte Teile vom Inhalt von Tabellen der Quellendatenbank mit jeweiligen Teilen des Inhalts der Tabellen der Zieldatenbank synchronisiert werden und wobei ausgewählte, an ein Datenbankverwaltungssystem gerichtete Abfragen, welches die Quellendatenbank aufweist, zur Verarbeitung an ein Datenbankverwaltungssystem übertragen werden, das die Zieldatenbank aufweist, wobei das verknüpfte Datenbanksystem aufweist
      • - einen Prozessor und einen per Datenaustausch mit dem Prozessor verbundenen Hauptspeicher, wobei der Hauptspeicher Programmcodeteile speichert, die, wenn sie ausgeführt werden, dem Prozessor ermöglichen,
      • - die Teile des Inhalts der ausgewählten Tabellen in der Zieldatenbank mit den Teilen des Inhalts der ausgewählten Tabellen in der Quellendatenbank zu synchronisieren, indem Einträge einer Wiederherstellungsprotokolldatei, die sich auf die Quellendatenbank bezieht, gelesen und die gelesenen Einträge auf die Zieldatenbank angewendet werden.
    14. 14. Verknüpftes Datenbanksystem nach Klausel 13, wobei die Quellendatenbank für Transaktionen optimiert ist.
    15. 15. Verknüpftes Datenbanksystem nach Klausel 14, wobei es sich bei der Quellendatenbank um eine zeilenorientierte relationale Datenbank handelt.
    16. 16. Verknüpftes Datenbanksystem nach einer der Klauseln 13 bis 15, wobei die Zieldatenbank für Analyseoperationen optimiert ist.
    17. 17. Verknüpftes Datenbanksystem nach Klausel 16, wobei es sich bei der Zieldatenbank um eine spaltenorientierte Datenbank handelt.
    18. 18. Verknüpftes Datenbanksystem nach Klausel 16 oder 17, wobei es sich bei der Zieldatenbank um eine speicherinterne Datenbank handelt.
    19. 19. Verknüpftes Datenbanksystem nach einer der Klauseln 13 bis 18, wobei der Hauptspeicher auch Programmcodeteile speichert, die, wenn sie ausgeführt werden, dem Prozessor ermöglichen
      • - Abfragen an die Zieldatenbank zu verzögern, bis, im Falle eines Absturzes der Zieldatenbank, eine Wiederherstellung der Zieldatenbank abgeschlossen ist.
    20. 20. Verknüpftes Datenbanksystem nach Klausel 19, wobei es sich bei der Wiederherstellung der Zieldatenbank um ein Laden von Massendaten aus der Quellendatenbank handelt.
    21. 21. Verknüpftes Datenbanksystem nach Klausel 19 oder 20, wobei der Hauptspeicher auch Programmcodeteile speichert, die, wenn sie ausgeführt werden, dem Prozessor ermöglichen,
      • - an die Zieldatenbank gerichtete Abfragen in der Quellendatenbank auszuführen, nachdem sich die Zieldatenbank im Wiederherstellungsmodus befindet.
    22. 22. Verknüpftes Datenbanksystem nach Klausel 13 oder 21, wobei der Hauptspeicher auch Programmcodeteile speichert, die, wenn sie ausgeführt werden, dem Prozessor ermöglichen,
      • - die Zieldatenbank durch einen direkten Prozess des Ladens von Massendaten aus der Quellendatenbank in die Zieldatenbank zu initialisieren.
    23. 23. Verknüpftes Datenbanksystem nach Klausel 13 oder 22, wobei Metadaten, welche die ausgewählten Tabellen definieren, Teil der Wiederherstellungsprotokolldatei sind.
    24. 24. Verknüpftes Datenbanksystem nach Klausel 13 oder 23, wobei das Zieldatenbankverwaltungssystem über kein Wiederherstellungsprotokoll verfügt.
    25. 25. Computerprogrammprodukt zur Wiederherstellung nach einem Absturz für verknüpfte Datenbanken, wobei die verknüpften Datenbanken eine Quellendatenbank und eine zugehörige Zieldatenbank aufweisen, wobei ausgewählte Teile vom Inhalt von Tabellen der Quellendatenbank mit jeweiligen Teilen des Inhalts der Tabellen der Zieldatenbank synchronisiert werden und wobei ausgewählte, an ein Datenbankverwaltungssystem gerichtete Abfragen, welches die Quellendatenbank aufweist, zur Verarbeitung an ein Datenbankverwaltungssystem übertragen werden, das die Zieldatenbank aufweist, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium mit damit verkörperten Programmanweisungen aufweist, wobei die Programmanweisungen durch ein oder mehrere Datenverarbeitungssysteme oder Controller ausführbar sind, um das eine oder die mehreren Datenverarbeitungssysteme dazu zu veranlassen,
      • - die Teile des Inhalts der ausgewählten Tabellen in der Zieldatenbank mit den Teilen des Inhalts der ausgewählten Tabellen in der Quellendatenbank zu synchronisieren, indem Einträge einer Wiederherstellungsprotokolldatei, die sich auf die Quellendatenbank bezieht, gelesen und die gelesenen Einträge auf die Zieldatenbank angewendet werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 9141670 B2 [0009]

Claims (25)

  1. Durch einen Computer ausgeführtes Verfahren zur Wiederherstellung nach einem Absturz für verknüpfte Datenbanken, wobei die verknüpften Datenbanken eine Quellendatenbank und eine zugehörige Zieldatenbank aufweisen, wobei ausgewählte Teile vom Inhalt von Tabellen der Quellendatenbank mit jeweiligen Teilen des Inhalts der Tabellen der Zieldatenbank synchronisiert werden und wobei ausgewählte, an ein Datenbankverwaltungssystem gerichtete Abfragen, welches die Quellendatenbank aufweist, zur Verarbeitung an ein Datenbankverwaltungssystem übertragen werden, das die Zieldatenbank aufweist, wobei das Verfahren umfasst: Synchronisieren der Teile des Inhalts der ausgewählten Tabellen in der Zieldatenbank mit den Teilen des Inhalts der ausgewählten Tabellen in der Quellendatenbank, indem Einträge einer Wiederherstellungsprotokolldatei, die sich auf die Quellendatenbank bezieht, gelesen und die gelesenen Einträge auf die Zieldatenbank angewendet werden.
  2. Verfahren nach Anspruch 1, wobei die Quellendatenbank für Transaktionen optimiert ist.
  3. Verfahren nach Anspruch 2, wobei es sich bei der Quellendatenbank um eine zeilenorientierte relationale Datenbank handelt.
  4. Verfahren nach Anspruch 1, wobei die Zieldatenbank für Analyseoperationen optimiert ist.
  5. Verfahren nach Anspruch 4, wobei es sich bei der Zieldatenbank um eine spaltenorientierte Datenbank handelt.
  6. Verfahren nach Anspruch 4, wobei es sich bei der Zieldatenbank um eine speicherinterne Datenbank handelt.
  7. Verfahren nach Anspruch 1, das des Weiteren umfasst: Verzögern von Abfragen an die Zieldatenbank, bis, im Falle eines Absturzes der Zieldatenbank, eine Wiederherstellung der Zieldatenbank abgeschlossen ist.
  8. Verfahren nach Anspruch 7, wobei die Wiederherstellung der Zieldatenbank durch ein Laden von Massendaten aus der Quellendatenbank durchgeführt wird.
  9. Verfahren nach Anspruch 7, wobei während der Wiederherstellung der Zieldatenbank an die Zieldatenbank gerichtete Abfragen in der Quellendatenbank ausgeführt werden.
  10. Verfahren nach Anspruch 1, das des Weiteren umfasst: Initialisieren der Zieldatenbank durch einen direkten Prozess des Ladens von Massendaten aus der Quellendatenbank in die Zieldatenbank.
  11. Verfahren nach Anspruch 1, wobei Metadaten, welche die ausgewählten Tabellen definieren, Teil der Wiederherstellungsprotokolldatei sind.
  12. Verfahren nach Anspruch 1, wobei das Zieldatenbankverwaltungssystem über kein Wiederherstellungsprotokoll verfügt.
  13. Verknüpftes Datenbanksystem mit Wiederherstellung nach einem Absturz für verknüpfte Datenbanken, wobei die verknüpften Datenbanken eine Quellendatenbank und eine zugehörige Zieldatenbank aufweisen, wobei ausgewählte Teile vom Inhalt von Tabellen der Quellendatenbank mit jeweiligen Teilen des Inhalts der Tabellen der Zieldatenbank synchronisiert werden und wobei ausgewählte, an ein Datenbankverwaltungssystem gerichtete Abfragen, welches die Quellendatenbank aufweist, zur Verarbeitung an ein Datenbankverwaltungssystem übertragen werden, das die Zieldatenbank aufweist, wobei das verknüpfte Datenbanksystem aufweist: einen Prozessor und einen per Datenaustausch mit dem Prozessor verbundenen Hauptspeicher, wobei der Hauptspeicher Programmcodeteile speichert, die, wenn sie ausgeführt werden, dem Prozessor ermöglichen: die Teile des Inhalts der ausgewählten Tabellen in der Zieldatenbank mit den Teilen des Inhalts der ausgewählten Tabellen in der Quellendatenbank zu synchronisieren, indem Einträge einer Wiederherstellungsprotokolldatei, die sich auf die Quellendatenbank bezieht, gelesen und die gelesenen Einträge auf die Zieldatenbank angewendet werden.
  14. Verknüpftes Datenbanksystem nach Anspruch 13, wobei die Quellendatenbank für Transaktionen optimiert ist.
  15. Verknüpftes Datenbanksystem nach Anspruch 14, wobei es sich bei der Quellendatenbank um ein zeilenorientiertes relationales DBMS handelt.
  16. Verknüpftes Datenbanksystem nach Anspruch 13, wobei die Zieldatenbank für Analyseoperationen optimiert ist.
  17. Verknüpftes Datenbanksystem nach Anspruch 16, wobei es sich bei der Zieldatenbank um eine spaltenorientierte Datenbank handelt.
  18. Verknüpftes Datenbanksystem nach Anspruch 16, wobei es sich bei der Zieldatenbank um eine speicherinterne Datenbank handelt.
  19. Verknüpftes Datenbanksystem nach Anspruch 13, wobei der Hauptspeicher auch Programmcodeteile speichert, die, wenn sie ausgeführt werden, dem Prozessor ermöglichen: Abfragen an die Zieldatenbank zu verzögern, bis, im Falle eines Absturzes der Zieldatenbank, eine Wiederherstellung der Zieldatenbank abgeschlossen ist.
  20. Verknüpftes Datenbanksystem nach Anspruch 19, wobei es sich bei der Wiederherstellung der Zieldatenbank um ein Laden von Massendaten aus der Quellendatenbank handelt.
  21. Verknüpftes Datenbanksystem nach Anspruch 19, wobei der Hauptspeicher auch Programmcodeteile speichert, die, wenn sie ausgeführt werden, dem Prozessor ermöglichen: an die Zieldatenbank gerichtete Abfragen in der Quellendatenbank auszuführen, nachdem sich die Zieldatenbank im Wiederherstellungsmodus befindet.
  22. Verknüpftes Datenbanksystem nach Anspruch 13, wobei der Hauptspeicher auch Programmcodeteile speichert, die, wenn sie ausgeführt werden, dem Prozessor ermöglichen: die Zieldatenbank durch einen direkten Prozess des Ladens von Massendaten aus der Quellendatenbank in die Zieldatenbank zu initialisieren.
  23. Verknüpftes Datenbanksystem nach Anspruch 13, wobei Metadaten, welche die ausgewählten Tabellen definieren, Teil der Wiederherstellungsprotokolldatei sind.
  24. Verknüpftes Datenbanksystem nach Anspruch 13, wobei das Zieldatenbankverwaltungssystem über kein Wiederherstellungsprotokoll verfügt.
  25. Computerprogrammprodukt zur Wiederherstellung nach einem Absturz für verknüpfte Datenbanken, wobei die verknüpften Datenbanken eine Quellendatenbank und eine zugehörige Zieldatenbank aufweisen, wobei ausgewählte Teile vom Inhalt von Tabellen der Quellendatenbank mit jeweiligen Teilen des Inhalts der Tabellen der Zieldatenbank synchronisiert werden und wobei ausgewählte, an ein Datenbankverwaltungssystem gerichtete Abfragen, welches die Quellendatenbank aufweist, zur Verarbeitung an ein Datenbankverwaltungssystem übertragen werden, das die Zieldatenbank aufweist, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium mit damit verkörperten Programmanweisungen aufweist, wobei die Programmanweisungen durch ein oder mehrere Datenverarbeitungssysteme oder Controller ausführbar sind, um das eine oder die mehreren Datenverarbeitungssysteme dazu zu veranlassen: die Teile des Inhalts der ausgewählten Tabellen in der Zieldatenbank mit den Teilen des Inhalts der ausgewählten Tabellen in der Quellendatenbank zu synchronisieren, indem Einträge einer Wiederherstellungsprotokolldatei, die sich auf die Quellendatenbank bezieht, gelesen und die gelesenen Einträge auf die Zieldatenbank angewendet werden.
DE112022000492.4T 2021-03-19 2022-02-16 Nicht permanente datenbank-zwischenspeicherung in einem datenbankbeschleuniger Pending DE112022000492T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US17/206,240 US11797570B2 (en) 2021-03-19 2021-03-19 Asynchronous persistency of replicated data changes in a database accelerator
US17/206,240 2021-03-19
US17/206,221 US11500733B2 (en) 2021-03-19 2021-03-19 Volatile database caching in a database accelerator
US17/206,221 2021-03-19
PCT/CN2022/076435 WO2022193893A1 (en) 2021-03-19 2022-02-16 Volatile database caching in a database accelerator

Publications (1)

Publication Number Publication Date
DE112022000492T5 true DE112022000492T5 (de) 2023-12-14

Family

ID=83321517

Family Applications (2)

Application Number Title Priority Date Filing Date
DE112022000767.2T Pending DE112022000767T5 (de) 2021-03-19 2022-02-16 Asynchrone persistenz von replizierten datenänderungen in einemdatenbankbeschleuniger
DE112022000492.4T Pending DE112022000492T5 (de) 2021-03-19 2022-02-16 Nicht permanente datenbank-zwischenspeicherung in einem datenbankbeschleuniger

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE112022000767.2T Pending DE112022000767T5 (de) 2021-03-19 2022-02-16 Asynchrone persistenz von replizierten datenänderungen in einemdatenbankbeschleuniger

Country Status (3)

Country Link
JP (2) JP2024512335A (de)
DE (2) DE112022000767T5 (de)
WO (2) WO2022193893A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9141670B2 (en) 2007-08-27 2015-09-22 Teradata Us, Inc. Methods and systems for hardware acceleration of streamed database operations and queries based on multiple hardware accelerators

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6205449B1 (en) * 1998-03-20 2001-03-20 Lucent Technologies, Inc. System and method for providing hot spare redundancy and recovery for a very large database management system
US7287043B2 (en) * 2003-08-21 2007-10-23 International Business Machines Corporation System and method for asynchronous data replication without persistence for distributed computing
US11030055B2 (en) * 2013-03-15 2021-06-08 Amazon Technologies, Inc. Fast crash recovery for distributed database systems
CN104239476B (zh) * 2014-09-04 2018-09-25 上海天脉聚源文化传媒有限公司 一种数据库同步的方法、装置及系统
CN106815275B (zh) * 2015-12-02 2020-11-27 阿里巴巴集团控股有限公司 一种通过备用数据库实现主备数据库同步的方法与设备
US10242050B2 (en) * 2015-12-23 2019-03-26 Sybase, Inc. Database caching in a database system
US10216589B2 (en) * 2016-03-02 2019-02-26 International Business Machines Corporation Smart data replication recoverer
CN108052681B (zh) * 2018-01-12 2020-05-26 毛彬 一种关系型数据库间结构化数据的同步方法及系统
US11003549B2 (en) * 2018-07-25 2021-05-11 Microsoft Technology Licensing, Llc Constant time database recovery

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9141670B2 (en) 2007-08-27 2015-09-22 Teradata Us, Inc. Methods and systems for hardware acceleration of streamed database operations and queries based on multiple hardware accelerators

Also Published As

Publication number Publication date
JP2024510137A (ja) 2024-03-06
WO2022193894A1 (en) 2022-09-22
WO2022193893A1 (en) 2022-09-22
JP2024512335A (ja) 2024-03-19
DE112022000767T5 (de) 2023-11-09

Similar Documents

Publication Publication Date Title
DE112020000749T5 (de) Indexerstellung für sich entwickelnde umfangreiche Datensätze in Hybriden Transaktions- und Analysenverarbeitungssystemen mit mehreren Mastern
DE102012216022B4 (de) Verwaltung einer Zeitpunktkopie-Beziehung für platzsparende Datenträger
DE202010018481U1 (de) Asynchroner verteilter Objekt-Upload für replizierte Assoziativspeichercluster
DE112015000218B4 (de) Verfahren, System und Computerprogramm zum Abtasten einer Mehrzahl von Speicherbereichen in einem Arbeitsspeicher nach einer spezifizierten Anzahl von Ergebnissen
DE112010004652B4 (de) Zuverlässige Replikation mit hohem Durchsatz von umgewandelten Daten in Datensystemen
DE102008015662B4 (de) Beseitigung von Daten
DE102016216843A1 (de) Verteiltes Zusammenführen von Dateien
DE112018005692T5 (de) Speichern unstrukturierter daten in einem strukturierten rahmen
DE112013000465B4 (de) Verwaltung einer fernen Datenreplikation
DE202019005716U1 (de) Nachverfolgen von Änderungen bei Datenbankdaten
DE112012000282B4 (de) Anwendungswiederherstellung in einem Dateisystem
DE112014001873T5 (de) Replikation für Hot-Standby-Online-Datenbank
DE112018004008B4 (de) Auf dateisysteminhalten beruhende sicherheit
DE112010003262B4 (de) Synchronisierung replizierter sequenzieller Zugriffsspeicherkomponenten
DE202019005715U1 (de) Nachverfolgen von zwischenzeitlichen Änderungen bei Datenbankdaten
DE202014010953U1 (de) Gruppierung von Objekten in einem verteilten Datenspeichersystem basierend auf Protokollen und Platzierungsrichtlinien
DE102013215009A1 (de) Verfahren und System zur Optimierung der Datenübertragung
DE112010004931T5 (de) Mehrphasige Wiederherstellung von Dateisystemen mit SelektiverBedarfsweiser Verfügbarkeit von Daten(
DE102013208930A1 (de) Zusammenfassen von Einträgen in einem Deduplizierungs-lndex
DE112012003695T5 (de) Aufrechterhalten mehrerer Zielkopien
DE102021125630A1 (de) Datensynchronisation in einem datenanalysesystem
DE102013201174A1 (de) Online-Überprüfung einer Standby-Datenbank in physischen Replikationsumgebungen mit Protokollversand
DE112011103367T5 (de) Replizieren von Daten
WO2002021327A2 (de) Verfahren und computerprogramm zur erzeugung von dateien für ein datenbanksystem für ein betriebswirtschaftliches anwendungsprogramm
DE112017007865T5 (de) Netzgebundener shuffle-datenspeicher

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence