DE102013216273A1 - Umwandlung von Datenbanktabellenformaten auf der Grundlage von Benutzerdatenzugriffsmustern in einer vernetzten Datenverarbeitungsumgebung - Google Patents

Umwandlung von Datenbanktabellenformaten auf der Grundlage von Benutzerdatenzugriffsmustern in einer vernetzten Datenverarbeitungsumgebung Download PDF

Info

Publication number
DE102013216273A1
DE102013216273A1 DE102013216273.1A DE102013216273A DE102013216273A1 DE 102013216273 A1 DE102013216273 A1 DE 102013216273A1 DE 102013216273 A DE102013216273 A DE 102013216273A DE 102013216273 A1 DE102013216273 A1 DE 102013216273A1
Authority
DE
Germany
Prior art keywords
database tables
database
access patterns
data
format
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.)
Ceased
Application number
DE102013216273.1A
Other languages
English (en)
Inventor
Yu Deng
Jenny S. Li
Liangzhao Zeng
Lisa Seacat Deluca
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
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102013216273A1 publication Critical patent/DE102013216273A1/de
Ceased 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • G06F16/86Mapping to a database

Abstract

Bereitgestellt wird ein Ansatz zur Umwandlung zwischen Datenbankformaten (z. B. von einem relationalen Datenbankformat in ein Hash-Tabellen- oder ein „Big Table”-Datenbankformat) auf der Grundlage von Benutzerdatenzugriffsmustern in einer vernetzten Datenverarbeitungsumgebung. Ein erster Satz von Datenbanktabellen mit einem ersten Format wird auf der Grundlage eines Satzes von Zugriffsmustern identifiziert, die in einer Computerspeichereinheit gespeichert sind. Ein zweiter Satz von Datenbanktabellen mit einem zweiten Datenbankformat, der dem ersten Satz von Datenbanktabellen entspricht, kann dann bereitgestellt werden (z. B. zugegriffen, erweitert und/oder erzeugt). Eine Zuordnung zwischen dem ersten Satz von Datenbanktabellen und dem zweiten Satz von Datenbanktabellen kann dann erstellt werden. Anschließend kann ein Spaltensatz auf der Grundlage von mindestens einer Bedingung des Satzes von Abfragen erzeugt werden. Der Spaltensatz kann dann als Schlüssel für den zweiten Satz von Datenbanktabellen verwendet werden.

Description

  • TECHNISCHES GEBIET
  • Im Allgemeinen betrifft die vorliegende Erfindung die Umwandlung von Datenbanktabellenformaten. Insbesondere betreffen Ausführungsformen der vorliegenden Erfindung die Erzeugung einer Hash-Tabelle (die auch als „Big Table” bezeichnet wird) aus einer oder mehreren relationalen Datenbanktabellen auf der Grundlage von Benutzerzugriffsmustern (z. B. Abfragen, Einfügungen, Aktualisierungen oder Löschungen) in einer vernetzten Datenverarbeitungsumgebung (z. B. einer Cloud-Computing-Umgebung).
  • HINTERGRUND
  • Die vernetzte Datenverarbeitungsumgebung (z. B. Cloud-Computing-Umgebung) ist eine Erweiterung der Vorgänger-Grid-Umgebung, wobei mehrere Grids (Gitter) und andere Datenverarbeitungsressourcen des Weiteren um eine oder mehrere zusätzliche Abstraktionsschichten erweitert werden können (z. B. eine Cloud-Schicht), wodurch ungleichartige Einheiten sich für einen Endbenutzer als ein einziger Pool von nahtlosen Ressourcen darstellen. Zu diesen Ressourcen können unter anderem Elemente wie physische oder logische Datenverarbeitungs-Engines, Server und Einheiten, Einheitenspeicher und Speichereinheiten gehören.
  • Cloud-Computing-Modelle stellen ein praktisches Tool für Anwendungs-Hosting bereit. Es kann jedoch zu Schwierigkeiten beim Anwenden der Cloud-Computing-Modelle auf Datenbankarchitekturen kommen, weil viele in Cloud-Umgebungen gehostete Datenbanken einem tabellarischen Datenbankmodell folgen. Das heißt, ein herkömmliches relationales Datenbankmodell ist möglicherweise beim Entwickeln einer Anwendung nicht anwendbar, die in einer Cloud-Umgebung gehostet werden soll. Dementsprechend fällt oft einem Benutzer/Kunden die Aufgabe zu, die Konzepte nachzuvollziehen, die mit einem tabellarischen Datenbankformat zusammenhängen. Daher wird die Umwandlung von einem relationalen Datenbankformat in ein tabellarisches Datenbankformat oft manuell ausgeführt, was zeitaufwendig und fehleranfällig sein kann.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Im Allgemeinen betreffen Ausführungsformen der vorliegenden Erfindung Ansätze für die Umwandlung zwischen Datenbankformaten (z. B. von einem relationalen Datenbankformat in ein Hash-Tabellen- oder ein „Big Table”-Datenbankformat) auf der Grundlage von Benutzerdatenzugriffsmustern (z. B. eines Satzes von Abfragen, Einfügungen, Aktualisierungen oder Löschungen) in einer vernetzten Datenverarbeitungsumgebung (z. B. einer Cloud-Computing-Umgebung). In einer typischen Ausführungsform wird ein erster Satz von Datenbanktabellen mit einem ersten Format auf der Grundlage eines Satzes von Zugriffsmustern identifiziert, die in einer Computerspeichereinheit gespeichert sind. Ein zweiter Satz von Datenbanktabellen mit einem zweiten Datenbankformat, der dem ersten Satz von Datenbanktabellen entspricht, kann dann bereitgestellt (z. B. auf ihn zugegriffen, erweitert und/oder erzeugt) werden. Eine Zuordnung zwischen dem ersten Satz von Datenbanktabellen und dem zweiten Satz von Datenbanktabellen kann dann erstellt werden. Anschließend kann ein Spaltensatz auf der Grundlage von mindestens einer Bedingung des Satzes von Zugriffsmustern erzeugt werden. Der Spaltensatz kann dann als Schlüssel für den zweiten Satz von Datenbanktabellen verwendet werden.
  • Ein erster Aspekt der vorlegenden Erfindung stellt ein durch einen Computer umgesetztes Verfahren zum Umwandeln von Datenbankformaten auf der Grundlage von Benutzerdatenzugriffsmustern in einer vernetzten Datenverarbeitungsumgebung bereit, das aufweist: Identifizieren eines ersten Satzes von Datenbanktabellen auf der Grundlage eines Satzes von Zugriffsmustern, die in einer Computerspeichereinheit gespeichert sind, wobei der erste Satz von Datenbanktabellen ein erstes Format hat, und der Satz von Zugriffsmustern einen Satz von Benutzerdatenabfragen, Einfügungen, Aktualisierungen oder Löschungen für Daten angibt, die in dem ersten Satz von Datenbanktabellen gespeichert sind; Bereitstellen eines zweiten Satzes von Datenbanktabellen mit einem zweiten Datenbankformat, der dem ersten Satz von Datenbanktabellen entspricht; Erstellen einer Zuordnung zwischen dem ersten Satz von Datenbanktabellen und dem zweiten Satz von Datenbanktabellen; und Erzeugen eines Schlüssels für den zweiten Satz von Datenbanktabellen auf der Grundlage von mindestens einer Bedingung des Satzes von Zugriffsmustern.
  • Ein zweiter Aspekt der vorliegenden Erfindung stellt ein System zum Umwandeln von Datenbankformaten auf der Grundlage von Benutzerdatenzugriffsmustern in einer vernetzten Datenverarbeitungsumgebung bereit, das aufweist: ein Speichermedium, das Anweisungen aufweist; einen Bus, der an das Speichermedium angeschlossen ist; und einen Prozessor, der an den Bus angeschlossen ist, der, wenn die Anweisungen ausgeführt werden, das System veranlasst zum: Identifizieren eines ersten Satzes von Datenbanktabellen auf der Grundlage eines Satzes von Abfragen, die in einer Computerspeichereinheit gespeichert sind, wobei der erste Satz von Datenbanktabellen ein erstes Format hat, und der Satz von Zugriffsmustern einen Satz von Benutzerdatenabfragen, Einfügungen, Aktualisierungen oder Löschungen für Daten angibt, die in dem ersten Satz von Datenbanktabellen gespeichert sind; Bereitstellen eines zweiten Satzes von Datenbanktabellen mit einem zweiten Datenbankformat, der dem ersten Satz von Datenbanktabellen entspricht; Erstellen einer Zuordnung zwischen dem ersten Satz von Datenbanktabellen und dem zweiten Satz von Datenbanktabellen; und Erzeugen eines Schlüssels für den zweiten Satz von Datenbanktabellen auf der Grundlage von mindestens einer Bedingung des Satzes von Zugriffsmustern.
  • Ein dritter Aspekt der vorliegenden Erfindung stellt ein Computerprogrammprodukt zum Umwandeln von Datenbankformaten auf der Grundlage von Benutzerdatenzugriffsmustern in einer vernetzten Datenverarbeitungsumgebung bereit, wobei das Computerprogrammprodukt ein computerlesbares Speichermedium und Programmanweisungen aufweist, die auf dem computerlesbaren Speichermedium gespeichert sind zum: identifizieren eines ersten Satzes von Datenbanktabellen auf der Grundlage eines Satzes von Zugriffsmustern, die in einer Computerspeichereinheit gespeichert sind, wobei der erste Satz von Datenbanktabellen ein erstes Format hat, und der Satz von Zugriffsmustern einen Satz von Benutzerdatenabfragen, Einfügungen, Aktualisierungen oder Löschungen für Daten angibt, die in dem ersten Satz von Datenbanktabellen gespeichert sind; Bereitstellen eines zweiten Satzes von Datenbanktabellen mit einem zweiten Datenbankformat, der dem ersten Satz von Datenbanktabellen entspricht; Erstellen einer Zuordnung zwischen dem ersten Satz von Datenbanktabellen und dem zweiten Satz von Datenbanktabellen; und Erzeugen eines Schlüssels für den zweiten Satz von Datenbanktabellen auf der Grundlage von mindestens einer Bedingung des Satzes von Zugriffsmustern.
  • Ein vierter Aspekt der vorliegenden Erfindung stellt ein Verfahren zum implementieren eines Systems zum Umwandeln von Datenbankformaten auf der Grundlage von Benutzerdatenzugriffsmustern in einer vernetzten Datenverarbeitungsumgebung bereit, das aufweist: Bereitstellen einer Computerinfrastruktur, die betriebsfähig ist zum: Identifizieren eines ersten Satzes von Datenbanktabellen auf der Grundlage eines Satzes von Zugriffsmustern, die in einer Computerspeichereinheit gespeichert sind, wobei der erste Satz von Datenbanktabellen ein erstes Format hat, und der Satz von Zugriffsmustern einen Satz von Benutzerdatenabfragen, Einfügungen, Aktualisierungen oder Löschungen für Daten angibt, die in dem ersten Satz von Datenbanktabellen gespeichert sind; Bereitstellen eines zweiten Satzes von Datenbanktabellen mit einem zweiten Datenbankformat, der dem ersten Satz von Datenbanktabellen entspricht; Erstellen einer Zuordnung zwischen dem ersten Satz von Datenbanktabellen und dem zweiten Satz von Datenbanktabellen; und Erzeugen eines Schlüssels für den zweiten Satz von Datenbanktabellen auf der Grundlage von mindestens einer Bedingung des Satzes von Zugriffsmustern.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Diese und andere Merkmale dieser Erfindung lassen sich besser aus der folgenden ausführlichen Beschreibung der verschiedenen Aspekte der Erfindung in Verbindung mit den begleitenden Zeichnungen verstehen, wobei:
  • 1 einen Cloud-Computing-Knoten gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
  • 2 eine Cloud-Computing-Umgebung gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
  • 3 Abstraktionsmodellschichten gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
  • 4 eine Systemdarstellung gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
  • 5 einen Prozess/Komponentenablaufplan gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
  • 6 einen Verfahrensablaufplan gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht.
  • Die Zeichnungen sind nicht notwendigerweise maßstabsgetreu. Die Zeichnungen sind rein schematische Darstellungen, die keine speziellen Parameter der Erfindung darstellen sollen. Die Zeichnungen sollen nur typische Ausführungsformen der Erfindung veranschaulichen und sollten deshalb nicht als den Schutzumfang der Erfindung einschränkend betrachtet werden. In den Zeichnungen stellt eine gleiche Nummerierung gleiche Elemente dar.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Veranschaulichende Ausführungsformen werden hierin im Folgenden ausführlicher unter Bezugnahme auf die begleitenden Zeichnungen beschrieben, in denen Ausführungsformen gezeigt sind. Diese Offenbarung kann jedoch in vielen verschiedenen Formen verkörpert werden und sollte nicht als auf die hierin dargelegten Ausführungsformen eingeschränkt ausgelegt werden. Diese Ausführungsformen werden stattdessen bereitgestellt, damit diese Offenbarung gründlich und vollständig ist und Fachleuten den Schutzumfang dieser Offenbarung umfassend vermittelt. In dieser Beschreibung können Details von bekannten Merkmalen und Techniken weggelassen sein, um eine unnötige Unverständlichkeit der dargestellten Ausführungsformen zu vermeiden.
  • Die hierin verwendete Terminologie dient nur zum Zweck der Beschreibung von bestimmten Ausführungsformen und ist nicht dazu gedacht, diese Offenbarung einzuschränken. Wie hierin verwendet sollen die Singularformen „ein”, „eine” und „der/die/das” auch die Pluralformen mit einschließen, es sei denn, der Kontext gibt eindeutig anderes vor. Ferner gibt die Verwendung der Begriffe „ein”, „eine” usw. keine Einschränkung einer Menge an, sondern gibt stattdessen das Vorhandensein von mindestens einem der Elemente an, auf die Bezug genommen wird. Der Begriff „Satz” soll eine Menge von mindestens einem bedeuten. Es versteht sich ferner, dass die Begriffe „weist auf” und/oder „aufweisend” oder „enthält” und/oder „enthaltend” bei Verwendung in dieser Patentschrift das Vorhandensein ausgewiesener Merkmale, Bereiche, Ganzzahlen, Schritte, Operationen, Elemente und/oder Komponenten angeben, das Vorhandensein oder die Hinzufügung von einem oder mehreren anderen Merkmalen, Bereichen, Ganzzahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon aber nicht ausschließen.
  • Ausführungsformen der vorliegenden Erfindung betreffen Ansätze für die Umwandlung zwischen Datenbankformaten (z. B. von einem relationalen Datenbankformat in ein Hash-Tabellen- oder ein „Big Table”-Datenbankformat) auf der Grundlage von Benutzerdatenzugriffsmustern (z. B. eines Satzes von Abfragen) in einer vernetzten Datenverarbeitungsumgebung (z. B. einer Cloud-Computing-Umgebung). In einer typischen Ausführungsform wird ein erster Satz von Datenbanktabellen mit einem ersten Format auf der Grundlage eines Satzes von Zugriffsmustern identifiziert, die in einer Computerspeichereinheit gespeichert sind. Ein zweiter Satz von Datenbanktabellen mit einem zweiten Datenbankformat, der dem ersten Satz von Datenbanktabellen entspricht, kann dann bereitgestellt (z. B. zugegriffen, erweitert und/oder erzeugt) werden. Eine Zuordnung zwischen dem ersten Satz von Datenbanktabellen und dem zweiten Satz von Datenbanktabellen kann dann erstellt werden. Anschließend kann ein Spaltensatz auf der Grundlage von mindestens einer Bedingung des Satzes von Zugriffsmustern erzeugt werden. Der Spaltensatz kann dann als Schlüssel für den zweiten Satz von Datenbanktabellen verwendet werden.
  • Im Allgemeinen ordnet ein Hash-Tabellen- oder ein „Big Table”-Datenbankformat zwei beliebige Zeichenfolgenwerte (z. B. einen Zeilenschlüssel und einen Spaltenschlüssel) und eine Zeitmarke (also eine dreidimensionale Zuordnung) in einem zugehörigen beliebigen Byte-Array zu. Das Big-Table-Format kann als eine dünn besetzte, verteilte mehrdimensionale Sortierzuordnung definiert werden. Ein Big-Table-Format ist allgemein so ausgelegt, dass es übergreifend über ein hohes Volumen von Maschinen skaliert werden kann und das Hinzufügen weiterer Maschinen ohne nennenswerte Neukonfiguration praktischer gestaltet wird. Jede Tabelle kann mehrere Dimensionen haben (von denen z. B. eine ein Feld für die Zeit ist, um eine Versionssteuerung und „Garbage”-Collection (eine Sammlung von fehlerhaften Daten) zu gestatten. Tabellen können für verschiedene Dateisysteme optimiert werden, indem sie in mehrere Kleintabellen (tablets) aufgeteilt werden (z. B. können Segmente der Tabellen entlang einer ausgewählten Zeile aufgeteilt werden, so dass die Kleintabelle eine gewisse Größe aufweist (z. B. ungefähr 200 Megabyte).
  • Wenn Tabellengrößen ein Potenzial aufweisen, über eine angegebene Grenze hinaus anzuwachsen, können die Kleintabellen unter Verwendung verschiedener Algorithmen komprimiert werden (z. B. BMDiff, dem Zippy-Komprimierungsalgorithmus (unter Open Source als Snappy)). Speicherorte in Kleintabellen können als Datenbankeinträge in mehreren speziellen Kleintabellen aufgezeichnet werden, die als „META1”-Kleintabellen bezeichnet werden. META1-Kleintabellen können durch Abfragen einer „META0”-Kleintabelle gefunden werden, die typischerweise auf einem eigenen Server resident ist, da sie oft von Clients in Bezug auf die „META1”-Kleintabelle abgefragt werden kann. In diesem Sinne ist der META0-Server im Allgemeinen kein Engpass, da die Prozessorzeit und die Bandbreite, die zum Erfassen und Übertragen der META1-Speicherorte erforderlich sind, typischerweise minimal sind, und Clients Speicherorte in den Cachespeicher verschieben können, um Abfragen zu minimieren.
  • Es ist von vornherein zu verstehen, dass diese Offenbarung zwar eine detaillierte Beschreibung von Cloud-Computing enthält, die Umsetzung der hierin zitierten Lehren jedoch nicht auf eine Cloud-Computing-Umgebung begrenzt ist. Die Ausführungsformen der vorliegenden Erfindung können stattdessen in Verbindung mit jedem anderen Typ einer jetzt bekannten oder später entwickelten Datenverarbeitungsumgebung umgesetzt werden.
  • Cloud-Computing ist ein Modell einer Dienstleistung zum Ermöglichen eines problemlosen On-Demand-Netzwerkzugriffs (Netzzugriff bei Bedarf) auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z. B. Netzwerke, Netzbandbreite, Server, Verarbeitung, Speicherplatz, Speicher, Anwendungen, virtuelle Maschinen und Dienste), die mit minimalem Verwaltungsaufwand oder Interaktion mit einem Anbieter des Diensts rasch bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Merkmale, mindestens drei Dienstmodelle und mindestens vier Implementierungsmodelle enthalten.
  • Die Merkmale sind wie folgt:
    On-Demand-Selfservice: Ein Cloud-Benutzer kann einseitig und je nach Bedarf automatisch Datenverarbeitungsfunktionen, wie z. B. Serverzeit und Netzwerkspeicher, ohne menschliche Interaktion mit dem Anbieter des Diensts bereitstellen.
    Breiter Netzwerkzugriff: Funktionen stehen über ein Netzwerk zur Verfügung, und auf sie wird über Standardmechanismen zugegriffen, die den Einsatz über heterogene Thin Client- oder Thick Client-Plattformen unterstützen (z. B. Mobiltelefone, Laptops und PDAs).
    Ressourcen-Pooling: Die Datenverarbeitungsressourcen des Anbieters sind in einem Pool zusammengeschlossen, um unter Verwendung eines Multi-Tenant-Modells mehreren Benutzern mit unterschiedlichen physischen und virtuellen Ressourcen zu dienen, deren Zuweisung oder Zuweisungsaufhebung je nach Bedarf dynamisch erfolgt. Es herrscht insofern ein Gefühl der Standortunabhängigkeit, als der Benutzer im Allgemeinen keine Kontrolle oder Kenntnis in Bezug auf den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene anzugeben (z. B. Land, Bundesstaat oder Rechenzentrum).
    Schnelle Elastizität: Funktionen können rasch und elastisch, in einigen Fällen automatisch für eine schnelle Erweiterung bereitgestellt und für eine schnelle Reduzierung rasch freigegeben werden. Für den Benutzer scheinen die zur Bereitstellung verfügbaren Funktionen oft unbegrenzt zu sein und können jederzeit in beliebiger Menge erworben werden.
    Messtechnisch erfasster Dienst: Cloud-Systeme kontrollieren und optimieren Ressourcen automatisch durch die Nutzung einer Messfunktion auf einer Abstraktionsebene, die dem Diensttyp entspricht (z. B. Speicher, Verarbeitung, Bandbreite und aktive Benutzerkonten). Die Inanspruchnahme von Ressourcen kann überwacht, kontrolliert und gemeldet werden, was sowohl für den Anbieter als auch den Benutzer des in Anspruch genommenen Dienstes für Transparenz sorgt.
  • Es gibt folgende Dienstmodelle:
    Software as a Service (SaaS): Die für den Benutzer bereitgestellte Funktion besteht darin, die auf einer Cloud-Infrastruktur ausgeführten Anwendungen des Anbieters zu nutzen. Auf die Anwendungen kann über eine Thin Client-Schnittstelle wie beispielsweise einen Web-Browser (z. B. E-Mail auf Web-Grundlage), von verschiedenen Client-Einheiten aus zugegriffen werden. Der Benutzer verwaltet weder noch kontrolliert er die zu Grunde liegende Cloud-Infrastruktur, einschließlich Netzwerk, Server, Betriebssysteme, Speicher oder auch einzelne Anwendungsfunktionen, ausgenommen möglicherweise begrenzte benutzerspezifische Einstellungen einer Anwendungskonfiguration.
    Platform as a Service (PaaS): Die für den Benutzer bereitgestellte Funktion besteht darin, auf der Cloud-Infrastruktur vom Benutzer erstellte oder erworbene Anwendungen zu nutzen, die unter Verwendung von Programmiersprachen und Tools erstellt wurden, die von dem Anbieter unterstützt werden. Der Benutzer verwaltet weder noch kontrolliert er die zu Grunde liegende Cloud-Infrastruktur, einschließlich Netzwerke, Server, Betriebssysteme oder Speicher, aber er hat die Kontrolle über die genutzten Anwendungen und möglicherweise die Hosting-Umgebungskonfigurationen von Anwendungen.
    Infrastructure as a Service (IaaS): Die für den Benutzer bereitgestellte Funktion besteht in der Bereitstellung von Verarbeitung, Speicher, Netzwerken und anderen grundlegenden Datenverarbeitungsressourcen, wobei der Benutzer in der Lage ist, beliebige Software zu nutzen und auszuführen, zu der auch Betriebssysteme und Anwendungen gehören können. Der Benutzer verwaltet weder noch kontrolliert er die zu Grunde liegende Cloud-Infrastruktur, aber er hat die Kontrolle über Betriebssysteme, Speicher, genutzte Anwendungen und möglicherweise eine begrenzte Kontrolle über ausgewählte Netzwerkkomponenten (z. B. Host-Firewalls).
  • Es gibt folgende Implementierungsmodelle:
    Private Cloud: Die Cloud-Infrastruktur wird ausschließlich für eine Organisation betrieben. Sie kann von der Organisation oder einer Drittpartei verwaltet werden und kann innerhalb oder außerhalb der Geschäftsräume vorhanden sein.
    Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Community, die gemeinsame Problemstellungen hat (z. B. Berücksichtigung von Zielsetzung, Sicherheitsanforderungen, Richtlinien und Konformität). Sie kann von den Organisationen oder einer Drittpartei verwaltet werden und kann innerhalb oder außerhalb der Geschäftsräume vorhanden sein.
    Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und ist im Besitz einer Organisation, die Cloud-Dienste verkauft.
    Hybrid Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung von zwei oder mehr Clouds (Private, Community oder Public), die eindeutige Entitäten bleiben, aber durch eine standardisierte oder proprietäre Technologie vereinigt sind, die eine Daten- und Anwendungsportabilität ermöglicht (z. B. Cloud Bursting für einen Lastausgleich zwischen Clouds).
  • Eine Cloud-Datenverarbeitungsumgebung ist dienstorientiert mit Schwerpunkt auf Staatenungebundenheit, niedriger Kopplung, Modularität und semantischer Interoperabilität. Das Kernstück des Cloud Computing ist eine Infrastruktur, die ein Netzwerk von miteinander verbundenen Knoten aufweist.
  • Unter Bezugnahme auf 1 wird eine schematische Darstellung eines Beispiels für einen Cloud-Computing-Knoten gezeigt. Der Cloud-Computing-Knoten 10 ist nur ein Beispiel für einen geeigneten Cloud-Computing-Knoten und soll keinerlei Einschränkung in Bezug auf den Schutzumfang der Verwendung oder Funktionalität der Ausführungsformen der hierin beschriebenen Erfindung andeuten. Ungeachtet dessen lässt sich der Cloud-Computing-Knoten 10 umsetzen und/oder kann jede der im Vorgenannten erläuterten Funktionalitäten ausführen.
  • Im Cloud-Computing-Knoten 10 ist ein Computersystem/Server 12 vorhanden, das bzw. der mit zahlreichen anderen Umgebungen oder Konfigurationen für Universal- oder Sonder-Datenverarbeitungssysteme betriebsfähig ist. Zu Beispielen für bekannte Datenverarbeitungssysteme, Umgebungen und/oder Konfigurationen, die für eine Verwendung mit dem Computersystem/Server 12 geeignet sein können, zählen PC-Systeme, Servercomputersysteme, Thin Clients, Thick Clients, Handheld- oder Laptop-Einheiten, Multiprozessorsysteme, Systeme auf der Grundlage von Mikroprozessoren, Set-Top-Boxen, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputersysteme, Mainframe-Computersysteme und verteilte Cloud-Computing-Umgebungen, die beliebige der oben genannten Systeme oder Einheiten und dergleichen aufweisen, sie sind aber nicht darauf beschränkt.
  • Das Computersystem/der Server 12 kann in dem allgemeinen Kontext von durch ein Computersystem ausführbaren Anweisungen beschrieben werden, wie beispielsweise Programmmodule, die von einem Computersystem ausgeführt werden. Im Allgemeinen können Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen usw. enthalten, die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen umsetzen. Das Computersystem/der Server 12 kann in verteilten Cloud-Computing-Umgebungen betrieben werden, wobei Aufgaben von entfernt angeordneten Verarbeitungseinheiten ausgeführt werden, die über ein Datenübertragungsnetzwerk verbunden sind. In einer verteilten Cloud-Computing-Umgebung können Programmmodule sich sowohl in lokalen als auch entfernt angeordneten Computersystem-Speichermedien befinden, die Speichereinheiten enthalten.
  • Wie in 1 gezeigt, wird das Computersystem/der Server 12 in dem Cloud-Computing-Knoten 10 in der Form einer Universal-Datenverarbeitungseinheit gezeigt. Die Komponenten des Computersystems/Servers 12 können einen oder mehrere Prozessoren oder Verarbeitungseinheiten 16, einen Systemspeicher 28 und einen Bus 18 enthalten, der verschiedene Systemkomponenten einschließlich des Systemspeichers 28 an den Prozessor 16 koppelt, sie sind aber nicht darauf beschränkt.
  • Der Bus 18 stellt einen oder mehrere von mehreren beliebigen Typen von Busstrukturen dar, einschließlich eines Speicherbusses oder Speicher-Controllers, eines Peripheriebusses, eines beschleunigten Grafikanschlusses und eines Prozessors oder lokalen Busses unter Verwendung von einer aus einer Vielfalt von Busarchitekturen. Als Beispiel und nicht einschränkend enthalten derartige Architekturen einen Industry Standard Architecture-(ISA)Bus, Micro Channel Architecture-(MCA)Bus, Enhanced ISA-(EISA)Bus, einen lokalen Video Electronics Standards Association-(VESA)Bus und Peripheral Component Interconnects-(PCI)Bus.
  • Das Computersystem/der Server 12 weist typischerweise eine Vielfalt von Medien auf, die von einem Computersystem gelesen werden können. Derartige Medien können alle verfügbaren Medien sein, auf die von dem Computersystem/Server 12 zugegriffen werden kann, und sie enthalten sowohl flüchtige als auch nicht flüchtige Medien, austauschbare und nicht austauschbare Medien.
  • Der Systemspeicher 28 kann vom Computersystem lesbare Medien in Form von flüchtigem Speicher enthalten wie beispielsweise einen Direktzugriffspeicher (RAM) 30 und/oder einen Cache-Zwischenspeicher 32. Das Computersystem/der Server 12 kann ferner andere austauschbare/nicht austauschbare, flüchtige/nicht flüchtige Computersystem-Speichermedien enthalten. Nur als Beispiel kann das Speichersystem 34 für das Lesen von und das Schreiben auf nicht austauschbare, nicht flüchtige Magnetdatenträger bereitgestellt werden (nicht gezeigt und typischerweise als „Festplatte” bezeichnet). Obwohl nicht gezeigt, können ein Magnetplattenlaufwerk für das Auslesen und Beschreiben einer austauschbaren, nicht flüchtigen Magnetplatte (z. B. eine „Floppy-Disk”) und ein optisches Plattenlaufwerk für das Auslesen oder Beschreiben einer austauschbaren, nicht flüchtigen optischen Platte wie einem CD-ROM, DVD-ROM oder andere optische Medien bereitgestellt werden. In solchen Fällen können alle über eine oder mehrere Datenträgerschnittstellen mit dem Bus 18 verbunden werden. Wie ferner im Folgenden veranschaulicht und beschrieben wird, kann der Speicher 28 mindestens ein Programmprodukt mit einem Satz (z. B. mindestens einem) von Programmmodulen enthalten, die so konfiguriert sind, dass sie die Funktionen von Ausführungsformen der Erfindung ausführen.
  • Die Ausführungsformen der Erfindung können als ein computerlesbares Signalmedium umgesetzt werden, das ein verbreitetes Datensignal mit einem darin integrierten computerlesbaren Programmcode enthalten kann (z. B. im Basisband oder als Teil einer Trägerwelle). Ein derartiges verbreitetes Signal kann jede von einer Vielfalt von Formen annehmen, einschließlich elektromagnetisch, optisch oder jede geeignete Kombination davon, ist aber nicht darauf beschränkt. Ein computerlesbares Signalmedium kann jedes computerlesbare Medium sein, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Anweisungsausführung übertragen, verbreiten oder transportieren kann.
  • In einem computerlesbaren Medium verkörperter Programmcode kann unter Verwendung jedes geeigneten Mediums übertragen werden, einschließlich drahtlos, drahtgebunden, über ein Lichtwellenleiterkabel, Hochfrequenz (HF) usw. oder jede geeignete Kombination des Vorgenannten, ist aber nicht darauf beschränkt.
  • Das Programm/Dienstprogramm 40, das einen Satz von (mindestens einem) von Programmmodulen 42 aufweist, kann beispielsweise und nicht einschränkend im Speicher 28 gespeichert werden, ebenso wie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten. Das Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten oder eine Kombination davon können alle jeweils eine Umsetzung einer Netzwerkumgebung enthalten. Die Programmmodule 42 führen im Allgemeinen die Funktionen und/oder Methodologien von Ausführungsformen der Erfindung aus, wie hierin beschrieben.
  • Das Computersystem/der Server 12 kann auch mit einem oder mehreren externen Einheiten 14 Daten austauschen, wie beispielsweise einer Tastatur, einer Zeigeeinheit, einer Anzeige 24 usw.; einer oder mehreren Einheiten, die es einem Benutzer ermöglichen, mit dem Computersystem/Server 12 zu interagieren; und/oder allen Einheiten (z. B. Netzwerkkarte, Modem usw.), die es dem Computersystem/Server 12 ermöglichen, mit einer oder mehreren anderen Datenverarbeitungseinheiten Daten auszutauschen. Ein derartiger Datenaustausch kann über E/A-Schnittstellen 22 erfolgen. Außerdem kann das Computersystem/der Server 12 mit einem oder mehreren Netzwerken, wie beispielsweise einem lokalen Netz (LAN), einem allgemeinen Weitverkehrsnetz (WAN) und/oder einem öffentlichen Netzwerk (z. B. dem Internet), über den Netzwerkadapter 20 Daten austauschen. Wie dargestellt, tauscht der Netzwerkadapter 20 Daten mit den anderen Komponenten des Computersystems/Servers 12 über den Bus 18 aus. Es versteht sich, dass, obwohl nicht gezeigt, andere Hardware- und/oder Software-Komponenten in Verbindung mit dem Computersystem/Server 12 verwendet werden könnten. Beispiele dafür, ohne darauf beschränkt zu sein, sind: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Plattenlaufwerk-Arrays, RAID-Systeme, Bandlaufwerke und Speichersysteme zur Datenarchivierung usw.
  • Unter folgender Bezugnahme auf 2 wird die veranschaulichende Cloud-Computing-Umgebung 50 dargestellt. Wie gezeigt, weist die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 10 auf, mit denen lokale Datenverarbeitungseinheiten Daten austauschen können, die von Benutzern der Cloud verwendet werden, wie beispielsweise Personal Digital Assistant (PDA) oder Mobiltelefon 54A, Desktop-Computer 54B, Laptop-Computer 54C und/oder Fahrzeug-Computersystem 54N. Die Knoten 10 können untereinander Daten austauschen. Sie können (nicht gezeigt) physisch oder virtuell in einem oder mehreren Netzwerken gruppiert sein, wie beispielsweise Private, Community, Public oder Hybrid Cloud, wie hierin oben beschrieben, oder eine Kombination davon sein. Damit hat die Cloud-Computing-Umgebung 50 die Möglichkeit, eine Infrastruktur, Plattformen und/oder Software als Dienste anzubieten, für die ein Benutzer der Cloud keinerlei Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es versteht sich, dass die in 2 gezeigten Typen von Datenverarbeitungseinheiten 54A bis N nur zur Veranschaulichung dienen sollen, und dass die Cloud-Computing-Knoten 10 und die Cloud-Computing-Umgebung 50 mit jedem Typ einer computerisierten Einheit über jeden Typ von Netzwerk und/oder eine über ein Netzwerk adressierbare Verbindung (z. B. unter Verwendung eines Web-Browsers) Daten austauschen können.
  • Unter folgender Bezugnahme auf 3 ist eine Gruppe von funktionalen Abstraktionsschichten gezeigt, die von der Cloud-Computing-Umgebung 50 (2) bereitgestellt werden. Es sollte von vornherein klar sein, dass die in 3 gezeigten Komponenten, Schichten und Funktionen nur veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie dargestellt, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
    Die Hardware- und Software-Schicht 60 weist Hardware- und Software-Komponenten auf. Zu Beispielen für Hardware-Komponenten zählen Mainframes, in einem Beispiel zSeries®-Systeme von IBM® und Server auf der Grundlage einer RISC-(Reduced Instruction Set Computer)Architektur, in einem Beispiel pSeries®-Systeme von IBM, xSeries®-Systeme von IBM, BladeCenter®-Systeme von IBM, Speichereinheiten, Netzwerke und Netzwerkkomponenten. Zu Beispielen für Software-Komponenten zählt Software für Netzwerkanwendungsserver, in einem Beispiel Software für WebSphere®-Anwendungsserver von IBM und Datenbanksoftware, in einem Beispiel Software für DB2®-Datenbanken von IBM. (IBM, zSeries, pSeries, System x, BladeCenter, WebSphere und DB2 sind Marken der International Business Machines Corporation, die weltweit unter zahlreichen Gerichtsbarkeiten registriert sind.)
  • Die Virtualisierungsschicht 62 stellt eine Abstraktionsschicht bereit, von der aus die folgenden Beispiele für virtuelle Entitäten bereitgestellt werden können: virtuelle Server; virtueller Speicher; virtuelle Netzwerke, einschließlich virtueller private Netzwerke; virtuelle Anwendungen und Betriebssysteme; und virtuelle Clients.
  • In einem Beispiel kann die Verwaltungsschicht 64 die im Folgenden beschriebenen Funktionen bereitstellen. Die Ressourcenbereitstellung sorgt für die dynamische Beschaffung von Datenverarbeitungsressourcen und anderen Ressourcen, die zum Ausführen von Aufgaben innerhalb der Cloud-Computing-Umgebung eingesetzt werden. Messung und Preisbestimmung stellen beim Einsatz von Ressourcen innerhalb der Cloud-Computing-Umgebung eine Kostenverfolgung und die Abrechnung oder Rechnungsstellung für die Inanspruchnahme dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Lizenzen für Anwendungssoftware aufweisen. Die Sicherheit stellt für die Benutzer der Cloud und Aufgaben eine Identitätsüberprüfung sowie Schutz für Daten und andere Ressourcen bereit. Das Benutzerportal stellt den Zugang zu der Cloud-Computing-Umgebung für Benutzer und Systemadministratoren bereit. Die Service-Level-(Dienstgüte)Verwaltung sorgt für die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen, so dass erforderliche Service-Levels eingehalten werden. Planung und Vertragserfüllung des Service Level Agreement (SLA) (Dienstgütevereinbarung) stellen eine Vorab-Vereinbarung für und Beschaffung von Cloud-Computing-Ressourcen bereit, für die gemäß eines SLA eine zukünftige Anforderung erwartet wird. In der Verwaltungsschicht wird ferner eine Datenbankformatumwandlung gezeigt, welche die Funktionalität darstellt, die unter den Ausführungsformen der vorliegenden Erfindung bereitgestellt wird.
  • Die Arbeitslastenschicht 66 stellt Beispiele für die Funktionalität bereit, für die die Cloud-Computing-Umgebung eingesetzt werden kann. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht aus bereitgestellt werden können, zählen: Zuordnung und Navigation; Software-Entwicklung und Lifecycle-Management; Bereitstellung von virtuellen Schulungen; Datenanalyseverarbeitung; Transaktionsverarbeitung; Speicherung von Benutzerdaten und Sicherung. Wie vorher erwähnt, sind alle vorgenannten Beispiele, die unter Bezugnahme auf 3 beschrieben wurden, rein veranschaulichend, und die Erfindung ist nicht auf diese Beispiele beschränkt.
  • Es ist zu verstehen, dass alle Funktionen der vorliegenden Erfindung, wie hierin beschrieben, typischerweise durch die Funktionalität der Datenbankformatumwandlung (der Verwaltungsschicht 64, die konkret als Module von Programmcode 42 des Programms/Dienstprogramms 40 (1) verkörpert sein kann) ausgeführt werden können. Dies muss allerdings nicht der Fall sein. Die hierin zitierte Funktionalität könnte von jeder der in 3 gezeigten Schichten 60 bis 66 ausgeführt/umgesetzt und/oder ermöglicht werden.
  • Es wird wiederholt, dass, obwohl diese Offenbarung eine ausführliche Beschreibung zu Cloud-Computing enthält, die Umsetzung der hierin zitierten Lehren nicht auf eine Cloud-Computing-Umgebung begrenzt ist. Die Ausführungen der vorliegenden Erfindung sind stattdessen dazu bestimmt, mit jedem Typ einer derzeit bekannten oder zukünftig entwickelten vernetzten Datenverarbeitungsumgebung umgesetzt zu werden.
  • Wie oben angegeben, ermöglichen Ausführungsformen der vorliegenden Erfindung eine Big-Table-Erstellung auf der Grundlage eines relationalen Datenbankmodells (z. B. ausgedrückt in einer ddl- oder xml-Schemadatei) und von Datenzugriffsmustern. Im Allgemeinen nutzen die Ausführungsformen der vorliegenden Erfindung Benutzerdatenzugriffsmuster (z. B. Abfragen, Einfügungen, Aktualisierungen oder Löschungen), um Big Tables zu erstellen. Das bedeutet, dass Daten (aus Tabelle und Verbindungen), die an Abfragen, Einfügungen, Aktualisierungen oder Löschungen beteiligt sind, untersucht/analysiert und zum Konstruieren von Big Tables verwendet werden.
  • Unter folgender Bezugnahme auf 4 wird eine Systemdarstellung, welche die hierin erörterte Funktionalität beschreibt, gemäß einem Aspekt der vorliegenden Erfindung gezeigt. Es versteht sich, dass die hierin zitierten Lehren in jedem Typ von vernetzter Datenverarbeitungsumgebung 86 (z. B. einer Cloud-Computing-Umgebung 50) ausgeübt werden können. Ein Computersystem/Server 12, das bzw. der als eigenständiges Computersystem oder als vernetztes Computersystem umgesetzt werden kann, wird in 4 gezeigt. In dem Fall, dass die hierin zitierten Lehren in einer vernetzten Datenverarbeitungsumgebung 86 ausgeübt werden, muss nicht jeder Client eine Datenbankformatumwandlungs-Engine (Engine 70) haben. Stattdessen könnte die Engine 70 auf einen Server oder eine serverfähige Einheit geladen werden, die (z. B. drahtlos) mit den Clients Daten austauschen können, um dafür eine Datenbankformatumwandlung bereitzustellen. Dessen ungeachtet ist die Engine 70 wie veranschaulicht in einem Computersystem/Server 12 gezeigt. Im Allgemeinen kann die Engine 70 als Programm/Dienstprogramm 40 auf dem Computersystem 21 von 1 umgesetzt werden und kann die hierin zitierten Funktionen ermöglichen. Wie ferner gezeigt weist die Engine 70 (in einer Ausführungsform) eine Regel- und/oder Datenverarbeitungs-Engine auf, die einen Satz (mindestens einen) von Regeln/Logik 72 verarbeitet und/oder darunter eine Datenbankformatumwandlung bereitstellt.
  • In diesem Sinn kann die Engine 70 mehrere Funktionen ähnlich denen eines Universalcomputers ausführen. Insbesondere kann die Engine 70 neben anderen Funktionen (unter anderem): einen ersten Satz von Datenbanktabellen 80A bis N (z. B. in einer oder mehreren Computerspeichereinheiten 78 gespeichert) mit einem ersten Format (z. B. eine relationale Datenbank) auf der Grundlage eines Satzes von Zugriffsmustern 74A bis N identifizieren (obwohl nicht gezeigt, kann der Satz von Zugriffsmustern 74A bis N auch in einer oder mehreren Computerspeichereinheiten gespeichert werden und von dort aus der Zugriff darauf erfolgen), wobei der Satz von Zugriffsmustern 74A bis N ein Satz von Benutzerdatenabfragen, Einfügungen, Aktualisierungen und/oder Löschungen für Daten ist, die in dem ersten Satz von Datenbanktabellen 80A bis N gespeichert sind; einen zweiten Satz von Datenbanktabellen 82A bis N mit einem zweiten Datenbankformat (z. B. einem Big-Table-/Hash-Tabellen-Datenbankformat) bereitstellen, der dem ersten Satz von Datenbanktabellen 80A bis N entspricht; einen Satz von denormalisierten Tabellen aus dem ersten Satz von Datenbanktabellen 80A bis N erstellen; mindestens eine Tabelle des erstes Satzes von Datenbanktabellen 80A bis N erweitern, damit sich der zweite Satz von Datenbanktabellen 82A bis N ergibt; eine Zuordnung 76 zwischen dem ersten Satz von Datenbanktabellen 80A bis N und dem zweiten Satz von Datenbanktabellen 82A bis N erstellen; einen Schlüssel für den zweiten Satz von Datenbanktabellen auf der Grundlage von mindestens einer Bedingung des Satzes von Zugriffsmustern erzeugen; einen Spaltensatz auf der Grundlage von mindestens einer Bedingung des Satzes von Zugriffsmustern 74A bis N erzeugen; den Spaltensatz als Schlüssel für den zweiten Satz von Datenbanktabellen 82A bis N verwenden; und/oder mindestens eine Datenoperation (z. B. eine Datenlöschoperation, eine Dateneinfügeoperation usw.) in den zweiten Satz von Datenbanktabellen 82A bis N auf der Grundlage von mindestens einem von dem Schlüssel, der Zuordnung oder der mindestens einen Bedingung propagieren.
  • Unter folgender Bezugnahme auf 5 wird ein Komponentenablaufplan gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Es ist von vornherein klar, dass eine oder mehrere der in 5 gezeigten Komponenten durch oder in Verbindung mit irgendeiner der Komponenten von 1 bis 4 (z. B. Programm 40 von 1, Engine 70 und/oder Computerspeichereinheit 78 von 4) umgesetzt werden können. Dessen ungeachtet zeigt 5 wie dargestellt allgemein die folgenden Komponenten:
    Relationales Datenmodell und Zugriffsmuster 100: Ein relationales Datenmodell kann durch Datendefinitionssprache (Data Definition Language – DDL) dargestellt werden. Zugriffsmuster stellen im Allgemeinen eine oder mehrere Operationen für das relationale Datenmodell dar (z. B. Abfragen, Dateneinfügeoperationen, Datenaktualisierungsoperationen, Datenlöschoperationen usw.).
    Big-Table-Lösungsgenerator 102: Indem das relationale Datenmodell und das Zugriffsmuster als Eingabe betrachtet werden, können zwei oder mehrere Objekte erzeugt werden, wie beispielsweise: eine Cloud-Datentabellenrepository-Konfiguration und eine Hash-Tabellendefinition 104, die Big-Table-Name, Tabellenstruktur (z. B. Hash-Tabellen-Definition, Schüsseldefinition usw.) definiert; und/oder eine Datendienst-Anwendungsprogrammierschnittstellen-(API)Definition und Implementierungslogik 106 (z. B. ein Verfahren und/oder eine Logik, die das Zugriffsmuster umsetzt).
    Cloud-Datenserver 110: Durch Nutzen der Datendienst-API-Definition und Implementierungslogik 106 kann der Cloud-Datenserver 110 einen Datendienst für eine oder mehrere Client-Anwendungen 108 bereitstellen. Ein derartiger Dienst kann Operationen enthalten, die in dem Zugriffsmuster beschrieben sind.
    Cloud-Datenrepository 112: Eine Computerspeichereinheit, die Daten enthält, die Client-Anwendungen verwenden.
  • Im Allgemeinen kann der Prozess über die Komponenten von 5 ablaufen wie folgt:
    Schritt P1: Auf der Grundlage des relationalen Datenmodells und der Zugriffsmuster 100 kann der Big-Table-Lösungsgenerator 102 die Cloud-Datenrepository-Konfiguration und Hash-Tabellendefinition 104 sowie die Datendienst-API-Definition und Implementierungslogik 106 erstellen.
    Schritt P2: Die Cloud-Datenrepository-Konfiguration und Hash-Tabellendefinition 104 wird auf das Cloud-Datenrepository 112 angewendet.
    Schritt P3: Die Datendienst-API-Definition und Implementierungslogik 106 wird auf den Cloud-Datenserver 110 angewendet.
    Schritt P4: Die Client-Anwendung 108 gibt eine Datendienstanforderung über die APIs aus, die in dem Cloud-Datenserver 110 genutzt werden.
    Schritt P5: Der Cloud-Datenserver 110 ermöglicht den Zugriff auf Daten, die im Cloud-Datenrepository 112 gespeichert sind.
    Schritt P6: Das Cloud-Datenrepository 112 überträgt die angeforderten Daten zum Cloud-Datenserver 110.
    Schritt P7: Der Cloud-Datenserver 110 gibt ein Dienstanforderungsergebnis an die Client-Anwendung 108 zurück.
  • Veranschaulichendes Beispiel
  • Dieser Abschnitt beschreibt einen veranschaulichenden Algorithmus/Prozess zum Ausführen von mindestens einer Ausführungsform der vorliegenden Erfindung. Der Algorithmus verwendet die folgende Eingabe und/oder Ausgabe:
    EINGABE: ER-Modell und Zugriffsmuster (z. B. Abfragen, Einfügungen, Aktualisierungen oder Löschungen usw.)
    AUSGABE: Big-Table-Modell
  • Schritt 1:
  • FÜR jede Abfrage:
    • (1) Identifizieren der entsprechenden relationalen Tabellen auf der Grundlage der Tabellen, die in der „FROM”-Klausel angegeben sind.
    • (1.1) Wenn (IF) eine vorhandene Big Table die identifizierten relationalen Tabellen abdeckt, weiter mit Schritt (2).
    • (1.2) Wenn (IF) eine vorhandene Big Table die identifizierten relationalen Tabellen teilweise abdeckt, z. B. die Big Table/Hash-Tabelle wird aus der mit Tabelle B zusammengeführten Tabelle A gebildet, sollte die vorhandene Big Table durch die identifizierten Tabellen erweitert werden, die noch nicht abgedeckt wurden, wie beispielsweise Tabelle C.
    • (1.3) Andernfalls (OTHERWISE) eine denormalisierte Tabelle aus diesen identifizierten relationalen Tabellen erzeugen, die eine neue Big Table bilden.
  • Außerdem wird die Zuordnung zwischen jeder der identifizierten relationalen Tabellen und der aktualisierten oder neu erzeugten Big Table erstellt.
    • (2) Eine Spaltenfamilie für die Spalten erstellen, die in den angegebenen Abfragebedingungen erwähnt sind, einschließlich der Bedingungen „=”, „>”, „<”. Außerdem sind entsprechende sekundäre Indices erforderlich, um die Suchleistung sicherzustellen. Zum Beispiel sollte in einer Bedingung wie „StudentID = '001'” ein sekundärer Index in der Spalte StudentID erstellt werden.
    • (3) Die Spaltenfamilie als Schlüssel für die Big Table nutzen.
  • Es kann angemerkt werden, dass am Ende dieses Schritts, wenn einer Big Table keine relationale Datenbanktabelle zugeordnet worden ist, eine Big Table mit dieser Tabelle erstellt wird und die entsprechende Zuordnung erstellt wird.
  • Schritt 2:
  • Für (FOR) jede Löschoperation:
    • (1) Die zugeordneten Big Tables für die an der Löschoperation beteiligte relationale Tabelle identifizieren.
    • (2) Für (FOR) jede Big Table die Bedingung der Löschoperation prüfen
    • (2.1) Wenn (IF) der Schlüssel für den Zugriff auf die Big Table die laufende Bedingung unterstützen kann, weiter mit der nächsten Big Table;
    • (2.2) Andernfalls (ELSE) einen Schlüssel erstellen für den Zugriff auf die Big Table, wie oben in Schritt 1 beschrieben.
  • Es kann angemerkt werden, dass nach dem Erstellen der Zuordnung eine oder mehrere Datenoperationen eingefügt werden können wie folgt:
  • FÜR jede Einfügeoperation:
    • (1) Die zugeordneten Big Tables für die an der Einfügeoperation beteiligte relationale Tabelle identifizieren.
    • (2) Für (FOR) jede identifizierte Big Table
    • (2.1) Für (FOR) jeden Datensatz in der Big Table die Kompatibilität zwischen dem einzufügenden Datensatz und dem Datensatz der Big Table prüfen. Zum Beispiel angenommen, dass diese Big Table durch die Verbindung zwischen Tabelle A und Tabelle B gebildet wird und die Verbindungs-(Join)Bedingung A.StudentID = B.StudentID lautet. Angenommen, wir müssen in Tabelle A jetzt einen Datensatz einfügen. In diesem Fall müssen wir prüfen, ob die Spalte StudentID in dem neu eingefügten Datensatz denselben Wert hat wie das Feld StudentID in dem Big-Table-Datensatz. Wenn (IF) sie kompatibel sind, können wir einen neuen Datensatz mit dem einzufügenden Datensatz, der mit dem Rest der Felder in dem Big-Table-Datensatz verbunden ist, in die Big Table einfügen.
    • (2.2) Wenn (IF) in der Big Table kein Datensatz vorhanden ist, der mit dem einzufügenden Datensatz kompatibel ist, fügen wir einen neuen Datensatz nur mit den Feldern aus dem einzufügenden Datensatz in die Big Table ein.
  • Eine Aktualisierung kann durch eine Lösch- und einen Einfügeoperation vorgenommen werden, daher ist diese Operation dem Einfügen und Löschen ähnlich.
  • Unter folgender Bezugnahme auf 6 wird ein Verfahrensablaufplan gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. In Schritt S1 wird ein erster Satz von Datenbanktabellen mit einem ersten Format (z. B. einem relationalen Datenbankformat) auf der Grundlage eines Satzes von Benutzerzugriffsmustern, die in einer Computerspeichereinheit gespeichert sind, identifiziert (wobei z. B. der Satz von Benutzerzugriffsmustern einen Satz von Benutzerdatenabrufoperationen für Daten angibt, die in dem ersten Satz von Datenbanktabellen gespeichert sind). In Schritt S2 wird ein zweiter Satz von Datenbanktabellen mit einem zweiten Datenbankformat (z. B. Big-Table-Format) bereitgestellt, der dem ersten Satz von Datenbanktabellen entspricht. In Schritt S3 wird eine Zuordnung zwischen dem ersten Satz von Datenbanktabellen und dem zweiten Satz von Datenbanktabellen erstellt. In Schritt S4 wird ein Spaltensatz auf der Grundlage von mindestens einer Bedingung des Satzes von Benutzerzugriffsmustern erzeugt. In Schritt S5 wird der Spaltensatz als Schlüssel für den zweiten Satz von Datenbanktabellen verwendet.
  • Obwohl sie hierin als eine Lösung für eine Datenbankformatumwandlung gezeigt und beschrieben wird, versteht es sich, dass die Erfindung ferner verschiedene alternative Ausführungsformen bereitstellt. Zum Beispiel stellt die Erfindung in einer Ausführungsform ein computerlesbares/durch einen Computer verwendbares Medium bereit, das Computerprogrammcode enthält, um einer Computerinfrastruktur zu ermöglichen, eine Funktionalität für eine Datenbankformatumwandlung bereitzustellen, wie hierin erörtert. Insofern enthält das computerlesbare/durch einen Computer verwendbare Medium einen Programmcode, der jeden der verschiedenen Prozesse der Erfindung umsetzt. Es versteht sich, dass die Begriffe computerlesbares Medium oder durch einen Computer verwendbares Medium eine oder mehrere von jedem Typ von physischen Ausführungsformen des Programmcodes aufweisen. Insbesondere kann das computerlesbare/durch einen Computer verwendbare Medium einen Programmcode aufweisen, der auf einem oder mehreren tragbaren Speicherfertigungsartikeln (z. B. einer CD, einer Magnetplatte, einem Band usw.), auf einem oder mehreren Datenspeicherabschnitten einer Datenverarbeitungseinheit wie beispielsweise dem Speicher 28 (1) und/oder dem Speichersystem 34 (1) (z. B. einer Festplatte, einem Nur-Lese-Speicher, einem Direktzugriffspeicher, einem Cache-Zwischenspeicher usw.) ausgeführt sein kann.
  • In einer anderen Ausführungsform stellt die Erfindung ein Verfahren bereit, das den Prozess der Erfindung auf der Grundlage eines Abonnements, von Werbung und/oder von Gebühren ausführt. Das heißt, ein Dienstanbieter wie beispielsweise ein Lösungsintegrator könnte anbieten, eine Funktionalität für eine Datenbankformatumwandlung bereitzustellen. In diesem Fall kann der Dienstanbieter eine Computerinfrastruktur wie beispielsweise ein Computersystem 12 (1) erstellen, verwalten, unterstützen usw., das die Prozesse der Erfindung für einen oder mehrere Benutzer ausführt. Im Gegenzug kann der Dienstanbieter eine Bezahlung von dem oder den Benutzern gemäß einem Abonnement und/oder einer Gebührenvereinbarung erhalten und/oder der Dienstanbieter kann eine Bezahlung aus dem Verkauf von Werbeinhalt an eine oder mehrere dritte Parteien erhalten.
  • In einer weiteren Ausführungsform stellt die Erfindung ein durch einen Computer umgesetztes Verfahren zur Datenbankformatumwandlung bereit. In diesem Fall kann eine Computerinfrastruktur wie beispielsweise ein Computersystem 12 (1) bereitgestellt werden, und ein oder mehrere Systeme zum Ausführen der Prozesse der Erfindung können erhalten (z. B. erstellt, gekauft, verwendet, modifiziert usw.) und für die Computerinfrastruktur genutzt werden. Insofern kann die Nutzung eines Systems eines oder mehreres aufweisen von: (1) Installieren von Programmcode auf einer Datenverarbeitungseinheit wie beispielsweise einem Computersystem 12 (1) aus einem computerlesbaren Medium; (2) Hinzufügen von einer oder mehreren Datenverarbeitungseinheiten zu der Computerinfrastruktur; und (3) Integrieren und/oder Modifizieren von einem oder mehreren vorhandenen Systemen der Computerinfrastruktur, um der Computerinfrastruktur das Ausführen der Prozesse der Erfindung zu ermöglichen.
  • Wie hierin verwendet, versteht es sich, dass die Begriffe „Programmcode” und „Computerprogrammcode” synonym sind und jeden Ausdruck, in jeder Sprache, jedem Code oder jeder Schreibweise einer Gruppe von Anweisungen bedeuten, der eine Datenverarbeitungseinheit, die eine Informationsverarbeitungsfähigkeit besitzt, veranlassen soll, eine bestimmte Funktion entweder direkt oder nach einem oder beidem des Folgenden auszuführen: (a) Konvertierung in eine andere Sprache, einen anderen Code oder eine andere Schreibweise; und/oder (b) Wiedergabe in einer anderen Materialform. Insofern kann Programmcode verkörpert werden als eines oder mehreres von: einer Anwendung/einem Softwareprogramm, einer Komponenten-Software/Bibliothek von Funktionen, einem Betriebssystem, einem grundlegenden Einheitensystem/Treiber für eine bestimmte Datenverarbeitungseinheit und dergleichen.
  • Ein Datenverarbeitungssystem, das zum Speichern und/oder Ausführen von Programmcode geeignet ist, kann hierunter bereitgestellt werden und kann mindestens einen Prozessor enthalten, der für einen Datenaustausch direkt oder indirekt über einen Systembus an Speicherelemente angeschlossen ist. Die Speicherelemente können einen lokalen Speicher, der während der tatsächlichen Ausführung des Programmcodes verwendet wird, einen Massenspeicher und Cache-Zwischenspeicher enthalten, die eine vorübergehende Speicherung von mindestens einigem Programmcode bereitstellen, um die Anzahl zu verringern, wie oft Code während der Ausführung aus dem Massenspeicher abgerufen werden muss. Eingabe/Ausgabe- und/oder andere externe Einheiten (einschließlich Tastaturen, Anzeigen, Zeigeeinheiten usw., jedoch nicht darauf beschränkt) können entweder direkt oder über zwischengeschaltete Einheiten-Controller an das System angeschlossen werden.
  • Netzwerkadapter können ebenfalls an das System angeschlossen werden, damit das Datenverarbeitungssystem über eine beliebige Kombination von dazwischengeschalteten privaten oder öffentlichen Netzwerken an andere Datenverarbeitungssysteme, entfernt angeordnete Drucker, Speichereinheiten und/oder dergleichen angeschlossen werden kann. Zu veranschaulichenden Adaptern gehören Modems, Kabelmodems und Ethernet-Karten.
  • Die vorhergehende Beschreibung von verschiedenen Aspekten der Erfindung wurde zu Veranschaulichungs- und Beschreibungszwecken erstellt. Sie soll nicht erschöpfend sein oder die Erfindung genau auf die offenbarte Form einschränken, und offensichtlich sind viele Modifizierungen und Variationen möglich. Derartige Modifizierungen und Variationen, die für einen Fachmann offenkundig sein dürften, sollen in dem Schutzumfang der Erfindung enthalten sein, wie durch die begleitenden Ansprüche definiert.

Claims (10)

  1. Durch einen Computer umgesetztes Verfahren zum Umwandeln von Datenbankformaten auf der Grundlage von Benutzerdatenzugriffsmustern in einer vernetzten Datenverarbeitungsumgebung, aufweisend: Identifizieren eines ersten Satzes von Datenbanktabellen auf der Grundlage eines Satzes von Zugriffsmustern, die in einer Computerspeichereinheit gespeichert sind, wobei der erste Satz von Datenbanktabellen ein erstes Format aufweist, und der Satz von Zugriffsmustern einen Satz von Benutzerdatenabfragen, Einfügungen, Aktualisierungen oder Löschungen für Daten angibt, die in dem ersten Satz von Datenbanktabellen gespeichert sind; Bereitstellen eines zweiten Satzes von Datenbanktabellen mit einem zweiten Datenbankformat, der dem ersten Satz von Datenbanktabellen entspricht; Erstellen einer Zuordnung zwischen dem ersten Satz von Datenbanktabellen und dem zweiten Satz von Datenbanktabellen; und Erzeugen eines Schlüssels für den zweiten Satz von Datenbanktabellen auf der Grundlage von mindestens einer Bedingung des Satzes von Zugriffsmustern.
  2. Durch einen Computer umgesetztes Verfahren nach Anspruch 1, wobei das erste Format ein relationales Datenbankformat ist und das zweite Format ein Hash-Tabellenformat ist.
  3. Durch einen Computer umgesetztes Verfahren nach Anspruch 1, wobei das Erzeugen aufweist: Erzeugen eines Spaltensatzes auf der Grundlage von mindestens einer Bedingung des Satzes von Zugriffsmustern; und Verwenden des Spaltensatzes als Schlüssel für den zweiten Satz von Datenbanktabellen.
  4. Durch einen Computer umgesetztes Verfahren nach Anspruch 1, wobei das Bereitstellen ein Erzeugen eines Satzes von denormalisierten Tabellen aus dem ersten Satz von Datenbanktabellen aufweist.
  5. Durch einen Computer umgesetztes Verfahren nach Anspruch 1, wobei das Bereitstellen eine Erweiterung von mindestens einer Tabelle des ersten Satzes von Datenbanktabellen aufweist, um den zweiten Satz von Datenbanktabellen zu ergeben.
  6. Durch einen Computer umgesetztes Verfahren nach Anspruch 1, des Weiteren aufweisend ein Propagieren von mindestens einer Datenoperation auf den zweiten Satz von Datenbanktabellen auf der Grundlage von dem Schlüssel und/oder, der Zuordnung und/oder der mindestens einen Bedingung.
  7. Durch einen Computer umgesetztes Verfahren nach Anspruch 1, wobei die mindestens eine Datenoperation mindestens eine ist von: einer Datenabfrageoperation, einer Datenaktualisierungsoperation, einer Datenlöschoperation oder einer Dateneinfügeoperation.
  8. System zum Umwandeln von Datenbankformaten auf der Grundlage von Benutzerdatenzugriffsmustern in einer vernetzten Datenverarbeitungsumgebung, aufweisend: ein Speichermedium, das Anweisungen aufweist; einen an das Speichermedium angeschlossenen Bus; und einen an den Bus angeschlossenen Prozessor, der beim Ausführen der Anweisungen das System veranlasst zum: Identifizieren eines ersten Satzes von Datenbanktabellen auf der Grundlage eines Satzes von Zugriffsmustern, die in einer Computerspeichereinheit gespeichert sind, wobei der erste Satz von Datenbanktabellen ein erstes Format aufweist, und der Satz von Zugriffsmustern einen Satz von Benutzerdatenabfragen, Einfügungen, Aktualisierungen oder Löschungen für Daten angibt, die in dem ersten Satz von Datenbanktabellen gespeichert sind; Bereitstellen eines zweiten Satzes von Datenbanktabellen mit einem zweiten Datenbankformat, der dem ersten Satz von Datenbanktabellen entspricht; Erstellen einer Zuordnung zwischen dem ersten Satz von Datenbanktabellen und dem zweiten Satz von Datenbanktabellen; und Erzeugen eines Schlüssels für den zweiten Satz von Datenbanktabellen auf der Grundlage von mindestens einer Bedingung des Satzes von Zugriffsmustern.
  9. Computerprogrammprodukt zum Umwandeln von Datenbankformaten auf der Grundlage von Benutzerdatenzugriffsmustern in einer vernetzten Datenverarbeitungsumgebung, wobei das Computerprogrammprodukt ein computerlesbares Speichermedium und Programmanweisungen aufweist, die auf dem computerlesbaren Speichermedium gespeichert sind zum: Identifizieren eines ersten Satzes von Datenbanktabellen auf der Grundlage eines Satzes von Zugriffsmustern, die in einer Computerspeichereinheit gespeichert sind, wobei der erste Satz von Datenbanktabellen ein erstes Format aufweist, und der Satz von Zugriffsmustern einen Satz von Benutzerdatenabfragen, Einfügungen, Aktualisierungen oder Löschungen für Daten angibt, die in dem ersten Satz von Datenbanktabellen gespeichert sind; Bereitstellen eines zweiten Satzes von Datenbanktabellen mit einem zweiten Datenbankformat, der dem ersten Satz von Datenbanktabellen entspricht; Erstellen einer Zuordnung zwischen dem ersten Satz von Datenbanktabellen und dem zweiten Satz von Datenbanktabellen; und Erzeugen eines Schlüssels für den zweiten Satz von Datenbanktabellen auf der Grundlage von mindestens einer Bedingung des Satzes von Zugriffsmustern.
  10. Verfahren zum Nutzen eines Systems zum Umwandeln von Datenbankformaten auf der Grundlage von Benutzerdatenzugriffsmustern in einer vernetzten Datenverarbeitungsumgebung, aufweisend: Bereitstellen einer Computerinfrastruktur, die betriebsfähig ist zum: Identifizieren eines ersten Satzes von Datenbanktabellen auf der Grundlage eines Satzes von Zugriffsmustern, die in einer Computerspeichereinheit gespeichert sind, wobei der erste Satz von Datenbanktabellen ein erstes Format aufweist, und der Satz von Zugriffsmustern einen Satz von Benutzerdatenabfragen, Einfügungen, Aktualisierungen oder Löschungen für Daten angibt, die in dem ersten Satz von Datenbanktabellen gespeichert sind; Bereitstellen eines zweiten Satzes von Datenbanktabellen mit einem zweiten Datenbankformat, der denn ersten Satz von Datenbanktabellen entspricht; Erstellen einer Zuordnung zwischen dem ersten Satz von Datenbanktabellen und dem zweiten Satz von Datenbanktabellen; und Erzeugen eines Schlüssels für den zweiten Satz von Datenbanktabellen auf der Grundlage von mindestens einer Bedingung des Satzes von Zugriffsmustern.
DE102013216273.1A 2012-08-30 2013-08-16 Umwandlung von Datenbanktabellenformaten auf der Grundlage von Benutzerdatenzugriffsmustern in einer vernetzten Datenverarbeitungsumgebung Ceased DE102013216273A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/599,498 2012-08-30
US13/599,498 US9053161B2 (en) 2012-08-30 2012-08-30 Database table format conversion based on user data access patterns in a networked computing environment

Publications (1)

Publication Number Publication Date
DE102013216273A1 true DE102013216273A1 (de) 2014-03-06

Family

ID=50098640

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013216273.1A Ceased DE102013216273A1 (de) 2012-08-30 2013-08-16 Umwandlung von Datenbanktabellenformaten auf der Grundlage von Benutzerdatenzugriffsmustern in einer vernetzten Datenverarbeitungsumgebung

Country Status (3)

Country Link
US (4) US9053161B2 (de)
CN (1) CN103678442B (de)
DE (1) DE102013216273A1 (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9053161B2 (en) 2012-08-30 2015-06-09 International Business Machines Corporation Database table format conversion based on user data access patterns in a networked computing environment
US9992243B2 (en) 2012-09-17 2018-06-05 International Business Machines Corporation Video conference application for detecting conference presenters by search parameters of facial or voice features, dynamically or manually configuring presentation templates based on the search parameters and altering the templates to a slideshow
GB2507338A (en) 2012-10-26 2014-04-30 Ibm Determining system topology graph changes in a distributed computing system
WO2014082198A1 (en) * 2012-11-27 2014-06-05 Nokia Siemens Networks Oy Multiple fields parallel query method and corresponding storage organization
US20140310706A1 (en) * 2012-12-17 2014-10-16 Unisys Corporation Method for managing commodity computing
US9858052B2 (en) * 2013-03-21 2018-01-02 Razer (Asia-Pacific) Pte. Ltd. Decentralized operating system
US9329881B2 (en) 2013-04-23 2016-05-03 Sap Se Optimized deployment of data services on the cloud
CN104951462B (zh) * 2014-03-27 2018-08-03 国际商业机器公司 用于管理数据库的方法和系统
CN104461494B (zh) * 2014-10-29 2018-10-26 中国建设银行股份有限公司 一种生成数据处理工具的数据包的方法及装置
US10353916B2 (en) * 2016-03-25 2019-07-16 Bentley Systems, Incorporated Techniques for conversion of CAD descriptions
US10503603B2 (en) * 2016-03-25 2019-12-10 Bentley Systems, Incorporated Incremental data conversion using a synchronization information record
US11726979B2 (en) 2016-09-13 2023-08-15 Oracle International Corporation Determining a chronological order of transactions executed in relation to an object stored in a storage system
US10860534B2 (en) 2016-10-27 2020-12-08 Oracle International Corporation Executing a conditional command on an object stored in a storage system
US10956051B2 (en) * 2016-10-31 2021-03-23 Oracle International Corporation Data-packed storage containers for streamlined access and migration
CN107169033B (zh) * 2017-04-17 2020-03-31 东北大学 基于数据模式转换和并行框架的关系数据查询优化方法
US11204896B2 (en) * 2017-08-18 2021-12-21 International Business Machines Corporation Scalable space-time density data fusion
JP7116292B2 (ja) * 2017-09-26 2022-08-10 富士通株式会社 情報処理装置、情報処理システムおよびプログラム
US10664317B2 (en) * 2017-10-17 2020-05-26 Accenture Global Solutions Limited Distribution of tasks for execution using correlated data in microservices environments
US10809693B2 (en) * 2018-06-08 2020-10-20 The Boeing Company Manufacturing device control based on metrology data
US10977246B2 (en) * 2018-09-13 2021-04-13 Sigma Computing, Inc. Generating a database query using a dimensional hierarchy within a graphical user interface
CN109992488B (zh) * 2019-01-18 2023-01-03 珠海金山数字网络科技有限公司 一种基于MongoDB数据库的统计方法
US11514004B2 (en) * 2019-03-07 2022-11-29 Salesforce.Com, Inc. Providing a simple and flexible data access layer
EP3991055A4 (de) * 2019-06-26 2023-05-31 Pharmaccx, Inc. System und verfahren zur sicherung einer medikamententherapie
CN111198917A (zh) * 2020-01-06 2020-05-26 中国建设银行股份有限公司 数据处理方法、装置、设备及存储介质
US11354332B2 (en) * 2020-05-20 2022-06-07 Sap Se Enabling data access by external cloud-based analytics system
CN112488803A (zh) * 2020-12-16 2021-03-12 广州华多网络科技有限公司 收藏夹存储访问方法及其装置、设备、介质
CN113419776B (zh) * 2021-07-09 2022-09-13 杭州复杂美科技有限公司 应用兼容方法、计算机设备和存储介质
US11914580B2 (en) * 2021-09-30 2024-02-27 Salesforce, Inc. Mechanisms for deploying database clusters

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995004960A2 (en) 1993-08-02 1995-02-16 Persistence Software, Inc. Method and apparatus for managing relational data in an object cache
US20040027350A1 (en) * 2002-08-08 2004-02-12 Robert Kincaid Methods and system for simultaneous visualization and manipulation of multiple data types
US7158969B2 (en) * 2003-06-12 2007-01-02 International Business Machines Corporation Iterative data analysis process via query result augmentation and result data feedback
US20050171966A1 (en) 2004-01-29 2005-08-04 International Business Machines Corporation Relational to hierarchical tree data conversion technique
US7571173B2 (en) 2004-05-14 2009-08-04 Oracle International Corporation Cross-platform transportable database
US20050278277A1 (en) * 2004-05-27 2005-12-15 International Business Machines Corporation Method and apparatus for propogating tables while preserving foreign key integrity
US8077059B2 (en) 2006-07-21 2011-12-13 Eric John Davies Database adapter for relational datasets
EP2076838A4 (de) 2006-10-05 2010-03-17 Brainwave Applic Ltd Neuartige datenbank
CN100458793C (zh) * 2007-05-10 2009-02-04 浪潮集团山东通用软件有限公司 数据访问层Xml格式数据与关系数据间的映射转换方法
US7873598B2 (en) 2008-04-15 2011-01-18 Microsoft Corporation Slicing of relational databases
US20100257181A1 (en) * 2009-04-01 2010-10-07 Sybase, Inc. Dynamic Hash Table for Efficient Data Access In A Relational Database System
US8037108B1 (en) 2009-07-22 2011-10-11 Adobe Systems Incorporated Conversion of relational databases into triplestores
US8935397B2 (en) * 2010-07-01 2015-01-13 Red Hat, Inc. Dividing cloud resources
US8832130B2 (en) 2010-08-19 2014-09-09 Infosys Limited System and method for implementing on demand cloud database
US9053161B2 (en) 2012-08-30 2015-06-09 International Business Machines Corporation Database table format conversion based on user data access patterns in a networked computing environment

Also Published As

Publication number Publication date
US20150220527A1 (en) 2015-08-06
US11163739B2 (en) 2021-11-02
US20140067824A1 (en) 2014-03-06
CN103678442A (zh) 2014-03-26
US20180095961A1 (en) 2018-04-05
US9053161B2 (en) 2015-06-09
CN103678442B (zh) 2017-10-20
US10725991B2 (en) 2020-07-28
US9875265B2 (en) 2018-01-23
US20200272613A1 (en) 2020-08-27

Similar Documents

Publication Publication Date Title
DE102013216273A1 (de) Umwandlung von Datenbanktabellenformaten auf der Grundlage von Benutzerdatenzugriffsmustern in einer vernetzten Datenverarbeitungsumgebung
DE112012005037B4 (de) Verwalten von redundanten unveränderlichen Dateien unter Verwendung von Deduplizierungen in Speicher-Clouds
DE112016003120B4 (de) Umleiten einer Kopie beim Schreiben
DE112013001308T5 (de) Verwalten von mandantenspezifischen Datensätzen in einer mandantenfähigen Umgebung
DE102013205572A1 (de) Verwenden von softwarekomponenten-metadaten zum bereitstellen von virtuellen maschinen in einer vernetzten datenverarbeitungsumgebung
DE112020003820T5 (de) Erkennung von Anomalien und Abweichungen unter Verwendung eines domänenindizierten Einschränkungs-Repository
DE202016005239U1 (de) Graph-basierte Abfragen
DE112019000321T5 (de) Transaktionsoperationen in verteilten Multi-Master-Datenverwaltungssystemen
DE112016003626T5 (de) Natürlichsprachliche Schnittstelle zu Datenbanken
DE102013204186B4 (de) Ermitteln von Prioritäten für zwischengespeicherte Objekte zum Ordnen des Übertragens von Änderungen an zwischengespeicherten Objekten beruhend auf gemessener Netzwerkbandbreite
DE102016105526A1 (de) Schnelles mehrschichtiges Indexieren mit Unterstützung für dynamische Aktualisierung
DE202015009875U1 (de) Transparente Entdeckung eines semistrukturierten Datenschemas
DE102014103279A1 (de) Pivot-Facets für Text-Mining und Suche
DE112012004238T5 (de) Auf Erkennung beruhende Identifizierung und Migration von leicht in eine Cloud verlagerbaren Anwendungen
DE102016119298B4 (de) Zeitpunktkopieren mit klonen von ketten
DE202011110124U1 (de) Hybridabfrageausführungsplan
DE202012013427U1 (de) Verknüpfung von Tabellen in einem MapReduce-Verfahren
DE112019002235T5 (de) Einbinden eines wörterbuch-bearbeitungssystems in ein text mining
DE112017005588T5 (de) Speichern und abrufen von eingeschränkten datensätzen in und aus einem cloud-netzwerk mit nichteingeschränkten datensätzen
DE112021000338T5 (de) Auslagern der statistikerfassung
DE112018002955T5 (de) Kognitive datei- und objektverwaltung für verteilte speicherumgebungen
US9807169B2 (en) Distributed tagging of data in a hybrid cloud environment
DE112017005022T5 (de) Umladen der Bandverarbeitung auf Objektspeicher
DE112019000402T5 (de) Chronologisch geordnetes out-of-place-aktualisierungs-schlüssel-wert-speichersystem
DE112016000776T5 (de) Effiziente Durchführung von Einfüge- und Punktabfrage-Operationen in einem Spaltenspeicher

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R083 Amendment of/additions to inventor(s)
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final