DE102020113653A1 - Erzeugung eines retroreflektierenden verbindungsgraphen für relationsale datenbankabfragen - Google Patents

Erzeugung eines retroreflektierenden verbindungsgraphen für relationsale datenbankabfragen Download PDF

Info

Publication number
DE102020113653A1
DE102020113653A1 DE102020113653.6A DE102020113653A DE102020113653A1 DE 102020113653 A1 DE102020113653 A1 DE 102020113653A1 DE 102020113653 A DE102020113653 A DE 102020113653A DE 102020113653 A1 DE102020113653 A1 DE 102020113653A1
Authority
DE
Germany
Prior art keywords
queries
database
connection
connection graph
graphs
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
DE102020113653.6A
Other languages
English (en)
Inventor
Julian Hyde
Jonathan Swenson
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.)
Google LLC
Original Assignee
Looker Data Sciences Inc
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
Application filed by Looker Data Sciences Inc filed Critical Looker Data Sciences Inc
Publication of DE102020113653A1 publication Critical patent/DE102020113653A1/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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24558Binary matching operations
    • G06F16/2456Join operations
    • 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
    • G06F16/211Schema design and management
    • G06F16/212Schema design and management with details for data modelling support
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/06Arrangements for sorting, selecting, merging, or comparing data on individual record carriers
    • G06F7/14Merging, i.e. combining at least two sets of record carriers each arranged in the same ordered sequence to produce a single set having the same ordered sequence

Landscapes

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

Abstract

Ein Verfahren, System und Computerprogrammprodukt zur Erzeugung eines Verbindungsgraphen basierend auf einem Protokoll von zuvor ausgeführten Datenbankabfragen umfasst ein Verfahren zur Erzeugung eines Verbindungsgraphen für relationale Datenbankabfragen. Das Verfahren umfasst das Laden eines Protokolls eines Satzes von Datenbankabfragen, die zuvor in Daten in einer Datenbank ausgeführt wurden, in den Speicher eines Computers und das sequentielles Parsen jeder der Abfragen im Protokoll, um verschiedene semantisch charakterisierbare Komponenten jeder der Abfragen zu identifizieren. Das Verfahren umfasst ferner das Erzeugen eines Verbindungsgraphen für jede der Abfragen aus entsprechenden Komponenten. Schließlich umfasst das Verfahren das selektive Hinzufügen jedes der erzeugten Verbindungsgraphen zu einem Satz von Verbindungsgraphen in einem Datenmodell für die Daten in der Datenbank.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft das Gebiet der Datenbankverwaltung und insbesondere das Erzeugen eines Verbindungsgraphen für relationale Datenbankabfragen.
  • Beschreibung verwandter Technik
  • Der Begriff „Datenbank“ bezieht sich auf eine organisierte Sammlung von Daten, (auf) die mittels eines Rechensystems elektronisch gespeichert und zugegriffen wird. Ein Datenbankverwaltungssystem (DBMS) ist wiederum ein Computerprogramm, das eine Schnittstelle zwischen der Datenbank und einem oder mehreren Endanwender/n bereitstellt, um die Interaktion von jedem Endanwender mit der Datenbank zu vereinfachen. Ein DBMS bietet in der Regel auch eine Schnittstelle zu anderen Computerprogrammen, um auf die Daten in der zugrunde liegenden Datenbank zuzugreifen. Im Allgemeinen interagieren Endanwender und andere Computerprogramme durch die DBMS mit der Datenbank, indem sie Abfrageanweisungen verwenden, die in Übereinstimmung mit einer entsprechenden Abfragesprache, wie etwa der ehrwürdigen Structured Query Language (SQL), gebildet werden.
  • Während die sehr grundlegende Verwendung der SQL zur Abfrage und Verwaltung von Daten in einer Datenbank für viele Endanwender nicht sehr schwierig ist, ist die Formulierung komplexerer SQL-Abfragen anspruchsvoller. Vor allem erfordert das Spezifizieren einer Abfrage unabhängig von den Mechanismen der tatsächlichen Abfrage ein gutes Verständnis der Daten in der Datenbank und der zugrunde liegenden Beziehungen zwischen den Daten. Wenn das „Lesen“ des Inhalts einer Datenbank nicht praktikabel ist, wird bekanntermaßen eine Datenbank modelliert, sodass das erstellte Datenbankmodell dann introspektiv betrachtet werden kann, um ein tieferes Verständnis der Daten in der Datenbank zu ermöglichen. In der Tat erlauben moderne Datenanalysewerkzeuge nicht nur die Modellierung einer bestehenden Datenbank, sondern auch die Formulierung von SQL-Abfragen, die in der Datenbank ausgeführt werden können, basierend auf dem nur durch das Modell gelieferten Wissen.
  • In dieser Hinsicht ist ein Datenmodell ein abstraktes Modell, das beschreibt, wie ein Datensatz einer Datenbank organisiert ist, und die Konstruktion von Abfragen in Bezug auf die Daten des Datensatzes anleitet. Das Datenmodell enthält im Allgemeinen einen Verbindungsgraphen, dessen Scheitelpunkte jeweils auf eine Tabelle verweisen und dessen Kanten Verbindungsbedingungen zwischen Verweisen auf die Tabellen widerspiegeln. Der Verbindungsgraph kann auch die Spalten in diesen Tabellen, Spalten, die von anderen Spalten über Ausdrücke abgeleitet sind, Spaltensammlungen, nach denen Abfragen typischerweise sortiert sind, Spaltensammlungen, nach denen Abfragen typischerweise in Zwischen- und Gesamtsummen gruppiert sind, Ausdrücke, die durch Kombination von Spaltenwerten während der Konstruktion einer Zwischen- oder Gesamtsumme abgeleitet werden, und andere Vorschläge, wie Abfragen auf den Daten gebildet werden könnten, beschrieben.
  • Trotz der robusten Natur des Datenmodells reicht die Introspektion eines Datenmodells für eine Datenbank alleine jedoch nicht aus, um die Daten in der Datenbank vollständig zu verstehen. Tatsächlich sind automatisierte Datenbankmodellierungswerkzeuge im Allgemeinen nur in der Lage, ein Datenbankmodell zu erstellen, das explizit der zugrunde liegenden Datenbank zugeordnet ist, einschließlich der Abfragen, die zuvor im Modell definiert wurden und zuvor in der Datenbank über das DBMS für die Datenbank ausgeführt wurden. Es bleiben jedoch so viele implizierte Informationen unentdeckt, die sonst aus den vorhandenen Daten in der Datenbank abgeleitet werden könnten, die aber noch nicht explizit definiert wurden.
  • KURZE ZUSAMMENFASSUNG DER ERFINDUNG
  • Ausführungsformen der vorliegenden Erfindung beheben Mängel des Standes der Technik in Bezug auf die Erzeugung von Datenmodellen für eine Datenbank und stellen ein neuartiges und nicht naheliegendes Verfahren, System und Computerprogrammprodukt zur Erzeugung von Verbindungsgraphen zur Aufnahme in das Datenmodell auf der Grundlage eines Protokolls von zuvor ausgeführten Datenbankabfragen bereit. In einer Ausführungsform der Erfindung umfasst ein Verfahren zur Erzeugung eines Verbindungsgraphen für relationale Datenbankabfragen das Laden eines Protokolls eines Satzes von Datenbankabfragen, die zuvor in Daten in einer Datenbank des Datenbankverwaltungssystems ausgeführt wurden, in den Speicher eines Computers und das sequentielles Parsen jeder der Abfragen im Protokoll, um verschiedene semantisch charakterisierbare Komponenten jeder der Abfragen zu identifizieren. Das Verfahren umfasst ferner das Erzeugen eines Verbindungsgraphen für jede der Abfragen aus den entsprechenden Komponenten. Schließlich umfasst das Verfahren das selektive Hinzufügen jedes der erzeugten Verbindungsgraphen zu einem Satz von Verbindungsgraphen in einem Datenmodell für die Daten in der Datenbank.
  • In einem Aspekt der Ausführungsform wird jeder der erzeugten Verbindungsgraphen dem Satz von Verbindungsgraphen nur dann hinzugefügt, wenn ein vergleichbarer Verbindungsgraph nicht bereits in dem Satz von Verbindungsgraphen vorhanden ist, ansonsten unter der Bedingung, dass einer der erzeugten Verbindungsgraphen als vergleichbar mit einem in dem Satz vorhandenen Verbindungsgraphen befunden wird, wobei eine zusammengeführte Form des einen der erzeugten Verbindungsgraphen und des vorhandenen Verbindungsgraphen dem Satz anstelle des einen der erzeugten Verbindungsgraphen hinzugefügt wird. In einem anderen Aspekt der Ausführungsform wird jeder erzeugte Verbindungsgraph erstellt, indem die Komponenten einer entsprechenden der Abfragen mit Komponenten einer vorgespeicherten Abfrage in einem Datenspeicher von Abfragen verglichen werden, der Abfragen mit entsprechenden Tabellenbeziehungen korreliert, eine übereinstimmende vorgespeicherte Abfrage im Datenspeicher identifiziert wird und der erzeugte Verbindungsgraph als ein Join der entsprechenden Tabellenbeziehungen der übereinstimmenden vorgespeicherten Abfrage erstellt wird. In noch einem anderen Aspekt der Ausführungsform wird ein Verbindungsgraph nur dann für eine entsprechende der Abfragen erzeugt, wenn die entsprechende der Abfragen im Protokoll häufiger als eine Mindestschwellenfrequenz aufscheint.
  • In noch einem weiteren Aspekt der Ausführungsform umfasst das Verfahren ferner das Identifizieren von mindestens zwei Komponenten in der Abfrage, die auf entsprechende Spalten der Datenbank verweisen, die im Voraus so festgelegt sind, dass sie zu einer einzigen eindeutigen Spalte der Datenbank kombiniert werden können; und das Erzeugen eines Objekts im Datenmodell für die einzige eindeutige Spalte. In einem letzten Aspekt der Ausführungsform umfasst das Verfahren ferner das Identifizieren einer Spalte, auf die in den Abfragen wiederholt Bezug genommen wird, als zu einer Messung gehörend und das Erzeugen eines Objekts im Datenmodell, das eine mathematische Operation widerspiegelt, die mit Werten der identifizierten Spalte durchgeführt wurde.
  • In einer weiteren Ausführungsform der Erfindung ist ein Datenverarbeitungssystem für die Datenanalyse dazu eingerichtet, einen Verbindungsgraphen für relationale Datenbankabfragen zu erzeugen. Das System umfasst das ein Hauptrechnersystem, das einen oder mehrere Computer umfasst, wobei jeder einen Speicher und mindestens einen Prozessor umfasst, und das mit einer von einem Datenbankverwaltungssystem verwalteten Datenbank verbunden ist. Das System umfasst auch ein Modul für die Erzeugung eines Verbindungsgraphen, das im Speicher des Hauptrechnersystems ausgeführt wird. Das Modul umfasst Computerprogrammbefehle, die bei der Ausführung im Speicher des Hauptrechnersystems dazu aktiviert werden, eine Datenbankverbindung mit der Datenbank aufzubauen und ein Protokoll eines Satzes von Datenbankabfragen, die zuvor von dem Datenbankverwaltungssystem in Daten in der Datenbank ausgeführt wurden, in den Speicher zu laden. Die Programmbefehle werden ferner dazu aktiviert, jede Abfrage unter den Abfragen in dem Satz des Protokolls sequentiell zu parsen, um verschiedene semantisch charakterisierbare Komponenten der Abfrage zu identifizieren, und in einem Datenmodell der Daten aus einem Satz von bereits bestehenden Verbindungsgraphen einen bereits bestehenden Verbindungsgraphen auszuwählen, der die Komponenten der Abfrage enthält. Schließlich werden die Programmbefehle dazu aktiviert, in einer Benutzerschnittstelle des Datenbankverwaltungssystems zu veranlassen, dass der ausgewählte bereits bestehende Verbindungsgraph dem Datenmodell hinzugefügt wird und der ausgewählte bereits bestehende Verbindungsgraph dem Datenmodell hinzugefügt wird.
  • Zusätzliche Aspekte der Erfindung sind teils in der folgenden Beschreibung dargelegt und ergeben sich teils aus der Beschreibung oder nach Ausübung der Erfindung. Die Aspekte der Erfindung werden durch die in den beigefügten Ansprüchen besonders hervorgehobenen Elemente und Kombinationen realisiert und erreicht. Es versteht sich, dass sowohl die vorstehende allgemeine Beschreibung als auch die nachstehende detaillierte Beschreibung lediglich exemplarisch und erklärend sind und die beanspruchte Erfindung nicht einschränken.
  • Figurenliste
  • Die beiliegenden Figuren, die in die Beschreibung aufgenommen sind und einen Teil dieser darstellen, stellen Ausführungsformen der Erfindung dar und dienen gemeinsam mit der Beschreibung der Erklärung der erfindungsgemäßen Prinzipien. Die hier dargestellten Ausführungsformen sind aus jetziger Sicht bevorzugt, wobei es sich jedoch versteht, dass die Erfindung nicht auf die genauen Anordnungen und gezeigten Instrumente beschränkt ist, wobei:
    • 1 eine bildliche Darstellung eines Vorgangs zur Erzeugung eines Verbindungsgraphen für relationale Datenbankabfragen ist;
    • 2 eine schematische Darstellung eines Datenbankverwaltungssystems ist, das zur Erzeugung eines Verbindungsgraphen für relationale Datenbankabfragen eingerichtet ist; und
    • 3 ein Flussdiagramm ist, das den Vorgang zur Erzeugung eines Verbindungsgraphen für relationale Datenbankabfragen darstellt.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Ausführungsformen der Erfindung sehen die Erzeugung eines Verbindungsgraphen für relationale Datenbankabfragen vor. Gemäß einer Ausführungsform der Erfindung wird ein Protokoll früherer Abfragen in einer Datenbank in den Speicher eines Computers geladen. Danach wird jede Abfrage sequentiell geparst, um verschiedene semantisch charakterisierbare Komponenten der Abfrage zu identifizieren. Dann wird für jede der Abfragen ein Verbindungsgraph aus entsprechenden Komponenten erzeugt. Schließlich können für jeden der aus entsprechenden Komponenten einer geparsten Abfrage erzeugten Verbindungsgraphen die erzeugten Verbindungsgraphen selektiv einem Satz von Verbindungsgraphen in einem Datenmodell für die Daten in der Datenbank hinzugefügt werden.
  • Zur weiteren Veranschaulichung zeigt 1 bildlich einen Vorgang zur Erzeugung eines Verbindungsgraphen für relationale Datenbankabfragen. Wie in 1 zu sehen, verwaltet ein DBMS 120 Interaktionen mit Daten in einer Datenbank 110 über ein Computerkommunikationsnetzwerk 130. Eine Verbindungsgrapherzeugungslogik 160 extrahiert aus dem DBMS 120 über das Computerkommunikationsnetzwerk 130 ein Protokoll von SQL-Statements 140, wobei jedes der SQL-Statements im Protokoll 140 eine SQL-Anweisung 150A, die oft als „Verb“ bezeichnet wird, und eine oder mehrere Komponenten 150B enthält, auf die die SQL-Anweisung 150A angewendet wird - und zwar eine oder mehrere benannte Entitäten.
  • Danach verarbeitet die Verbindungsgrapherzeugungslogik 160 jedes der SQL-Statements im Protokoll 140, um einen Verbindungsgraph 170A aus den Komponenten 150B zu erzeugen. Sobald der Verbindungsgraph 170A erzeugt wurde, wird der erzeugte Verbindungsgraph 170A mit null oder mehr bereits bestehenden Verbindungsgraphen 170B in einem Datenmodell 180 für die Daten in der Datenbank 110 verglichen. Der erzeugte Verbindungsgraph 170A wird zum Beispiel dann als mit einem der vorgespeicherten Verbindungsgraphen 170B vergleichbar erachtet, wenn eine Schwellenwertanzahl von Knoten und Verbindern der beiden Verbindungsgraphen 170A, 170B identisch ist. Wenn der erzeugte Verbindungsgraph 170A mit keinem der bereits bestehenden Verbindungsgraphen 170B vergleichbar ist, wird der erzeugte Verbindungsgraph 170A dem Datenmodell 180 für die Daten der Datenbank 110 hinzugefügt.
  • Gegebenenfalls kann die Verbindungsgrapherzeugungslogik 160 zusätzlich jedes SQL-Statement in dem Protokoll 140 verarbeiten, um mindestens zwei Komponenten 150B, die auf entsprechende Spalten der Datenbank 110 verweisen, die im Voraus so festgelegt sind, dass sie zu einer einzigen eindeutigen Spalte der Datenbank 110 kombiniert werden können, zu identifizieren, um zu bewirken, dass die Verbindungsgrapherzeugungslogik 160 ein Objekt im Datenmodell 180 für die einzige eindeutige Spalte erzeugt. Als eine andere Option kann die Verbindungsgrapherzeugungslogik 160 eine Spalte, auf die in jeder der SQL-Abfragen des Protokolls 140 wiederholt Bezug genommen wird, als zu einer Messung gehörend identifizieren, um ein Objekt im Datenmodell 180 zu erzeugen, das eine mathematische Operation widerspiegelt, die mit Werten der identifizierten Spalte durchgeführt wurde.
  • Der in Verbindung mit 1 beschriebene Prozess kann in einem Datenverarbeitungssystem für die Datenanalyse implementiert sein. Zur weiteren Veranschaulichung zeigt 2 schematisch ein Datenbankverwaltungssystem, das zur Erzeugung eines Verbindungsgraphen für relationale Datenbankabfragen eingerichtet ist. Das System umfasst ein Hauptrechnersystem 250, das einen oder mehrere Prozessor/en 270, einen Speicher 260 und ein Display 280 umfasst. Das Hauptrechnersystem 250 ist mit einem entfernten Datenbankserver 210 verbunden, der die Ausführung eines DBMS 230 unterstützt, das Interaktionen mit einer Datenbank 220 verwaltet. Das System umfasst auch ein Modul 300 für die Erzeugung eines Verbindungsgraphen, das Computerprogrammbefehle enthält, die im Speicher 260 des Hauptrechnersystems 250 ausgeführt werden.
  • Die Programmbefehle des Moduls 300 für die Erzeugung eines Verbindungsgraphen sind bei Ausführung im Speicher 260 des Hauptrechnersystems so betreibbar, dass sie eine Verbindung mit dem DBMS 230 aufbauen und ein Protokoll von SQL-Statements in der Datenbank 220 abrufen, wobei jedes SQL-Statement eine oder mehrere Datenkomponente/n in der Datenbank 220, auf die eine SQL-Anweisung angewendet wird, enthält. Der Programmcode des Moduls 300 für die Erzeugung eines Verbindungsgraphen ist während der Ausführung so betreibbar, dass er jedes SQL-Statement in dem Protokoll verarbeitet, indem ein Verbindungsgraph für die Komponenten des SQL-Statement erzeugt wird und der erzeugte Verbindungsgraph mit einem Satz von in dem Speicher 260 vorgespeicherten Verbindungsgraphen 290A eines Datenmodells 290B der Daten in der Datenbank 220 verglichen wird. Der Programmcode des Moduls 300 für die Erzeugung eines Verbindungsgraphen ist ferner so betreibbar, dass er den erzeugten Verbindungsgraphen dem Modell 290B im Speicher 260 der Datenbank 220 hinzufügt, wenn sich herausstellt, dass der erzeugte Verbindungsgraph keinem der bereits im Modell 290B vorhandenen Verbindungsgraphen ähnelt.
  • In noch einer weiteren Veranschaulichung des Betriebs des Moduls 300 zur Erzeugung eines Verbindungsgraphen ist 3 ein Flussdiagramm, das einen Prozess zur Erzeugung eines Verbindungsgraphen für relationale Datenbankabfragen veranschaulicht. Beginnend in Block 305 wird eine Verbindung mit der entfernt angeordneten Datenbank aufgebaut. In Block 310 wird ein Abfrageprotokoll von einem DBMS abgerufen, das Interaktionen mit der Datenbank verwaltet. In Block 315 wird eine erste Abfrage in dem Protokoll zur Verarbeitung ausgewählt. Dazu wird die Abfrage geparst, um daraus eine oder mehrere Komponente/n zu entfernen, auf die eine SQL-Anweisung zur Anwendung kommt, die in der Abfrage enthalten ist, und um einen abstrakten Syntaxbaum (AST) für die Abfrage zu erstellen. In Block 325 befindet sich der AST im Zwischenspeicher.
  • Wenn der AST in Entscheidungsblock 330 zuvor für eine Schwellenanzahl von Malen im Zwischenspeicher aufgeschienen ist, wird in Block 345 ein Verbindungsgraph für den AST erzeugt und in Block 350 mit einem Satz von vorgespeicherten Verbindungsgraphen, die in einem Datenmodell für Daten in der Datenbank vorliegen, verglichen, indem die Knoten und Verbinder des erzeugten Verbindungsgraphen mit jenen von jedem der vorgespeicherten Verbindungsgraphen verglichen werden, um ein Schwellenmaß der Ähnlichkeit zu bestimmen oder die Ähnlichkeit zu vervollständigen. Wenn sich in Entscheidungsblock 355 herausstellt, dass der erzeugte Verbindungsgraph keinem der vorgespeicherten Verbindungsgraphen ähnelt, zum Beispiel weil der erzeugte Verbindungsgraph keine ähnlichen Tabellen enthält, die über ähnliche Beziehungen verbunden sind, dann wird in Block 365 eine Aufforderung angezeigt, den erzeugten Verbindungsgraphen dem Modell für die Datenbank hinzuzufügen. Wenn sich hingegen herausstellt, dass der erzeugte Verbindungsgraph einem vorgespeicherten Verbindungsgraphen ähnelt, wird in Block 360 der erzeugte Verbindungsgraph mit dem ähnlichen der vorgespeicherten Verbindungsgraphen zusammengeführt, um einen zusammengeführten Verbindungsgraphen zu bilden, und in Block 365 wird eine Aufforderung angezeigt, den zusammengeführten Verbindungsgraphen dem Modell für die Datenbank hinzuzufügen.
  • In beiden Fällen wiederholt sich der Prozess in Block 340 mit dem Abruf eines nächsten SQL-Statements im Protokoll, wenn in Entscheidungsblock 335 noch weitere SQL-Statements im Protokoll verarbeitet werden müssen. Wenn in Entscheidungsblock 355 keine SQL-Statements mehr im Protokoll verarbeitet werden müssen, endet der Prozess in Block 365.
  • Die vorliegende Erfindung kann in einem System, Verfahren, Computerprogrammprodukt oder jeder Kombination davon ausgeführt werden. Das Computerprogrammprodukt kann ein computerlesbares Speichermedium oder -medien umfassen, das/die computerlesbare Programmbefehle beinhaltet/beinhalten, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen. Das computerlesbare Speichermedium kann eine fassbare Vorrichtung sein, die Befehle zur Verwendung durch eine Befehlsausführungsvorrichtung behalten und speichern kann. Das computerlesbare Speichermedium kann beispielsweise - ohne darauf beschränkt zu sein - eine elektronische Speichervorrichtung, eine magnetische Speichervorrichtung, eine optische Speichervorrichtung, eine elektromagnetische Speichervorrichtung, eine Halbleiterspeichervorrichtung oder jede geeignete Kombination dieser sein.
  • Die hier beschriebenen computerlesbaren Programmbefehle können über ein Netzwerk von einem computerlesbaren Speichermedium auf entsprechende Rechner-/Verarbeitungsvorrichtungen oder auf einen externen Computer oder eine externe Speichervorrichtung heruntergeladen werden. Die computerlesbaren Programmbefehle können zur Gänze auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem Remotecomputer oder zur Gänze auf dem Remotecomputer oder Server ausgeführt werden. Aspekte der vorliegenden Erfindung werden hier mit Bezug auf Flussdiagrammdarstellungen und/oder Blockdiagramme von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Flussdiagrammdarstellungen und/oder der Blockdiagramme und Kombinationen von Blöcken in den Flussdiagrammdarstellungen und/oder den Blockdiagrammen durch computerlesbare Programmbefehle implementiert werden kann/können.
  • Diese computerlesbaren Programmbefehle können einem Prozessor eines Universalrechners, eines Computers mit besonderer Zweckbestimmung oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zur Herstellung einer Maschine bereitgestellt werden, sodass die Befehle, die über den Prozessor des Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, Mittel zur Implementierung der Funktionen/Handlungen schaffen, die im Block/in den Blöcken des Flussdiagramms und/oder Blockdiagramms festgelegt sind. Diese computerlesbaren Programmbefehle können auch in einem computerlesbaren Speichermedium gespeichert werden, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Vorrichtungen so steuern kann, dass diese auf eine bestimmte Weise arbeiten, sodass das computerlesbare Speichermedium mit darin gespeicherten Befehlen einen Fertigungsgegenstand umfasst, der Befehle beinhaltet, die Aspekte der im Block/in den Blöcken des Flussdiagramms und/oder des Blockdiagramms festgelegten Funktion/Handlung implementieren.
  • Die computerlesbaren Programmbefehle können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Vorrichtung geladen werden, um eine Reihe von auf dem Computer, der anderen programmierbaren Vorrichtung oder der anderen Vorrichtung auszuführenden Arbeitsschritten dazu zu bringen, einen computerimplementierten Prozess zu schaffen, sodass die Befehle, die auf dem Computer, der anderen programmierbaren Vorrichtung oder der anderen Vorrichtung ausgeführt werden, die im Block/in den Blöcken des Flussdiagramms und/oder des Blockdiagramms festgelegten Funktionen/Handlungen implementieren.
  • Das Flussdiagramm und die Blockdiagramme in den Figuren veranschaulichen die Architektur, Funktionalität und den Betrieb möglicher Implementierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block im Flussdiagramm oder in den Blockdiagrammen ein Modul, ein Segment oder einen Teil der Befehle darstellen, das/der einen oder mehrere ausführbare Befehl/e zur Implementierung der festgelegten logischen Funktion(en) enthält. In manchen alternativen Implementierungen können die im Block genannten Funktionen außerhalb der in den Figuren genannten Reihenfolge erfolgen. Zwei als aufeinanderfolgend dargestellte Blöcke können beispielsweise im Wesentlichen zeitgleich ausgeführt werden oder die Blöcke können manchmal in umgekehrter Reihenfolge ausgeführt werden, abhängig von der involvierten Funktionalität. Es ist außerdem zu beachten, dass jeder Block der Blockdiagramme und/oder der Flussdiagrammdarstellung sowie Kombinationen von Blöcken in den Blockdiagrammen und/oder der Flussdiagrammdarstellung durch hardwarebasierte Spezialzwecksysteme implementiert werden können, die die festgelegten Funktionen oder Handlungen ausführen oder Kombinationen von Spezialzweckhardware und Computerbefehlen durchführen.
  • Schließlich dient die hier verwendete Terminologie lediglich der Beschreibung bestimmter Ausführungsformen und soll die Erfindung in keiner Weise einschränken. Wie hier verwendet, sollen die Singularformen „ein“, „eine“ und „der/die/das“ auch die Pluralformen einschließen, sofern der Kontext nicht eindeutig auf etwas anderes hindeutet. Es versteht sich außerdem, dass die Begriffe „beinhaltet“ und/oder „beinhaltend“ bei Verwendung in dieser Beschreibung das Vorliegen von genannten Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten festlegen, ohne das Vorliegen oder Hinzufügen eines/einer oder mehrerer anderer Merkmale, ganzer Zahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon auszuschließen.
  • Die entsprechenden Strukturen, Materialien, Handlungen und Äquivalente aller Mittel oder Schritt-plus-Funktion-Elemente in den nachstehenden Ansprüchen sollen jede/s Struktur, Material oder Handlung zur Ausführung der Funktion in Kombination mit anderen beanspruchten Elementen wie spezifisch beansprucht beinhalten. Die Beschreibung der vorliegenden Erfindung wurde zu Zwecken der Veranschaulichung und Beschreibung präsentiert, soll aber nicht ausschließend oder auf die Erfindung in der offenbarten Form beschränkt sein. Fachleuten auf dem Gebiet werden sich viele Modifikationen und Änderungen erschließen, die vom Umfang und Geist der Erfindung nicht abweichen. Die Ausführungsform wurde gewählt und beschrieben, um die Prinzipien der Erfindung und die praktische Anwendung am besten zu erklären und es Fachleuten auf dem Gebiet zu ermöglichen, die Erfindung für verschiedene Ausführungsformen mit verschiedenen Modifikationen zu verstehen, die für die jeweilige vorgesehene Verwendung geeignet sind.
  • Nachdem die Erfindung der vorliegenden Anmeldung also ausführlich und unter Bezugnahme auf deren Ausführungsformen beschrieben wurde, versteht es sich, dass Modifikationen und Änderungen möglich sind, ohne vom Umfang der in den beigefügten Ansprüchen definierten Erfindung abzuweichen.

Claims (18)

  1. Verfahren zum Erzeugen eines Verbindungsgraphen für relationale Datenbankabfragen, wobei das Verfahren Folgendes umfasst: Laden eines Protokolls eines Satzes von Datenbankabfragen, die zuvor in Daten in einer Datenbank des Datenbankverwaltungssystems ausgeführt wurden, in den Speicher eines Computers; sequentielles Parsen jeder der Abfragen im Protokoll, um verschiedene semantisch charakterisierbare Komponenten jeder der Abfragen zu identifizieren; Erzeugen eines Verbindungsgraphen für jede der Abfragen aus entsprechenden Komponenten; und selektives Hinzufügen jedes der erzeugten Verbindungsgraphen zu einem Satz von Verbindungsgraphen in einem Datenmodell für die Daten in der Datenbank.
  2. Verfahren nach Anspruch 1, wobei jeder der erzeugten Verbindungsgraphen dem Satz von Verbindungsgraphen nur dann hinzugefügt wird, wenn ein vergleichbarer Verbindungsgraph nicht bereits in dem Satz von Verbindungsgraphen vorhanden ist, ansonsten unter der Bedingung, dass einer der erzeugten Verbindungsgraphen als vergleichbar mit einem in dem Satz vorhandenen Verbindungsgraphen befunden wird, wobei eine zusammengeführte Form des einen der erzeugten Verbindungsgraphen und des vorhandenen Verbindungsgraphen dem Satz anstelle des einen der erzeugten Verbindungsgraphen hinzugefügt wird.
  3. Verfahren nach Anspruch 1, wobei jeder erzeugte Verbindungsgraph erstellt wird, indem die Komponenten einer entsprechenden der Abfragen mit Komponenten einer vorgespeicherten Abfrage in einem Datenspeicher von Abfragen verglichen werden, der Abfragen mit entsprechenden Tabellenbeziehungen korreliert, eine übereinstimmende vorgespeicherte Abfrage im Datenspeicher identifiziert wird und der erzeugte Verbindungsgraph als ein Join der entsprechenden Tabellenbeziehungen der übereinstimmenden vorgespeicherten Abfrage erstellt wird.
  4. Verfahren nach Anspruch 1, wobei ein Verbindungsgraph nur dann für eine entsprechende der Abfragen erzeugt wird, wenn die entsprechende der Abfragen im Protokoll häufiger als eine Mindestschwellenfrequenz aufscheint.
  5. Verfahren nach Anspruch 1, ferner umfassend für jede der Abfragen im Protokoll: Identifizieren von mindestens zwei Komponenten in der Abfrage, die auf entsprechende Spalten der Datenbank verweisen, die im Voraus so festgelegt sind, dass sie zu einer einzigen eindeutigen Spalte der Datenbank kombiniert werden können; und Erzeugen eines Objekts im Datenmodell für die einzige eindeutige Spalte.
  6. Verfahren nach Anspruch 1, ferner umfassend für jede der Abfragen im Protokoll: Identifizieren einer Spalte, auf die in den Abfragen wiederholt Bezug genommen wird, als zu einer Messung gehörend; und Erzeugen eines Objekts im Datenmodell, das eine mathematische Operation widerspiegelt, die mit Werten der identifizierten Spalte durchgeführt wurde.
  7. Datenverarbeitungssystem für die Datenanalyse, das dazu eingerichtet ist, einen Verbindungsgraphen für relationale Datenbankabfragen zu erzeugen, wobei das System Folgendes umfasst: ein Hauptrechnersystem, das einen oder mehrere Computer umfasst, wobei jeder einen Speicher und mindestens einen Prozessor umfasst, und das mit einer von einem Datenbankverwaltungssystem verwalteten Datenbank verbunden ist; und ein Modul für die Erzeugung eines Verbindungsgraphen, das im Speicher des Hauptrechnersystems ausgeführt wird, wobei das Modul Computerprogrammbefehle umfasst, die bei der Ausführung im Speicher des Hauptrechnersystems dazu aktiviert werden, Folgendes auszuführen: Aufbauen einer Datenbankverbindung zur Datenbank; Laden eines Protokolls eines Satzes von Datenbankabfragen, die zuvor von dem Datenbankverwaltungssystem in Daten in der Datenbank ausgeführt wurden, in den Speicher; sequentielles Parsen jeder der Abfragen im Protokoll, um verschiedene semantisch charakterisierbare Komponenten jeder der Abfragen zu identifizieren; Erzeugen eines Verbindungsgraphen für jede der Abfragen aus entsprechenden Komponenten; und selektives Hinzufügen jedes der erzeugten Verbindungsgraphen zu einem Satz von Verbindungsgraphen in einem Datenmodell für die Daten in der Datenbank.
  8. System nach Anspruch 7, wobei jeder der erzeugten Verbindungsgraphen dem Satz von Verbindungsgraphen nur dann hinzugefügt wird, wenn ein vergleichbarer Verbindungsgraph nicht bereits in dem Satz von Verbindungsgraphen vorhanden ist, ansonsten unter der Bedingung, dass einer der erzeugten Verbindungsgraphen als vergleichbar mit einem in dem Satz vorhandenen Verbindungsgraphen befunden wird, wobei eine zusammengeführte Form des einen der erzeugten Verbindungsgraphen und des vorhandenen Verbindungsgraphen dem Satz anstelle des einen der erzeugten Verbindungsgraphen hinzugefügt wird.
  9. System nach Anspruch 7, wobei jeder erzeugte Verbindungsgraph erstellt wird, indem die Komponenten einer entsprechenden der Abfragen mit Komponenten einer vorgespeicherten Abfrage in einem Datenspeicher von Abfragen verglichen werden, der Abfragen mit entsprechenden Tabellenbeziehungen korreliert, eine übereinstimmende vorgespeicherte Abfrage im Datenspeicher identifiziert wird und der erzeugte Verbindungsgraph als ein Join der entsprechenden Tabellenbeziehungen der übereinstimmenden vorgespeicherten Abfrage erstellt wird.
  10. System nach Anspruch 7, wobei ein Verbindungsgraph nur dann für eine entsprechende der Abfragen erzeugt wird, wenn die entsprechende der Abfragen im Protokoll häufiger als eine Mindestschwellenfrequenz aufscheint.
  11. System nach Anspruch 7, wobei die Programmbefehle ferner aktiviert sind, um Folgendes auszuführen: Identifizieren von mindestens zwei Komponenten in der Abfrage, die auf entsprechende Spalten der Datenbank verweisen, die im Voraus so festgelegt sind, dass sie zu einer einzigen eindeutigen Spalte der Datenbank kombiniert werden können; und Erzeugen eines Objekts im Datenmodell für die einzige eindeutige Spalte.
  12. System nach Anspruch 7, wobei die Programmbefehle ferner aktiviert sind, um Folgendes auszuführen: Identifizieren einer Spalte, auf die in den Abfragen wiederholt Bezug genommen wird, als zu einer Messung gehörend; und Erzeugen eines Objekts im Datenmodell, das eine mathematische Operation widerspiegelt, die mit Werten der identifizierten Spalte durchgeführt wurde.
  13. Computerprogrammprodukt zur Erzeugung eines Verbindungsgraphen für relationale Datenbankabfragen, wobei das Computerprogrammprodukt ein computerlesbares Speichermedium mit darin enthaltenen Programmbefehlen umfasst, wobei die Programmbefehle von einer Vorrichtung ausführbar sind, um die Vorrichtung dazu zu veranlassen, ein Verfahren durchzuführen, das Folgendes umfasst: Laden eines Protokolls eines Satzes von Datenbankabfragen, die zuvor in Daten in einer Datenbank des Datenbankverwaltungssystems ausgeführt wurden, in den Speicher eines Computers; sequentielles Parsen jeder der Abfragen im Protokoll, um verschiedene semantisch charakterisierbare Komponenten jeder der Abfragen zu identifizieren; Erzeugen eines Verbindungsgraphen für jede der Abfragen aus entsprechenden Komponenten; und selektives Hinzufügen jedes der erzeugten Verbindungsgraphen zu einem Satz von Verbindungsgraphen in einem Datenmodell für die Daten in der Datenbank.
  14. Computerprogrammprodukt nach Anspruch 13, wobei jeder der erzeugten Verbindungsgraphen dem Satz von Verbindungsgraphen nur dann hinzugefügt wird, wenn ein vergleichbarer Verbindungsgraph nicht bereits in dem Satz von Verbindungsgraphen vorhanden ist, ansonsten unter der Bedingung, dass einer der erzeugten Verbindungsgraphen als vergleichbar mit einem in dem Satz vorhandenen Verbindungsgraphen befunden wird, wobei eine zusammengeführte Form des einen der erzeugten Verbindungsgraphen und des vorhandenen Verbindungsgraphen dem Satz anstelle des einen der erzeugten Verbindungsgraphen hinzugefügt wird.
  15. Computerprogrammprodukt nach Anspruch 13, wobei jeder erzeugte Verbindungsgraph erstellt wird, indem die Komponenten einer entsprechenden der Abfragen mit Komponenten einer vorgespeicherten Abfrage in einem Datenspeicher von Abfragen verglichen werden, der Abfragen mit entsprechenden Tabellenbeziehungen korreliert, eine übereinstimmende vorgespeicherte Abfrage im Datenspeicher identifiziert wird und der erzeugte Verbindungsgraph als ein Join der entsprechenden Tabellenbeziehungen der übereinstimmenden vorgespeicherten Abfrage erstellt wird.
  16. Computerprogrammprodukt nach Anspruch 13, wobei ein Verbindungsgraph nur dann für eine entsprechende der Abfragen erzeugt wird, wenn die entsprechende der Abfragen im Protokoll häufiger als eine Mindestschwellenfrequenz aufscheint.
  17. Computerprogrammprodukt nach Anspruch 13, wobei das Verfahren ferner Folgendes umfasst: Identifizieren von mindestens zwei Komponenten in der Abfrage, die auf entsprechende Spalten der Datenbank verweisen, die im Voraus so festgelegt sind, dass sie zu einer einzigen eindeutigen Spalte der Datenbank kombiniert werden können; und Erzeugen eines Objekts im Datenmodell für die einzige eindeutige Spalte.
  18. Computerprogrammprodukt nach Anspruch 13, wobei das Verfahren ferner Folgendes umfasst: Identifizieren einer Spalte, auf die in den Abfragen wiederholt Bezug genommen wird, als zu einer Messung gehörend; und Erzeugen eines Objekts im Datenmodell, das eine mathematische Operation widerspiegelt, die mit Werten der identifizierten Spalte durchgeführt wurde.
DE102020113653.6A 2019-05-20 2020-05-20 Erzeugung eines retroreflektierenden verbindungsgraphen für relationsale datenbankabfragen Pending DE102020113653A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/417,630 US11281671B2 (en) 2019-05-20 2019-05-20 Retroreflective join graph generation for relational database queries
US16/417,630 2019-05-20

Publications (1)

Publication Number Publication Date
DE102020113653A1 true DE102020113653A1 (de) 2020-11-26

Family

ID=71135313

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020113653.6A Pending DE102020113653A1 (de) 2019-05-20 2020-05-20 Erzeugung eines retroreflektierenden verbindungsgraphen für relationsale datenbankabfragen

Country Status (5)

Country Link
US (2) US11281671B2 (de)
CA (1) CA3048876C (de)
DE (1) DE102020113653A1 (de)
FR (1) FR3096477B1 (de)
GB (1) GB2585757A (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116680451A (zh) * 2023-06-07 2023-09-01 浙江邦盛科技股份有限公司 一种基于图相似度进行合并的方法、装置及存储介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU761900B2 (en) * 1998-03-27 2003-06-12 International Business Machines Corporation Processing precomputed views
US6477525B1 (en) * 1998-12-28 2002-11-05 Oracle Corporation Rewriting a query in terms of a summary based on one-to-one and one-to-many losslessness of joins
WO2005028627A2 (en) * 2003-09-19 2005-03-31 Netezza Corporation Performing sequence analysis as a relational join
US7328220B2 (en) * 2004-12-29 2008-02-05 Lucent Technologies Inc. Sketch-based multi-query processing over data streams
US8032522B2 (en) * 2006-08-25 2011-10-04 Microsoft Corporation Optimizing parameterized queries in a relational database management system
US7853603B2 (en) * 2007-05-23 2010-12-14 Microsoft Corporation User-defined relevance ranking for search
US7853604B2 (en) * 2007-07-12 2010-12-14 Oracle International Corporation Inline view query rewrite using a materialized view
US8214352B2 (en) * 2008-11-26 2012-07-03 Hewlett-Packard Development Company Modular query optimizer
US8620903B2 (en) * 2009-11-04 2013-12-31 Nec Laboratories America, Inc. Database distribution system and methods for scale-out applications
US8677376B2 (en) * 2010-09-29 2014-03-18 Microsoft Corporation Expressing equivalency relationships with identity graphs across multiple environments to create change list to be traversed to conform the environments
US9934280B2 (en) * 2011-05-13 2018-04-03 Entit Software Llc Join order restrictions
US8924373B2 (en) * 2012-08-09 2014-12-30 International Business Machines Corporation Query plans with parameter markers in place of object identifiers
US8812489B2 (en) * 2012-10-08 2014-08-19 International Business Machines Corporation Swapping expected and candidate affinities in a query plan cache
US20140108321A1 (en) * 2012-10-12 2014-04-17 International Business Machines Corporation Text-based inference chaining
US9507824B2 (en) * 2014-08-22 2016-11-29 Attivio Inc. Automated creation of join graphs for unrelated data sets among relational databases
US9703830B2 (en) * 2014-10-09 2017-07-11 International Business Machines Corporation Translation of a SPARQL query to a SQL query
WO2017023335A1 (en) * 2015-08-06 2017-02-09 Hewlett Packard Enterprise Development Lp Query path with aggregate projection
US20190005094A1 (en) * 2015-12-21 2019-01-03 University Of Utah Research Foundation Method for approximate processing of complex join queries
US10185755B2 (en) * 2015-12-28 2019-01-22 Business Objects Software Limited Orchestration of data query processing in a database system
CN108153894B (zh) * 2017-12-29 2020-08-14 上海跬智信息技术有限公司 一种olap数据模型自动建模的方法、分类器装置
US11537645B2 (en) * 2018-01-30 2022-12-27 Oracle International Corporation Building dialogue structure by using communicative discourse trees
US11500931B1 (en) * 2018-06-01 2022-11-15 Amazon Technologies, Inc. Using a graph representation of join history to distribute database data
US20210209098A1 (en) * 2018-06-15 2021-07-08 Micro Focus Llc Converting database language statements between dialects
US10713243B2 (en) * 2018-06-18 2020-07-14 Salesforce.Com, Inc. Precompiled SQL queries that allow for dynamic selection of columns

Also Published As

Publication number Publication date
US11281671B2 (en) 2022-03-22
CA3048876C (en) 2022-07-12
GB2585757A (en) 2021-01-20
US11880370B2 (en) 2024-01-23
GB202007433D0 (en) 2020-07-01
FR3096477B1 (fr) 2024-04-19
US20200372020A1 (en) 2020-11-26
CA3048876A1 (en) 2020-11-20
US20220171775A1 (en) 2022-06-02
FR3096477A1 (fr) 2020-11-27

Similar Documents

Publication Publication Date Title
DE102013221057B4 (de) System und Verfahren für Batch-Auswertungs-Programme
DE112017005638T5 (de) Systeme und Verfahren zur Bestimmung der Beziehung zwischen Datenelementen
DE202017007517U1 (de) Aggregatmerkmale für maschinelles Lernen
DE112010000947T5 (de) Verfahren zur völlig modifizierbaren Framework-Datenverteilung im Data-Warehouse unter Berücksichtigung der vorläufigen etymologischen Separation der genannten Daten
DE102013221052A1 (de) System und Verfahren für Batch-Auswertungs-Programme
DE202011110124U1 (de) Hybridabfrageausführungsplan
DE102012210794A1 (de) System und Verfahren zur Datenqualitätsüberwachung
DE102013200355A1 (de) Zusammenfügen von Dokumenten aud der Grundlage der Kenntnis eines Dokumentenschemas
DE112015002101T5 (de) Systeme und Verfahren für einen verbesserten Datenstrukturspeicher
DE102012209711A1 (de) Systeme und Verfahren zum Verwenden grafischer Darstellungen für die Verwaltung von Abfrageergebnissen
DE112012004331T5 (de) Verwenden der Stärke von Rückverfolgbarkeitsverknüpfungen zum Überwachen der Software-Entwicklungsintegrität
DE112013001735T5 (de) Optimieren des Verbindens von Anweisungen
DE112013000966T5 (de) Vorrichtung, Programm und Verfahren zum Clustern einer Vielzahl von Dokumenten
DE10056763B4 (de) Generieren von Einschränkungsabfragen mit Hilfe von Tensordarstellungen
DE60300984T2 (de) Methode und Computersystem für die Optimierung eines Boolschen Ausdrucks für Anfragebearbeitung
DE112018002626T5 (de) Verfahren und Systeme zur optimierten visuellen Zusammenfassung von Sequenzen mit zeitbezogenen Ereignisdaten
DE112020003431T5 (de) Automatisches umwandeln eines programms, das in einer prozeduralen programmiersprache geschrieben ist, in einen datenflussgraphen, sowie zugehörige systeme und verfahren
DE102020113653A1 (de) Erzeugung eines retroreflektierenden verbindungsgraphen für relationsale datenbankabfragen
DE202016008006U1 (de) Generierung von Integrationstests im Kleinen
DE102020211679A1 (de) Computer-implementiertes system und verfahren mit einem digitalen zwilling und einer graphen-basierten struktur
DE102014113693A1 (de) Verfahren und system zum laden von daten mit komplexen beziehungen
DE102022102228A1 (de) Hashen mit unterschiedlicher hash-grösse und kompressionsgrösse
DE102008048862A1 (de) Testmodul und Verfahren zum Testen einer O/R-Abbildungs-Middleware
DE202018006901U1 (de) Techniken zur dynamischen Definition eines Datensatzformats
EP0662226B1 (de) Verfahren zur bearbeitung eines anwenderprogramms auf einem parallelrechnersystem

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: GOOGLE LLC, MOUNTAIN VIEW, US

Free format text: FORMER OWNER: LOOKER DATA SCIENCES, INC., SANTA CRUZ, CA, US

R082 Change of representative

Representative=s name: MEWBURN ELLIS LLP, DE