JP6325246B2 - インメモリデータベース処理のためのシステムおよび方法 - Google Patents

インメモリデータベース処理のためのシステムおよび方法 Download PDF

Info

Publication number
JP6325246B2
JP6325246B2 JP2013258976A JP2013258976A JP6325246B2 JP 6325246 B2 JP6325246 B2 JP 6325246B2 JP 2013258976 A JP2013258976 A JP 2013258976A JP 2013258976 A JP2013258976 A JP 2013258976A JP 6325246 B2 JP6325246 B2 JP 6325246B2
Authority
JP
Japan
Prior art keywords
column
business object
data
metadata
replicated
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.)
Active
Application number
JP2013258976A
Other languages
English (en)
Other versions
JP2014120174A (ja
Inventor
コルネリア・ハッセ
ケルシュティン・ヘーフト
イェンス・リーベルム
クリスチャン・シュトーク
シュテフェン・ヴァインシュトク
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.)
SAP SE
Original Assignee
SAP SE
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 SAP SE filed Critical SAP SE
Publication of JP2014120174A publication Critical patent/JP2014120174A/ja
Application granted granted Critical
Publication of JP6325246B2 publication Critical patent/JP6325246B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • General Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Tourism & Hospitality (AREA)
  • Development Economics (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

本開示は、全体的には、データ処理に関し、具体的には、インメモリデータベース処理に関する。
ビジネスは、それらのビジネス活動で複数のビジネスプロセスアプリケーションおよび/またはサービスを使用する。アプリケーションおよび/またはサービスは、エンドユーザがある種のタスクを成し遂げるために実行し、1つまたは複数のバックエンドシステムと協働して動作することができるプログラムであってよく、1つまたは複数のバックエンドシステムは、例えば、ビジネスオブジェクトおよび他のビジネスデータなど作業することになるデータ、並びに、例えば、トランザクションなどデータを操作するロジックまたは他のビジネスロジックを格納することができる。バックエンドシステムの例は、データベースシステム、企業資源計画(「ERP」)システム、および、顧客関係管理(「CRM」)システムを含むことができる。ユーザインタフェース(「UI」)は、アプリケーションプログラムと協働するように設計されてよく、ユーザ入力を要請し、ユーザ入力に応答することによって、人間とコンピュータとの間のインタラクションを容易にする。様々なタスクを成し遂げるために、ユーザは、ユーザによって望まれる結果を達成するために様々な方法でデータを操作することができる様々なアプリケーション、タスク、エージェント、などを起動することができる。
ユーザは、販売注文、インボイスなど、様々なビジネスプロセスオブジェクトを設計および/または作成することができる。ビジネスオブジェクトは、任意の既知のコンピューティングシステムおよび言語(そのような例示的な言語の1つは、例えば、ドイツ、ヴァルドルフのSAP AGから入手可能なアドバンスドビジネスアプリケーションプログラミング(「ABAP」)高級プログラミング言語を含む)を使用して作成されてよい。このように作成されたオブジェクトは、メモリ内に、データベースなどに格納されてよい。このようなデータベースの一例は、ドイツ、ヴァルドルフのSAP AGから入手可能な列指向インメモリデータベースアプライアンスである高性能分析アプライアンス(「HANA」)を含む。作成された各オブジェクトには、作成および/または格納されたシステムに固有の特定のビューが付属する。これは、オブジェクト(例えば、テーブル)が作成され、格納されたシステムのビューが、互いに異なり、未知である可能性があることを意味する。これにより、ユーザは、オブジェクトが作成されたシステム内でアクセス可能である可能性がある記憶システム内のビジネスオブジェクトにアクセスできない可能性があり、逆もまた同様である。このように、ユーザは、このようなアプリケーションおよび/またはサービスを、費用および時間効率的に使用することができない。
いくつかの実装では、本主題は、インメモリデータベース処理のためのコンピュータ実装方法に関する。方法は、第1のシステム内でビジネスオブジェクトを生成する工程と、生成されたビジネスオブジェクトを第1のシステムから第2のシステムに複製する工程と、少なくとも1つのシステム固有のビューに基づいて、複製されたビジネスオブジェクトを実装する高性能アプリケーションを実行する工程と、を含むことができる。生成する工程、複製する工程、および実行する工程の少なくとも1つは、少なくとも1つのプロセッサ上で実行されてよい。
いくつかの実装では、本主題は、以下の任意の特徴の1つまたは複数を含むことができる。第1のシステムは、企業資源計画システムであってよい。第2のシステムは、高性能分析アプライアンスインメモリデータベースシステムであってよい。
いくつかの実装では、高性能アプリケーションの実行は、ビジネスオブジェクトに関するメタデータを第1のシステムから取得する工程と、取得されたメタデータを第2のシステムに提供する工程と、提供されたメタデータを使用して、第2のシステム内の少なくとも1つのビジネスオブジェクトへのアクセスを提供する工程と、少なくとも1つのシステム固有のビューに基づいて、第1のシステムおよび第2のシステムの少なくとも一方の少なくとも1つのアーティファクトを生成する工程と、を含むことができる。
いくつかの実装では、生成されたビジネスオブジェクトの複製は、第2のシステムに格納された少なくとも1つの複製スキーマに基づいて実行されてよい。ビジネスオブジェクトは、少なくとも1つの列および少なくとも1つの行を含むテーブルを含むことができる。データ複製器モジュールは、テーブル内の少なくとも1つの列を引き継ぐ(overtake)、第1のシステムのテーブルに加えられたメタデータを引き継ぐ、第2のシステム内のテーブルを再命名する、引き継ぐテーブルに関連付けられた少なくとも1つの外部キーを任意に指定する、引き継ぐテーブルに関連付けられた少なくとも1つのインデックスを任意に指定する、第2のシステム内のテーブルを格納するための行ストアまたは列ストアの少なくとも1つを指定する、列を追加する、列を削除する、および、少なくとも1つのデータ型マッピングを提供する、の少なくとも1つを実行することによって、ビジネスオブジェクトの複製を実行することができる。データ複製器モジュールは、第2のシステム内の複製されたテーブルへのアクセスを提供するための複製投影ビュー、および、第2のシステムへのOpenSQLアクセスを提供するための外部ビューの少なくとも1つを作成することができる。
1つまたは複数のコンピューティングシステムの1つまたは複数のデータプロセッサによって実行されたとき、少なくとも1つのデータプロセッサに本明細書に記載の動作を実行させる命令を格納する非一時的なコンピュータ可読媒体を備えるコンピュータプログラム製品も記載される。同様に、1つまたは複数のデータプロセッサ、および、1つまたは複数のデータプロセッサに結合されたメモリを含むことができるコンピュータシステムも記載される。メモリは、少なくとも1つのプロセッサに本明細書に記載の動作の1つまたは複数を実行させる命令を一時的または永続的に格納することができる。加えて、方法は、単一のコンピューティングシステムの中の、または2つ以上のコンピューティングシステムに分散された1つまたは複数のデータプロセッサによって実装されてよい。
本明細書に記載の主題の1つまたは複数の変形の詳細が、添付図面および以下の説明に記載される。本明細書に記載の主題の他の特徴および利点は、説明および図面から、そして特許請求の範囲から明らかになるであろう。
本明細書に組み込まれ、本明細書の一部を構成する添付図面は、本明細書に開示された主題のある態様を示し、説明と共に、開示された実装に関連する原理のいくつかを説明するのに役立つ。
例示的なメタデータ複製システムの図である。 本主題のいくつかの実装による、メタデータの複製を実行するための例示的な次世代ABAPプラットフォーム(NGAP)システムの図である。 本主題のいくつかの実装による、例示的な次世代ABAPプラットフォーム(NGAP)システムインメモリデータベースの図である。 本主題のいくつかの実装による、(バックエンドシステムなど)システムからのテーブルメタデータを複製するための例示的なプロセスの図である。 本主題のいくつかの実装による、メタデータの複製のための例示的な制御テーブルの図である。 本主題のいくつかの実装による、複製されたテーブル上で動作する例示的なプロセスの図である。 本主題のいくつかの実装による、データ記憶アプリケーションを含む例示的なシステムを示す図である。 図7のシステムの詳細を示す図である。 本主題のいくつかの実装による、例示的なシステムの図である。 本主題のいくつかの実装による、例示的な方法の図である。
いくつかの実装では、本主題は、高性能分析アプライアンス(「HANA」)データベースシステムを、アドバンスドビジネスアプリケーションプログラミング(「ABAP」)システムに結合するためのシステムおよび方法に関する。本主題は、インメモリデータベース(「IMDB」)、および、大量のデータを解析する目的のための検索エンジンを提供することができる。本主題は、さらに、IMDBシステムを生産的企業資源計画(「ERP」)システムに結合することができ、ERPシステムからのデータをIMDBシステム内に複製することができ、異なる種類のビュー、例えば、分析ビューおよび/または計算ビューを使用して、IMDBシステム上に高性能アプリケーション(「HPA」)を構築することができる。
いくつかの実装では、HPAは、複製されたデータに作用することができる。HPAは、テーブルのメタデータをERPシステムから取得することができ、それを複製システムに提供することができ、最初のデータローディング段階後、テーブルのコンテンツを定期的に更新することができ、OpenSQLを介して異なるデータベースオブジェクトへのアクセスを提供することができ、分析ビューおよび/または計算ビューに基づいて、HPA実行に関連付けられたABAPおよびデータベースアーティファクトを転送および送達することができる。複製システムは、どのテーブルのメタデータが複製されるべきかを決定するために、複製制御テーブルを使用することによって、テーブルのメタデータの複製を実行することができる。テーブルのメタデータが決定されると、複製システムは、少なくとも1つの複製投影ビューを定義する。システムは、次に、決定されたテーブルのメタデータを複製し、OpenSQL実行のための複製投影ビューを開く。決定されたメタデータは、さらに、外部IMDBビューのために維持されてよく、外部IMDBビューは、テーブル複製メタデータを転送するデータ辞書に提供されてよい。
図1は、ERPシステム102からのメタデータをIMDBシステム106に複製することができる例示的なメタデータ複製システム100を示す。ERPシステム102は、辞書114およびデータベース110を含むことができ、データベース110は、どのような任意のデータベースであってもよい。例示的なERPシステムおよびIMDBシステムは、ドイツ、ヴァルドルフのSAP AGから入手可能である。システム100は、さらに、ERPシステム102およびIMDBシステム106に通信可能に結合され得るミドルウェアシステム104を含むことができる。ミドルウェアシステム104は、辞書複製器モジュール116、複製制御モジュール120と共に辞書118、および、データベース112を含むことができる。
複製を実行するために、ミドルウェアシステム104内の辞書複製器116は、辞書118内の複製制御モジュール120から取得された複製制御データを読み取ることができる。複製制御データは、テーブルがどのように複製されるべきかを示す様々な属性および/またはパラメータを含むことができ、例えば、複製のために選択されるべきテーブル内のデータ、複製のために選択されるべき顧客固有のデータ、複製されるべきテーブルの名前が、複製の結果として変更されることになるか否か、複製されるべきテーブルに関連付けられた外部キーおよびインデックスが、複製のために選択されるべきか否か、行または列ストアが、複製中に使用されるべきか否か、データが、テーブルの複製の結果として削除されるべきか否か、データが、テーブルの複製の結果として追加されるべきか否か、列が、複製の結果としてテーブルに追加および/またはテーブルから削除されるべきか否か、並びに、どんな操作が、複製されるべきテーブルに実行されるべきか、を示すことができる任意の他の情報を含むことができる。辞書複製器116は、次に、テーブルメタデータをERPシステム102の辞書114から取得することができる。次に、複製器116は、取得されたテーブルメタデータおよび任意の他の関連するデータ(テーブルメタデータおよび他のデータは、例えば、列の説明もしくは定義、データ型(例えば、char(n)、integer、など)、外部キーおよび参照フィールド(例えば、CURRもしくはQUANデータ型)、インデックス、顧客固有のデータ、並びに/または、他のデータを含むことができる)を辞書118に適合させ、辞書118内に書き込むことができ、それを、ミドルウェアシステム104のデータベース112(いかなる任意のデータベースであってもよい)に格納することができる。ミドルウェアシステム104は、このような複製制御データにしたがってテーブルがERPシステム102からIMDBシステム106に複製されることを確実にするために、複製制御データに基づくことができる様々な操作を実行することができる。ミドルウェアシステム104によって複製制御データにしたがって複製されたテーブルは、IMDB106に格納される。したがって、IMDB106およびミドルウェアシステム104は、ERPシステム102からのメタデータの複
製を可能にすることができる。ミドルウェアシステム104は、ABAP実行時環境で実行することができるHPAアプリケーション(図示せず)を含むことができる。いくつかの実装では、Java(登録商標)アプリケーションが、実行されてもよく、データ解析を管理することができる。
いくつかの実装では、メタデータ複製は、図2に示すように、次世代ABAPプラットフォーム(「NGAP」)システム202に通信可能に結合されたERPシステム102を含むことができるシステム200によって実行されてよい。NGAPシステム202は、図1に示すミドルウェアシステム104およびIMDB106を結合することができる。
NGAPシステム202は、辞書複製器モジュール204、複製制御モジュール218を含むことができる辞書206、IMDB210、並びに、少なくとも1つの実行時オブジェクト216を含むことができるABAPプログラミングおよびOpenSQLモジュール208を含むことができる。IMDB218は、ABAPスキーマ212および複製スキーマ214を含むことができる。メタデータの複製を開始するために、辞書複製器モジュール204は、辞書206内の複製制御モジュール218によって提供され得る複製制御データ(このようなデータの例は、上述されている)を読み出すことができる。ERPシステム102内の辞書モジュール110は、テーブルメタデータ(テーブルメタデータの例は、上述されている)を辞書複製器モジュール204に提供することができる。複製器モジュール204は、次に、受信されたテーブルメタデータおよび複製制御データを辞書218に適合させ、辞書218内に書き込むことができ、それをIMDB210に格納することができる。受信されたテーブルメタデータおよび複製制御データは、データ操作言語(「DML」)文を実行し、それらをIMDB210に提供するためのABAPプログラミングおよびOpenSQLモジュール208に提供されてもよい。
いくつかの実装では、辞書複製器モジュール204は、すべての選択された透明テーブルの列の指定された組を引き継ぐ(そうでなければ、あるシステムから別のシステム(例えば、ERPシステムから複製システム)に転送するために選択する)、ERPシステム内のテーブルに加えられた顧客メタデータを引き継ぐ、複製システム内のテーブルを再命名する、外部キーおよびインデックスが引き継がれるべきかどうかを指定することを提供する、行もしくは列ストアを指定することを提供する、データ要素およびドメイン情報を削除する、キー列がソースシステム分離のために追加されることを許可する、データ列が追加されることを許可する、列が削除されることを許可する、適切なデータ型マッピングを提供する、並びに/または、アプリケーションが実行可能である必要がある最低限のERPリリース、および/もしくは任意の他の機能および/もしくはそれらの様々な組み合わせの定義を可能にする、の少なくとも1つを実行することができる。
テーブルの異なるメタデータ部分を引き継ぐために、システム200は、テーブルに含まれるデータの長さおよび小数、外部キーおよびインデックス、テーブルの制約、並びに/または、任意の他のテーブルパラメータを含むことができる、少なくともデータ型情報を取得することができる。テーブルがIMDB210の行および列ストアに格納されているか否かについての情報を含むことができるように、他の技術的設定が含まれてよい。顧客固有のメタデータを引き継ぐために、顧客固有のデータは、ERPのソースシステム内で検索され、ERPのソースシステムから取得されてよい。テーブル内の列を追加または再命名するために、追加のキー、データ列、および/または、データベースレベル上のテーブルの第2の名前が、複製プロセス中に含められてよい。これらは、同じテーブルを何度も複製することなしに、異なるERPソースシステムから複製されてよい。さらに、列は、複製されている元のテーブルから除外されてよい。データ型マッピングを実行するために、実際のデータ型が、データベース内のデータ型にマッピングされてよい(例えば、日付および時間データ型が、データベース内のDATEおよびTIMEデータ型にマッピングされる)。このようなデータマッピングは、個々のデータ型を含む特定の列にしたがって実行されてよい。
以下は、NGAPシステム202内の辞書複製器モジュール204のアーキテクチャの概要説明を提供する。辞書複製器モジュール204は、データベーステーブルに関するメタデータをあるシステムから別のシステムに引き継ぐことができるツールであってよい。辞書複製器モジュール204は、メタデータ複製に関連して上述した機能を実行することができる。これは、顧客固有のメタデータを考慮することによって、テーブル内に含まれるデータベース定義を生成および実行することができ、同時に、実行時情報を作成することができる。必要であれば、IMDB210内の追加のデータベース表現が、作成および/または更新されてよい。
辞書複製器モジュール204は、2つの異なるビューを作成することができる。あるビューは、複製投影ビューであってよく、OpenSQLを使用して、複製されたテーブルへのアクセスを可能にすることができる。別のビューは、IMDB計算上のOpenSQLアクセスを提供することができる外部ビュー、および/または属性ビューであってよい。辞書複製器モジュール204は、アプリケーション名およびテーブルの名前をキー列として含むことができる以下の複製制御テーブル、すなわち、
・複製テーブルの名前および/または最低限のリリースなど主要情報およびヘッダ情報を含むことができ、加えて、制御情報、例えば、そのテーブルのための複製プロセスのリターンコード、および/または、テーブルがすでに複製されているかどうかの制御情報を含むことができる、DDREPLICATORテーブル、
・追加および/または挿入する列についての情報、および/または、既存のテーブルに関するデータ型マッピングについての情報を含むことができる、DDREPLINDATAテーブル、
・例えば、複製システム内で参照されるテーブルの名前であってよい既存の外部キーおよび参照フィールドを処理するデータを含むことができる、DDREPLICREFテーブル、並びに、
・テーブル内の単一の列に関する型変換情報を含むことができる、DDREPLICNVDATAテーブル、の上で動作することができる。
すべてのテーブルに関して、複製制御データは、整合性について検査されてよい。検査が成功して実行された場合、テーブルのメタデータが、顧客固有のAppendおよびCI-include情報を含むソースシステムから読み出されてよい。ターゲットシステムで使用することができないすべてのメタデータは、残りのメタデータをターゲットのシステムABAP辞書(図2には示さず)に書き込むことができるように、削除され、操作される。必要ならば、複製制御データにしたがって、テーブルの名前を変更することができ、列を追加、挿入、または削除さえすることができ、データ型マッピングを実行することができる。外部キー、並びに参照テーブルおよびフィールドを適合させることができ、または、完全に削除することさえできる。
複製されたテーブル、またはテーブルの複製された部分は、任意の関連するテーブルメタデータおよび/または(上述したような)他のデータと共に、複製制御データによって定義されるように、ローカルオブジェクトとして、ローカル開発構成要素内に書き込まれ、配置されてよい。アプリケーションの開発中、複製されたテーブル、またはテーブルの複製された部分は、実行時オブジェクトを構築するために使用されてよく、アプリケーションステートメントが実行されてよく、同時に、他の操作が実行されてよい。
いくつかの実装では、様々なビューが、辞書複製器モジュール204を使用して作成されてよい。アプリケーションは、複製されたテーブルにOpenSQLを介してアクセスするために使用され得る1つまたは複数の複製投影ビューを含むことができる。ビューの定義は、テーブルDDREPLICATORVIに保持されてよく、以下の情報、すなわち、
・APPLICATION:ビューが属する現在のアプリケーション、
・OBJECTNAME:データ辞書内のビューの名前、
・OBJECTTYPE:VIEW、
・VIEWCLASS:R(複製投影ビュー)、
・COLUMNS:SPACEによって分離された辞書型および長さ情報をすべての列に提供する、
・BASETABLE:複製されたテーブルの名前、
・DEVCLASS:構成された投影ビュー、
が含まれてよい。
辞書複製器モジュール204は、アプリケーションの名前および「作成投影ビュー」パラメータを使用して、ユーザインタフェース上でユーザに提供されてよい辞書218内の投影ビューを作成することができる。次に、投影ビューは、DDREPLICATORVI情報を使用して、辞書218内で作成され、活性化されてよい。ビューは、辞書複製器を使用して、辞書複製器モジュール204内で提供されてよい「テーブルおよび投影ビュー複製」機能を使用することによって、データベース内に作成されてもよい。投影ビューの作成は、(1)すべてのアプリケーションに関して、上述した辞書複製テーブルを、それらのコンテンツおよびメタデータ情報と共に複製し、(2)データベース内のテーブルを作成またはリロードするように実行されてよい。
いくつかの実装では、テーブルは、すべてのアプリケーションがそれら自身のこれらのテーブルの複製版を作成するとしても、いくつかのアプリケーションで使用(または、再使用)されてよい。このような再使用は、アプリケーションが複製されたテーブルに対して同じ名前を使用する場合、可能であり得る。これを達成するために、(そこからテーブルがターゲットシステムに複製のために生じることができる)ソースシステム並びにテーブル定義およびテーブルの複製制御データが、ターゲットシステム内のものと異なるとしても、テーブルの列および/またはテーブル全体が、複製プロセスを通じて維持されてよい。
図3は、本主題のいくつかの実装による、インメモリデータベースに結合された例示的なNGAPシステム300を示す。システム300は、図2に示すシステム202と同様であってよい。システム300は、辞書/実行時オブジェクトモジュール302、OpenSQLモジュール304を有するABAPコード、および、IMDB306を含むことができる。モジュール302は、辞書複製器モジュール310および複製されたテーブルT1 314、外部ビューV2 312、並びに、テーブルT1 314の複製された投影ビューV_T1 316を含むことができる。モジュール304は、モジュール302とIMDB306の間のインタフェースを援助することができる様々な機能を実行することができる(図3に示す)コードを含むことができる。IMDB306は、上述したような様々な複製スキーマを含むことができる。図3に示すように、IMDB306は、テーブルT1 314の複製を格納するためのデフォルトスキーマ318、S1.V_T1として格納されたスキーマS1にしたがって複製されたテーブルS1.T1を格納するためのスキーマS1 320、および、分析ビューおよび計算ビューS2.V3を提供することができるスキーマS2 322を含むことができる。辞書複製器モジュール310は、HPAのアーティファクトを、OpenSQLアクセスを含むABAP環境でのそれらの使用を可能にするように処理するために、NGAP高性能アプリケーション(HPA)で使用されてよい。辞書複製器モジュール310は、図3に示すように、IMDB306上に構築されてよいNGAPシステム300で実行されてよい。HPAは、アプリケーションを制御するためにデータベースデフォルトスキーマ318を使用することができ、複製されたテーブルおよび投影ビューのために第2のデータベーススキーマS1 320を使用することができ、複製されたテーブルの分析および/または計算ビューを提供するために第3のデータベーススキーマS2 322を使用することができる。
図4は、本主題のいくつかの実装による、(バックエンドシステムなど)システムからのテーブルメタデータを複製するための例示的なプロセス400を示す。プロセスは、(402で)テーブルメタデータを決定する工程と、(404で)複製投影ビューを定義する工程と、(406で)テーブルを複製し、OpenSQL実行のための投影ビューを開く工程と、(408で)外部ビュー(例えば、IMDBビュー)に関するメタデータを維持する工程と、(410で)外部ビューをデータ辞書に提供する工程と、(412で)データ辞書内のテーブル複製メタデータを転送する工程と、任意に、(414で)ログを作成する工程と、を含むことができる。これらの動作の各々は、以下にさらに詳細に説明される。
(402で)複製のためのテーブルメタデータを決定するために、テーブルの定義のどの部分が複製データベーススキーマ内に複製されることになるのかについて、決定が行われる。この情報は、図5に示すいくつかの複製制御テーブル500で定義されてよい。複製制御テーブル500は、メインテーブルデータを含むための制御テーブルDDREPLICATOR502、テーブル列を追加および/もしくは挿入するための制御テーブルDDREPLINDATA504、外部キーを保存するための制御テーブルDDREPLICREF506、並びに/または、既存のテーブル列の型を変更するための制御テーブルDDREPLICNVDATA508を含むことができる。
制御テーブルDDREPLICATOR502は、辞書複製器モジュールのためのメイン制御テーブルであってよい。これは、テーブル複製およびビュー作成を制御することができ、テーブルメタデータを定義することを可能にすることができる。DDREPLICATORテーブル502は、以下のフィールド、すなわち、アプリケーションの名前、オブジェクトの型、およびその元の名前、の少なくとも1つを含むことができる。この情報は、DDREPLICATORテーブル502の主キーを形成することができる。これらのフィールドは、すべての制御テーブル502〜508の一部であってよい。アプリケーションの名前は、任意の名前を含むことができ、文字の数(例えば、60文字)によって制限されてよい。複製データベーススキーマのテーブルのための新しい名前NEWNAME、および、バックエンドシステムから引き継がれるべき文字列フィールド内の列名COLUMNSが、選択されてよい。DDREPLICATORテーブル502内のテーブル列は、以下のパラメータ、すなわち、列DBNAMENEW、列ROWORCOLST、列EXISTCHECK、およびDROPCREATEの少なくとも1つを使用して複製されてよい。列DBNAMENEWは、データベース内のテーブルの名前が、データ辞書内の複製されたテーブルの名前と異なるものにする必要がある場合に補填されてよい第2のテーブル名を保持することができる。列ROWORCOLSTは、IMDB行ストア(値R)および/または列ストア(値C)で作成されてよい。列EXISTCHECKは、データベース内のテーブルの存在を確認することができる。DROPCREATEパラメータは、テーブルを削除および再作成するために使用されてよい。テーブル内の外部キーおよびインデックスは、保存されてよく、それぞれ、PRESERVE_FKおよびPRESERVE_INDXなど適切なパラメータを使用して、複製中に引き継がれてよい。
制御テーブルDDREPLINDATA504は、テーブル列の追加および/または挿入を実行するために使用されてよい。新しい列は、制御データをテーブルDDREPLINDATAに挿入することによって追加されてよい。メイン制御テーブルと同様に、アプリケーション名、オブジェクト型TABL、およびテーブルの名前が提供されてよい。また、新しい列名FIELDNAMENEW、並びに、列が追加される(KIND=ADD)および/または挿入される(KIND=INSERT)べきか否かについての情報が提供されてよい。追加および/または挿入機能は、以下のパラメータ、すなわち、辞書データ型を表すDATATYPE、辞書の長さを表すLENGTH、および、新しい列がdecimal型である場合、小数点以下の桁数を表すDECIMALSを含むことができる。列の挿入のために、COLPOSITION内の挿入位置が、同様に定義されてよい。
制御テーブルDDREPLICREF506は、複製中に外部キーを保存するために使用されてよい。外部キーの保存のために、検査テーブルおよび参照テーブルが複製されてよく、外部キーおよび/または参照フィールドは、テーブルがNGAPシステム内に存在する場合、複製されたテーブルを示すことができる。複製中、データは、列APPLICATION、OBJNAME、およびOBJTYPEを使用してDDREPLICREF内に書き込まれたデータであってよい。外部キーの保存のためのプロセスは、列FIELDNAMEに問題のフィールドの名前を提供する工程と、列KIND内の検査テーブルに関する値CHECKTABおよび参照テーブルに関するREFTABを選択する工程と、KIND列がCHECKTABである場合、CHECKTABLEを提供する工程と、KIND列がREFTABである場合、REFTABLEおよびREFFIELDを追加する工程と、を含むことができる。
制御テーブルDDREPLICNVDATA508は、既存のテーブル列の型を変更するために使用されてよい。既存のテーブル列の型を変更するために、列APPLICATION、OBJNAME、およびOBJTYPEに関する情報が提供されてよく、以下の操作、すなわち、再定義される必要があるデータ型を示すFIELDNAMEを挿入する、変更の型を示すKIND=TYPECHGを提供する、辞書のデータ型を示すDATATYPEを提供する、辞書の長さを示すLENGTH、および、新しい列がdecimal型のものであるべき場合、小数点以下の桁数を示すDECIMALSを提供する、が実行されてよい。複製システム内のターゲットテーブルは、新しいデータ型を使用して辞書内並びにデータベース内に作成されてよい。いくつかの実装では、オリジナルテーブルおよび複製されたテーブルのデータ型は、テーブルコンテンツの転送を保証するために、互換性があってよい。
本主題のいくつかの実装によれば、(図4に示す404での)複製投影ビューは、テーブルDDREPLICATORVIを使用して定義されてよい。このために、列APPLICATION、OBJTYPE、およびOBJNAME内のアプリケーションの名前、並びにオブジェクトの型および名前が提供されてよい。型は、VIEWであってよく、名前は、任意の数の文字(例えば、30文字)を含むことができ、正確さについて検査されてよい。VIEWCLASSは、複製投影ビューに対応することができるRであってよく、ベーステーブルの名前は、フィールドBASETABLEで提供されてよい。新しいテーブルの名前は、DDREPLICATORNEWNAMEで選択されてよい。加えて、フィールドCOLUMNS内で定義されたベーステーブルの列のサブセットであってよいフィールドDEVCLASSおよびビュー列定義が、提供されてよい。追加のフィールドは、ビューが処理されていることを示すDONE、並びに、様々なアクションおよびリターンコードに関する情報を提供することができる、結果として生じるリターンコードに対応するRCを含むことができる。複製投影ビューが定義されると、それらは、辞書に転送されてよい。
(図4に示す406での)OpenSQL実行のためにテーブルを複製し投影ビューを開くことは、以下の操作、すなわち、テーブルおよび投影ビューの複製を選択する工程と、接続情報を提供する工程と、任意の入力フィールドに入力する工程と、を含むことができる。情報は、複製のためのテーブルを含むソースシステムについての情報、並びに、ソースシステムとターゲットシステムとの間の接続についての情報(例えば、図3に示すNGAPシステムのIMDB内のターゲットスキーマの名前TS1)を含むことができる。複製は、データ辞書内、並びに、IMDB内のスキーマTS1内のデータベース内に存在する現在のアプリケーションのテーブルを表すことができるローカルな一時オブジェクトを作成する工程と、複製投影ビューを使用して、これらのテーブル上でOpenSQLを実行する工程と、を含むことができる。ビューは、デフォルトスキーマ内のデータベースビューとして存在することができ、複製スキーマTS1内のテーブル上で選択することができる。これに続いて、テーブルのコンテンツは、ソースシステムからターゲットシステムに複製されてよい。
テーブルがIMDBスキーマTS1で利用可能であるここで、外部ビューに関するメタデータが(図4に示す408で)維持されてよく、メタデータは、計算、解析、および属性ビューを有する計算および解析モデルが、ここで、IMDBを使用してデータベース上で直接定義され得ることを示す。これは、図3に示すスキーマTS2を使用して行われてよい。
外部ビューは、次に、(図4に示す410で)データ辞書に提供されてよい。ある種の計算、解析、および属性ビューが、スキーマTS2内のデータベース内に存在していると仮定すると、ビューは、データ辞書に引き継がれてよい。制御テーブルDDREPLICATORVIが使用されてよい。加えて、DBVIEWNAMEが維持されてよく、IMDBビューの名前が入力されてよい。アプリケーションに関するレポートRADDDREPLICATORが呼ばれてよく、データ辞書内の外部ビューの作成、および、スキーマ名(例えば、TS2)の提供が開始されてよい。ビューが作成されると、ビューは、OpenSQLで使用されてよい。
複製されたテーブル、複製投影ビュー、および、データ辞書内の外部ビューが決定されると、(図4に示す412での)転送操作が進行することができる。転送は、データ辞書内のテーブル複製メタデータを転送する工程を含むことができる。テーブル複製メタデータは、特定のアプリケーション名に関するテーブルDDRREPLICATOR、DDREPLINDATA、DDREPLICREF、およびDDREPLICNVDATAのエントリを含むことができる。ビューは、複製辞書メタデータに対して活性化され、検証されてよい。
いくつかの実装では、任意のログが、(図4に示す414での)複製中に実行されたすべての操作に対して用意されてよい。
テーブルが、ソースシステムからターゲットシステムに複製されると、ユーザは、複製されたテーブル上で作業することができる。図6は、本主題のいくつかの実装による、複製されたテーブル上で作業するための例示的なプロセス600を示す。プロセス600は、602で複製テーブルにアクセスする工程と、高性能アプリケーション(HPA)を構築する工程604と、606でHANAアーティファクトに関するOpenSQLを実現する工程と、608で高性能アプリケーション(HPA)を実行する工程と、を含むことができる。
複製テーブルにアクセスする工程602は、複製するためにテーブルに関するDDREPLICATORを維持する工程と、すべての複製投影ビューに関するDDREPLICATORVIを維持する工程と、辞書複製器を起動する工程と、を含むことができる。高性能アプリケーション(HPA)を構築する工程604は、複製されたテーブルに基づいて、ABAPアーティファクト内の複製投影ビューでOpenSQLを使用し、それらをクラス、インタフェース、および/またはレポートとして指名することによって行われてよい。HPAは、HANAモデラを使用して定義され、作成されてよいデータベースオブジェクトを使用することができる。データベースオブジェクトは、属性、解析、および/または計算ビューであってよい。HANAアーティファクトに関するOpenSQLを実現する工程606は、複製NGAPシステムのABAP実行時のデータベースビューの列記述情報を提供する工程と、提供された列記述を(NGAPデフォルトスキーマと異なってよい)ビューデータベーススキーマにリダイレクトする工程と、を含むことができる。列記述情報を提供する工程は、データベース自身のメタデータからビューメタデータを読み出す工程と、列情報を引き継ぐ工程と、それを辞書型にしたがってマッピングする工程と、を含むことができる。提供された列ビューのリダイレクトは、データベース内のビューの名前の同意語で作業する工程を含むことができる。したがって、辞書内の外部ビューは、どのデータベースビューがアクセスされるべきかを決定するために使用されてよい。この情報は、DDREPLICATORVI制御テーブルに維持されてよく、
・ビューが属する現在のアプリケーションに対応するAPPLICATION、
・データ辞書内のビューの名前に対応するOBJECTNAME、
・VIEWに対応するOBJECTTYPE、
・VIEWCLASS X、
・OBJECTNAMEと同じであってよいBASETABLE、
・IMDBビューの名前であってよいDBVIEWNAME、および、
・構成された外部ビューに関するパッケージに対応するDEVCLASS、
を含むことができる。
HPAを実行する工程608は、テーブルおよび投影ビュー複製操作を使用して、辞書複製器を起動する工程を含むことができる。このように、実行操作608は、テーブルの複製、および、データベース上の複製投影ビューの作成を含むことができる。辞書複製器が呼ばれてよく、アプリケーションの名前が提供されてよく、テーブルおよび投影ビュー複製操作が開始されてよい。複製スキーマに沿った適切な情報が提供されると、テーブルの複製が、複製されたテーブルおよびデータベース上の投影ビューを作成するために実行されてよい。
いくつかの実装では、本主題は、ドイツ、ヴァルドルフのSAP AGによって開発された高性能分析アプライアンス(「HANA」)システムなど、様々なインメモリデータベースシステムで実装されてよい。企業資源計画(「ERP」)システム、サプライチェーンマネジメントシステム(「SCM」)システム、サプライヤリレーションシップマネージメント(「SRM」)システム、カスタマリレーションシップマネージメント(「CRM」)システム、および/または、他のものなど、様々なシステムは、例えば、データにアクセスする目的のためのインメモリシステムとインタラクションすることができる。他のシステムおよび/またはシステムの組み合わせが、本主題の実装のために使用されてよい。以下は、例示的なインメモリシステムの考察である。
図7は、本主題のいくつかの実装による例示的なシステム700を示し、システム700では、1つまたは複数のネットワーク、などを介してリンクされた、併置されてよい1つまたは複数のプログラマブルプロセッサを含むことができるコンピューティングシステム702が、データ記憶アプリケーション704の1つまたは複数のモジュール、ソフトウェア構成要素、などを実行する。データ記憶アプリケーション704は、1つまたは複数のデータベース、企業資源プログラム、分散記憶システム(例えば、カリフォルニア州サニーベールのNetAppから入手可能なNetAppファイラ)、などを含むことができる。
1つまたは複数のモジュール、ソフトウェア構成要素、などは、コンピューティングシステム702のローカルユーザに、並びに、ネットワーク接続710を介して1つまたは複数のクライアントマシン706からコンピューティングシステム702にアクセスするリモートユーザにアクセス可能であってよい。1つまたは複数の第1のモジュールによって生成される1つまたは複数のユーザインタフェース画面が、ローカルディスプレイを介して、または、クライアントマシン706の1つに関連付けられたディスプレイを介してユーザに表示されてよい。データ記憶アプリケーション704のデータユニットは、永続化層712(例えば、ページバッファまたは他の形式の一時的な永続化層)に過渡的に格納されてよく、永続化層712は、データを、記憶ページの形態で、例えば、入力/出力構成要素716を介して、1つまたは複数の記憶装置714に書き込むことができる。1つまたは複数の記憶装置714は、より長期の記憶のためにデータを書き込むために構成された1つまたは複数の物理的記憶媒体または装置(例えば、ハードディスクドライブ、永続的なフラッシュメモリ、ランダムアクセスメモリ、光媒体、磁気媒体、など)を含むことができる。記憶装置714および入力/出力構成要素716は、それらが図7中のコンピューティングシステム702の外部にあるものとして示されているにもかかわらず、コンピューティングシステム702に含められてよいことに留意すべきである。
より長期の記憶装置714に保持されたデータは、ページに編成されてよく、ページの各々は、データを記憶空間の定義された量に割り当てている。いくつかの実装では、各ページに割り当てられた記憶空間の量は、一定でよく、固定されてよい。しかしながら、各ページに割り当てられた記憶空間の量が変化し得る他の実装も、本主題の範囲内である。
図8は、本主題のいくつかの実装による、例示的なソフトウェアアーキテクチャ800を示す。1つまたは複数のハードウェアおよびソフトウェアで実装されてよいデータ記憶アプリケーション704は、1つまたは複数のデータベースアプリケーション、ネットワーク接続記憶システム、などを含むことができる。本主題の少なくともいくつかの実装によれば、このようなデータ記憶アプリケーション704は、永続化層712または他の形式のメモリバッファを含むことができ、あるいは、例えば、永続性インタフェース802を介してこれらとインタフェースすることができる。永続化層712内のページバッファ804は、1つまたは複数の論理ページ806を記憶することができ、任意に、シャドウページ、アクティブページ、などを含むことができる。永続化層712に保持された論理ページ806は、入力/出力構成要素716を介して記憶装置(例えば、より長期の記憶装置、など)714に書き込まれてよく、入力/出力構成要素716は、ソフトウェアモジュール、1つまたは複数のソフトウェアおよびハードウェアに実装されたサブシステム、などであってよい。記憶装置714は、1つまたは複数のデータボリューム810を含むことができ、1つまたは複数のデータボリューム810では、記憶されたページ812が物理的メモリブロックに割り当てられる。
いくつかの実装では、データ記憶アプリケーション704は、ページマネージャ814および/またはセーブポイントマネージャ816を含むことができ、あるいは、これらと通信することができる。ページマネージャ814は、永続化層712において、ページ管理モジュール820と通信することができ、ページ管理モジュール820は、空きブロックマネージャ822を含むことができ、空きブロックマネージャ822は、ページステータス情報824、例えば、記憶装置714内の物理ページおよび永続化層712内(および、任意に、ページバッファ804内)の論理ページのステータスを監視することができる。セーブポイントマネージャ816は、セーブポイントを処理するために、永続化層712において、セーブポイントコーディネータ826と通信することができ、セーブポイントは、起こり得るクラッシュの後、再起動するためのデータベースの一貫した永続的な状態を作成するために使用される。
データ記憶アプリケーション704のいくつかの実装では、永続化層712のページ管理モジュールは、シャドウページを実装することができる。ページ管理モジュール820内の空きブロックマネージャ822は、物理ページのステータスを維持することができる。ページバッファ804は、本明細書で説明されるように動作する固定ページステータスバッファを含むことができる。ページ管理モジュール820の一部であってよい、またはページ管理モジュール820と通信することができる変換器構成要素840は、記憶装置714に書き込まれた論理ページと物理ページとの間のマッピングに関与することができる。変換器840は、変換器テーブル842内の対応する物理ページへの論理ページの現在のマッピングを維持することができる。変換器840は、1つまたは複数の変換器テーブル842内の対応する物理ページへの論理ページ806の現在のマッピングを維持することができる。論理ページ806が記憶装置714から読み出されると、ロードされるべき記憶ページは、変換器840を使用して1つまたは複数の変換器テーブル842から検索され得る。セーブポイント後、第1回目に論理ページが記憶装置714に書き込まれると、新しい空き物理ページが、論理ページに割り当てられる。空きブロックマネージャ822は、新しい物理ページを、「使用されている」とマークし、新しいマッピングが、1つまたは複数の変換器テーブル842に格納される。
永続化層712は、データ記憶アプリケーション704で行われた変更が永続的であること、および、データ記憶アプリケーション704が、再起動後に最新のコミットされた状態に復元され得ることを保証することができる。記憶装置714へのデータの書き込みは、書き込みトランザクションの終了と同期される必要はない。そのため、書き込みトランザクションが終了したとき、コミットされていない変更は、ディスクに書き込まれている可能性があり、コミットされた変更は、ディスクにまだ書き込まれていない可能性がある。システムクラッシュ後、終了されていないトランザクションによって行われた変更は、ロールバックされてよい。すでにコミットされたトランザクションによって生じる変更は、このプロセスで失われるべきではない。データ記憶アプリケーションのデータに行われた変更を線形ログに格納するために、ロガー構成要素844が含まれてもよい。すべての操作がデータに適用されること、および、復旧プロセスの終了時に依然としてオープンなトランザクションにロールバックする前に、記録された「コミット」記録によるトランザクションがコミットされることを保証するために、ロガー構成要素844は、復旧中、最後のセーブポイント以降の操作を再生するために使用されてよい。
いくつかのデータ記憶アプリケーションについて、ディスクへのデータの書き込みは、必ずしも書き込みトランザクションの終了と同期しない。書き込みトランザクションが終了したとき、コミットされていない変更が、ディスクに書き込まれ、同時に、コミットされた変更が、ディスクにまだ書き込まれていない状況が生じる可能性がある。システムクラッシュ後、終了されなかったトランザクションによって行われた変更は、ロールバックされなければならず、コミットされたトランザクションによる変更は、失われてはならない。
コミットされた変更が失われないことを保証するために、変更が行われるたびに、ロガー構成要素844によって、再実行ログ情報が書き込まれてよい。この情報は、遅くとも、トランザクションが終了すると、ディスクに書き込まれてよい。正常なデータがデータボリュームに書き込まれている間、ログエントリは、別個のログボリュームに保持されてよい。再実行ログにより、コミットされた変更は、対応するデータページがディスクに書き込まれなかった場合でも、復元され得る。コミットされなかった変更を取り消すために、永続化層712は、(1つまたは複数のログからの)取消しログエントリおよびシャドウページングの組み合わせを使用することができる。
永続性インタフェース802は、記憶装置(例えば、インメモリ記憶装置、など)の読み出しおよび書き込み要求を処理することができる。永続性インタフェース802は、ログありおよびログなしの両方でデータを書き込むための書き込み方法を提供することもできる。ログありの書き込み操作が使用される場合、永続性インタフェース802は、ロガー844を呼び出す。加えて、ロガー844は、記憶装置(例えば、インメモリ記憶装置、など)がログエントリをログキューに直接追加することを可能にするインタフェースを提供する。ロガーインタフェースは、インメモリログキュー内のログエントリがディスクにフラッシュされることを要求するための方法も提供する。
ログエントリは、ログシーケンス番号、ログエントリの型、および、トランザクションの識別子を含む。操作の種類に応じて、追加情報が、ロガー844によって記録される。型「更新」を入力するために、例えば、これは、影響された記録の識別、および、変更されたデータの変更後イメージになる。
データアプリケーション704が再起動されると、ログエントリは、処理される必要がある。このプロセスをスピードアップするために、再実行ログは、常に最初からは処理されない。代わりに、前述のように、セーブポイントが、周期的に実行されてよく、セーブポイントは、最後のセーブポイント以降に(例えば、メモリ内、などで)行われたすべての変更をディスクに書き込む。システムを起動するとき、最後のセーブポイント後に作成されたログのみが、処理される必要がある。次のバックアップ操作後、セーブポイント前の位置の古いログエントリは、削除されてよい。
ロガー844が、ログエントリを書き込むために呼び出されるとき、すぐにはディスクに書き込まれない。代わりに、ログエントリをメモリ内のログキュー内に置くことができる。ログキュー内のエントリは、遅くとも、対応するトランザクションが終了した(コミットされたまたはアボートされた)とき、ディスクに書き込まれてよい。コミットされた変更が失われないことを保証するために、対応するログエントリがディスクにフラッシュされる前に、コミット操作は、正常に終了されない。ディスクへのログキューエントリの書き込みは、他のイベントによって、例えば、ログキューページがいっぱいな場合に、または、セーブポイントが実行された場合に、トリガされてもよい。
本主題により、ロガー844は、データベースログ(または、本明細書では単に「ログ」と呼ばれる)を、メモリバッファに自然順に(例えば、順番に、など)順次に書き込むことができる。いくつかの物理的ハードディスク/記憶装置が、ログデータを格納するために使用される場合、いくつかのログパーティションが定義されてよい。その後、(前述のように、ログデータを生成し、編成するように作用する)ロガー844は、ログバッファへの書き込みを、すべての利用可能なログパーティションに負荷分散することができる。いくつかの場合では、負荷分散化は、ラウンドロビン分散スキームに従い、ラウンドロビン分散スキームでは、様々な書き込み操作が、順次かつ連続的な方法でログバッファに向けられる。この構成では、マルチパーティションログの特定のパーティションの単一のログセグメントに書き込まれたログバッファは、連続的でない。しかしながら、ログバッファは、復旧中、すべてのパーティションのログセグメントから適切な順序に並べ替えられてよい。
前述のように、データ記憶アプリケーション704は、セーブポイントマネージャ816が、トランザクション的に一貫したセーブポイントを書き込むことができるように、シャドウページングを使用することができる。このような構成によれば、データバックアップは、データバックアッププロセスの第1の工程として行われた特定のセーブポイントに含まれるすべてのデータページのコピーを含む。本主題は、他の形式のデータページ記憶装置に適用されてもよい。
いくつかの実装では、本主題は、図9に示すように、システム900内に実装されるように構成されてよい。システム900は、プロセッサ910、メモリ920、記憶装置930、および、入力/出力装置940を含むことができる。構成要素910、920、930、および940の各々は、システムバス950を使用して相互接続されてよい。プロセッサ910は、システム900内での実行のための命令を処理するように構成されてよい。いくつかの実装では、プロセッサ910は、シングルスレッドプロセッサであってよい。代わりの実装では、プロセッサ910は、マルチスレッドプロセッサであってよい。プロセッサ910は、さらに、入力/出力装置940を介する情報の受信または送信を含む、メモリ920内または記憶装置930上に格納された命令を処理するように構成されてよい。メモリ920は、システム900内の情報を格納することができる。いくつかの実装では、メモリ920は、コンピュータ可読媒体であってよい。代わりの実装では、メモリ920は、揮発性メモリユニットであってよい。さらにいくつかの実装では、メモリ920は、不揮発性メモリユニットであってよい。記憶装置930は、システム900のための大容量記憶装置を提供することが可能であってよい。いくつかの実装では、記憶装置930は、コンピュータ可読媒体であってよい。代わりの実装では、記憶装置930は、フロッピー(登録商標)ディスク装置、ハードディスク装置、光ディスク装置、テープ装置、不揮発性固体メモリ、または任意の他の形式の記憶装置であってよい。入力/出力装置940は、システム900のための入力/出力操作を提供するように構成されてよい。いくつかの実装では、入力/出力装置940は、キーボードおよび/またはポインティングデバイスを含むことができる。代わりの実装では、入力/出力装置940は、グラフィカルユーザインタフェースを表示するための表示ユニットを含むことができる。
図10は、本主題のいくつかの実装による、例示的な方法1000を示す。1002では、ビジネスオブジェクトが、第1のシステムで生成されてよい。1004では、生成されたビジネスオブジェクトは、第1のシステムから第2のシステムに複製されてよい。1006では、複製されたビジネスオブジェクトを実装する高性能アプリケーションが、少なくとも1つのシステム固有のビューに基づいて実行されてよい。生成する工程、複製する工程、および実行する工程の少なくとも1つは、少なくとも1つのプロセッサ上で実行されてよい。
いくつかの実装では、本主題は、以下の任意の特徴の1つまたは複数を含むことができる。第1のシステムは、企業資源計画システムであってよい。第2のシステムは、高性能分析アプライアンス(「HANA」)インメモリデータベースシステムであってよい。
実行する工程は、ビジネスオブジェクトに関するメタデータを第1のシステムから取得する工程と、取得されたメタデータを第2のシステムに提供する工程と、提供されたメタデータを使用して、第2のシステム内の少なくとも1つのビジネスオブジェクトへのアクセスを提供する工程と、少なくとも1つのシステム固有のビューに基づいて、第1のシステムおよび第2のシステムの少なくとも一方の少なくとも1つのアーティファクトを生成する工程と、を含むことができる。
複製する工程は、第2のシステムに格納された少なくとも1つの複製スキーマに基づいて実行されてよい。ビジネスオブジェクトは、少なくとも1つの列および少なくとも1つの行を含むテーブルを含むことができる。データ複製器モジュールは、テーブル内の少なくとも1つの列を引き継ぐ、第1のシステムのテーブルに加えられたメタデータを引き継ぐ、第2のシステムのテーブルを再命名する、引き継ぐテーブルに関連付けられた少なくとも1つの外部キーを任意に指定する、引き継ぐテーブルに関連付けられた少なくとも1つのインデックスを任意に指定する、第2のシステムにテーブルを格納するための行ストアまたは列ストアの少なくとも1つを指定する、列を追加する、列を削除する、および、少なくとも1つのデータ型マッピングを提供する、の少なくとも1つを実行することによって、複製する工程を実行することができる。データ複製器モジュールは、第2のシステムの複製されたテーブルへのアクセスを提供するための複製投影ビュー、および、第2のシステムへのOpenSQLアクセスを提供するための外部ビューの少なくとも1つを作成することができる。
本明細書に開示されるシステムおよび方法は、例えば、データベースも含むコンピュータなどデータプロセッサ、デジタル電子回路網、ファームウェア、ソフトウェア、またはそれらの組み合わせを含む、様々な形態で具体化されてよい。さらに、ここに開示された実装の上記の特徴並びに他の態様および原理は、様々な環境で実装されてよい。このような環境、および関連するアプリケーションは、開示された実装による様々なプロセスおよび操作を実行するために特別に構成されてよく、または、それらは、必要な機能を提供するためにコードによって選択的に活性化もしくは再構成された汎用コンピュータもしくはコンピューティングプラットフォームを含むことができる。本明細書に開示されたプロセスは、どのような特定のコンピュータ、ネットワーク、アーキテクチャ、環境、または他の装置にも本質的に関係せず、ハードウェア、ソフトウェア、および/またはファームウェアの適切な組み合わせによって実装されてよい。例えば、様々な汎用機が、開示された実装の教示にしたがって書かれたプログラムと共に使用されてよく、または、必要な方法および技術を実行するために専用の装置もしくはシステムを構成することがより便利である可能性がある。
本明細書に開示されるシステムおよび方法は、コンピュータプログラム製品として、すなわち、データ処理装置、例えば、プログラマブルプロセッサ、コンピュータ、もしくは複数のコンピュータによって実行するため、または、これらの動作を制御するための、情報担体、例えば、機械可読記憶装置、または、伝播される信号内で実体的に具体化されたコンピュータプログラムとして実装されてよい。コンピュータプログラムは、コンパイルまたはインタプリタ言語を含む任意の形式のプログラム言語で書かれてよく、独立型プログラムとして、または、モジュール、構成要素、サブルーチン、もしくは、コンピューティング環境で使用するのに適した他のユニットとして、を含む、任意の形式で配置されてよい。コンピュータプログラムは、1つのコンピュータ上で、または、1つのサイトで、もしくは、複数のサイトにわたって分散され、通信ネットワークによって相互接続された複数のコンピュータ上で実行されるように配置されてよい。
本明細書で使用される「ユーザ」という用語は、人間またはコンピュータを含む任意の実体を指すことができる。
第1、第2、などの序数は、いくつかの状況では、順序に関係する場合があるが、本文書で使用される序数は、必ずしも順序を意味しない。例えば、序数は、単にある項目を別の項目から区別するために使用される場合がある。例えば、第1のイベントを第2のイベントから区別することは、しかし、(記述のある段落での第1のイベントが、記述の別の段落での第1のイベントと異なることができるように)どのような時間的順序または固定された基準システムも意味する必要はない。
前述の説明は、添付の特許請求の範囲によって定義される本発明の範囲を示すが、限定しないように意図される。他の実装は、以下の特許請求の範囲内である。
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリケーション、構成要素、またはコードとも呼ばれる場合がある、これらのコンピュータプログラムは、プログラマブルプロセッサのための機械語命令を含み、高級手続き型および/もしくはオブジェクト指向プログラミング言語、並びに/または、アセンブリ/機械語で実装されてよい。本明細書で使用される「機械可読媒体」という用語は、機械語命令を機械可読信号として受信する機械可読媒体を含むプログラマブルプロセッサに機械語命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、装置および/またはデバイス、例えば、磁気ディスク、光ディスク、メモリ、およびプログラマブル論理デバイス(PLD)などを指す。「機械可読信号」という用語は、機械語命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。機械可読媒体は、例えば、非一時的固体メモリもしくは磁気ハードドライブ、または、任意の同等の記憶媒体のように、このような機械語命令を非一時的に格納することができる。機械可読媒体は、代わりにまたは加えて、例えば、プロセッサキャッシュ、または、1つもしくは複数の物理的プロセッサコアに関連付けられた他のランダムアクセスメモリのように、このような機械語命令を一時的な方法で格納することができる。
ユーザとのインタラクションを提供するために、本明細書に記載の主題は、例えば、ユーザに情報を表示するための陰極線管(CRT)または液晶ディスプレイ(LCD)モニタなど表示装置、並びに、キーボード、および、例えば、マウスまたはトラックボールなどポインティングデバイスを有するコンピュータ上で実装されてよく、キーボードおよびポインティングデバイスによって、ユーザは、コンピュータに入力を提供することができる。同様に、ユーザとのインタラクションを提供するために、他の種類の装置が使用されてよい。例えば、ユーザに提供されるフィードバックは、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックなど、任意の形式の感覚フィードバックであってよく、ユーザからの入力は、音響、音声、または触覚入力を含むが、これらに限定されない任意の形式で受信されてよい。
本明細書に記載の主題は、例えば、1つもしくは複数のデータサーバなどバックエンド構成要素を含む、または、例えば、1つもしくは複数のアプリケーションサーバなどミドルウェア構成要素を含む、または、例えば、グラフィカルユーザインタフェースもしくはウェブブラウザを有する1つもしくは複数のクライアントコンピュータなどフロントエンド構成要素を含むコンピューティングシステムで実装されてよく、グラフィカルユーザインタフェースもしくはウェブブラウザを介して、ユーザは、本明細書に記載の主題の実装と、または、このようなバックエンド、ミドルウェア、もしくはフロントエンド構成要素の任意の組み合わせとインタラクションすることができる。システムの構成要素は、例えば、通信ネットワークなど、デジタルデータ通信の任意の形式または媒体によって相互接続されてよい。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、およびインターネットを含むが、これらに限定されない。
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般的に、しかし排他的ではなく、互いに離れ、典型的には、通信ネットワークを介してインタラクションする。クライアントおよびサーバの関係は、個々のコンピュータ上で動作し、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
上記の説明に記載された実装は、本明細書に記載の主題と一致するすべての実装を表さない。代わりに、それらは、単に、記載された主題に関連する態様に一致するいくつかの例である。いくつかの変形が、上記で詳細に説明されているが、他の修正または追加が可能である。具体的には、さらなる特徴および/または変形が、本明細書に記載のものに加えて提供されてよい。例えば、上記の実装は、開示された特徴の様々な組み合わせおよび部分的組み合わせ、並びに/または、上記で開示されたいくつかの他の特徴の組み合わせおよび部分的組み合わせに向けられてよい。加えて、添付図面に示されたおよび/または本明細書に記載された論理の流れは、所望の結果を達成するために、示された特定の順序、または一連の順序を、必ずしも必要としない。他の実装が、以下の特許請求の範囲内であってよい。
100 メタデータ複製システム
102 ERPシステム
104 ミドルウェアシステム
106 IMDBシステム
110 データベース
112 データベース
114 辞書
116 辞書複製器モジュール
118 辞書
120 複製制御モジュール
200 システム
202 NGAPシステム
204 辞書複製器モジュール
206 辞書
208 ABAPプログラミングおよびOpenSQLモジュール
210 IMDB
212 ABAPスキーマ
214 複製スキーマ
216 実行時オブジェクト
218 複製制御モジュール

Claims (17)

  1. 第1のシステム内でビジネスオブジェクトを生成する工程と、
    前記生成されたビジネスオブジェクトを前記第1のシステムから第2のシステムに複製する工程と、
    少なくとも1つのシステム固有のビューに基づいて、前記複製されたビジネスオブジェクトを実装する高性能アプリケーションを実行する工程と、を含み、
    前記実行する工程は、
    ビジネスオブジェクトに関するメタデータを前記第1のシステムから取得する工程と、
    前記取得されたメタデータを前記第2のシステムに提供する工程と、
    前記提供されたメタデータを使用して、前記第2のシステム内の少なくとも1つのビジネスオブジェクトへのアクセスを提供する工程と、
    少なくとも1つの属性、解析、および/または計算ビューに基づいて、前記第2のシステムの少なくとも1つのアーティファクトを生成する工程と、をさらに含み、
    前記生成する工程、前記複製する工程、および前記実行する工程の少なくとも1つは、少なくとも1つのプロセッサ上で実行される、コンピュータ実装方法。
  2. 前記第1のシステムは、企業資源計画システムである、請求項1に記載の方法。
  3. 前記第2のシステムは、高性能分析アプライアンスインメモリデータベースシステムである、請求項1に記載の方法。
  4. 前記複製する工程は、前記第2のシステムに格納された少なくとも1つの複製スキーマに基づいて実行される、請求項1に記載の方法。
  5. 前記ビジネスオブジェクトは、少なくとも1つの列および少なくとも1つの行を含むテーブルを含み、
    データ複製器モジュールは、前記テーブル内の少なくとも1つの列を引き継ぐ、前記第1のシステムの前記テーブルに加えられたメタデータを引き継ぐ、前記第2のシステム内の前記テーブルを再命名する、引き継ぐ前記テーブルに関連付けられた少なくとも1つの外部キーを任意に指定する、引き継ぐ前記テーブルに関連付けられた少なくとも1つのインデックスを任意に指定する、前記第2のシステム内の前記テーブルを格納するための行ストアまたは列ストアの少なくとも1つを指定する、列を追加する、列を削除する、および、少なくとも1つのデータ型マッピングを提供する、の少なくとも1つを実行することによって、前記複製する工程を実行する、請求項1に記載の方法。
  6. 前記データ複製器モジュールは、前記第2のシステム内の複製されたテーブルへのアクセスを提供するための複製投影ビュー、および、前記第2のシステムへのOpenSQLアクセスを提供するための外部ビュー、の少なくとも1つを作成する、請求項5に記載の方法。
  7. 少なくとも1つのプログラマブルプロセッサによって実行されたとき、前記少なくとも1つのプログラマブルプロセッサに、
    第1のシステム内でビジネスオブジェクトを生成する工程と、
    前記生成されたビジネスオブジェクトを前記第1のシステムから第2のシステムに複製する工程と、
    少なくとも1つのシステム固有のビューに基づいて、前記複製されたビジネスオブジェクトを実装する高性能アプリケーションを実行する工程であって、
    ビジネスオブジェクトに関するメタデータを前記第1のシステムから取得する工程と、
    前記取得されたメタデータを前記第2のシステムに提供する工程と、
    前記提供されたメタデータを使用して、前記第2のシステム内の少なくとも1つのビジネスオブジェクトへのアクセスを提供する工程と、
    属性、解析、および/または計算ビューに基づいて、前記第2のシステムの少なくとも1つのアーティファクトを生成する工程と、をさらに含む前記実行する工程と、
    を含む操作を実行させる命令を備えるコンピュータプログラム。
  8. 前記第1のシステムは、企業資源計画システムである、請求項7に記載のコンピュータプログラム。
  9. 前記第2のシステムは、高性能分析アプライアンスインメモリデータベースシステムである、請求項7に記載のコンピュータプログラム。
  10. 前記複製する工程は、前記第2のシステムに格納された少なくとも1つの複製スキーマに基づいて実行される、請求項7に記載のコンピュータプログラム。
  11. 前記ビジネスオブジェクトは、少なくとも1つの列および少なくとも1つの行を含むテーブルを含み、
    データ複製器モジュールは、前記テーブル内の少なくとも1つの列を引き継ぐ、前記第1のシステムの前記テーブルに加えられたメタデータを引き継ぐ、前記第2のシステム内の前記テーブルを再命名する、引き継ぐ前記テーブルに関連付けられた少なくとも1つの外部キーを任意に指定する、引き継ぐ前記テーブルに関連付けられた少なくとも1つのインデックスを任意に指定する、前記第2のシステム内の前記テーブルを格納するための行ストアまたは列ストアの少なくとも1つを指定する、列を追加する、列を削除する、および、少なくとも1つのデータ型マッピングを提供する、の少なくとも1つを実行することによって、前記複製する工程を実行する、請求項7に記載のコンピュータプログラム。
  12. 前記データ複製器モジュールは、前記第2のシステム内の複製されたテーブルへのアクセスを提供するための複製投影ビュー、および、前記第2のシステムへのOpenSQLアクセスを提供するための外部ビュー、の少なくとも1つを作成する、請求項11に記載のコンピュータプログラム。
  13. 少なくとも1つのプログラマブルプロセッサと、
    機械可読記録媒体と、を備え、前記機械可読記録媒体は、
    前記少なくとも1つのプログラマブルプロセッサによって実行されたとき、前記少なくとも1つのプログラマブルプロセッサに、
    第1のシステム内でビジネスオブジェクトを生成する工程と、
    前記生成されたビジネスオブジェクトを前記第1のシステムから第2のシステムに複製す
    る工程と、
    少なくとも1つのシステム固有のビューに基づいて、前記複製されたビジネスオブジェクトを実装する高性能アプリケーションを実行する工程であって
    ビジネスオブジェクトに関するメタデータを前記第1のシステムから取得する工程と、
    前記取得されたメタデータを前記第2のシステムに提供する工程と、
    前記提供されたメタデータを使用して、前記第2のシステム内の少なくとも1つのビジネスオブジェクトへのアクセスを提供する工程と、
    属性、解析、および/または計算ビューに基づいて、前記第2のシステムの少なくとも1つのアーティファクトを生成する工程と、をさらに含む前記実行する工程と、
    を含む操作を実行させる命令を格納する、システム。
  14. 前記第1のシステムは、企業資源計画システムであり、前記第2のシステムは、高性能分析アプライアンスインメモリデータベースシステムである、請求項13に記載のシステム。
  15. 前記複製する工程は、前記第2のシステムに格納された少なくとも1つの複製スキーマに基づいて実行される、請求項13に記載のシステム。
  16. 前記ビジネスオブジェクトは、少なくとも1つの列および少なくとも1つの行を含むテーブルを含み、
    データ複製器モジュールは、前記テーブル内の少なくとも1つの列を引き継ぐ、前記第1のシステムの前記テーブルに加えられたメタデータを引き継ぐ、前記第2のシステム内の前記テーブルを再命名する、引き継ぐ前記テーブルに関連付けられた少なくとも1つの外部キーを任意に指定する、引き継ぐ前記テーブルに関連付けられた少なくとも1つのインデックスを任意に指定する、前記第2のシステム内の前記テーブルを格納するための行ストアまたは列ストアの少なくとも1つを指定する、列を追加する、列を削除する、および、少なくとも1つのデータ型マッピングを提供する、の少なくとも1つを実行することによって、前記複製する工程を実行する、請求項13に記載のシステム。
  17. 前記データ複製器モジュールは、前記第2のシステム内の複製されたテーブルへのアクセスを提供するための複製投影ビュー、および、前記第2のシステムへのOpenSQLアクセスを提供するための外部ビュー、の少なくとも1つを作成する、請求項16に記載のシステム。
JP2013258976A 2012-12-18 2013-12-16 インメモリデータベース処理のためのシステムおよび方法 Active JP6325246B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/718,251 US8996565B2 (en) 2012-12-18 2012-12-18 Systems and methods for in-memory database processing
US13/718,251 2012-12-18

Publications (2)

Publication Number Publication Date
JP2014120174A JP2014120174A (ja) 2014-06-30
JP6325246B2 true JP6325246B2 (ja) 2018-05-16

Family

ID=49033781

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013258976A Active JP6325246B2 (ja) 2012-12-18 2013-12-16 インメモリデータベース処理のためのシステムおよび方法

Country Status (5)

Country Link
US (1) US8996565B2 (ja)
EP (1) EP2746965B1 (ja)
JP (1) JP6325246B2 (ja)
CN (1) CN103870536B (ja)
CA (1) CA2836829C (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10885001B2 (en) * 2013-01-17 2021-01-05 International Business Machines Corporation System and method for assigning data to columnar storage in an online transactional system
CN104376025B (zh) * 2013-08-16 2017-10-10 华为技术有限公司 分布式数据库的数据存储方法和装置
US9734221B2 (en) 2013-09-12 2017-08-15 Sap Se In memory database warehouse
US9734230B2 (en) * 2013-09-12 2017-08-15 Sap Se Cross system analytics for in memory data warehouse
US9613074B2 (en) 2013-12-23 2017-04-04 Sap Se Data generation for performance evaluation
US10097660B2 (en) * 2014-03-27 2018-10-09 Oracle International Corporation System and method for supporting data type conversion in a heterogeneous computing environment
KR101679011B1 (ko) * 2014-06-26 2016-11-24 주식회사 알티베이스 데이터베이스에서 데이터 이동을 처리하는 방법 및 장치
CN106326249B (zh) * 2015-06-23 2021-08-03 中兴通讯股份有限公司 数据整合处理方法及装置
US10120886B2 (en) * 2015-07-14 2018-11-06 Sap Se Database integration of originally decoupled components
US10713375B2 (en) * 2015-10-09 2020-07-14 Sap Se Database public interface
US9842139B1 (en) * 2016-12-28 2017-12-12 Accenture Global Solutions Limited Metadata-driven program code generation for clinical data analysis
KR20190046169A (ko) 2017-10-25 2019-05-07 에스케이하이닉스 주식회사 데이터 처리 시스템 및 데이터 처리 시스템의 동작방법
TWI696076B (zh) 2018-06-08 2020-06-11 大陸商深圳大心電子科技有限公司 指令處理方法及儲存控制器
CN108897837A (zh) * 2018-06-26 2018-11-27 郑州云海信息技术有限公司 数据库中数据管理方法和装置
CN109344004A (zh) * 2018-09-03 2019-02-15 郑州云海信息技术有限公司 一种内存数据库备份管理方法、装置、终端及存储介质
US11275725B2 (en) * 2020-01-29 2022-03-15 Salesforce.Com, Inc. Transporting a database structure from a first version to a second version
CN112215652A (zh) * 2020-10-12 2021-01-12 上海酷量信息技术有限公司 一种跨平台复制广告策略系统及方法
TWI763131B (zh) * 2020-11-18 2022-05-01 瑞昱半導體股份有限公司 網路介面裝置、包含該網路介面裝置之電子裝置,及網路介面裝置的操作方法
CN113064919B (zh) * 2021-03-31 2022-11-22 北京达佳互联信息技术有限公司 数据处理方法、数据存储系统、计算机设备及存储介质
WO2025143322A1 (ko) * 2023-12-28 2025-07-03 주식회사 조인클라우드 대용량 에지 데이터의 실시간 수집, 처리 및 저장을 위한 인메모리 기반 데이터 처리 시스템 및 방법

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6331856B1 (en) * 1995-11-22 2001-12-18 Nintendo Co., Ltd. Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing
US6532479B2 (en) * 1998-05-28 2003-03-11 Oracle Corp. Data replication for front office automation
EP1093061A1 (de) * 1999-10-14 2001-04-18 SAP Aktiengesellschaft Integriertes Datenbank-Verbundsystem
US20050055382A1 (en) 2000-06-28 2005-03-10 Lounas Ferrat Universal synchronization
US6954757B2 (en) * 2001-02-02 2005-10-11 Hewlett-Packard Development Company, L.P. Framework, architecture, method and system for reducing latency of business operations of an enterprise
US20020147606A1 (en) * 2001-03-14 2002-10-10 Norbert Hoffmann Application development method
US7257820B2 (en) * 2001-04-14 2007-08-14 Siebel Systems, Inc. Method and system for using integration objects with enterprise business applications
US6948088B1 (en) * 2001-06-13 2005-09-20 Cisco Technology, Inc. Methods and apparatus for efficient transaction processing on redundant systems
US7739393B2 (en) * 2002-01-28 2010-06-15 Cisco Technology, Inc. Apparatus and method for restoring traffic during failover in a cable head end
US20050044164A1 (en) * 2002-12-23 2005-02-24 O'farrell Robert Mobile data and software update system and method
US7092973B2 (en) * 2002-12-23 2006-08-15 Sap Aktiengesellschaft Conflict detection in a distributed system landscape
US20040193952A1 (en) * 2003-03-27 2004-09-30 Charumathy Narayanan Consistency unit replication in application-defined systems
WO2004092982A2 (en) * 2003-04-07 2004-10-28 Dexterra, Inc. System and method for context sensitive mobile data and software update
US7831693B2 (en) * 2003-08-18 2010-11-09 Oracle America, Inc. Structured methodology and design patterns for web services
US20050071596A1 (en) * 2003-09-26 2005-03-31 International Business Machines Corporation Method, apparatus and program storage device for providing automatic performance optimization of virtualized storage allocation within a network of storage elements
US20060026018A1 (en) * 2004-03-08 2006-02-02 Exner Bryan J System and method for determining eligibility for multiple programs
US20050251527A1 (en) * 2004-05-07 2005-11-10 Mark Phillips System and method for integrating disparate data and application sources using a web services orchestration platform with business process execution language (BPEL)
US7506297B2 (en) * 2004-06-15 2009-03-17 University Of North Carolina At Charlotte Methodology for scheduling, partitioning and mapping computational tasks onto scalable, high performance, hybrid FPGA networks
US20060212530A1 (en) * 2005-03-21 2006-09-21 Dexterra, Inc. Adapter architecture for mobile data system
US20070143339A1 (en) 2005-12-20 2007-06-21 Springett John C Architecture for a smart enterprise framework and methods thereof
US9292822B2 (en) * 2006-01-03 2016-03-22 Motio, Inc. Supplemental system for business intelligence systems
US8799181B2 (en) * 2006-05-09 2014-08-05 Sag Ag Business process federated repository
US20080162509A1 (en) 2006-12-29 2008-07-03 Becker Wolfgang A Methods for updating a tenant space in a mega-tenancy environment
US8640086B2 (en) * 2006-12-29 2014-01-28 Sap Ag Graphical user interface system and method for presenting objects
US7870561B2 (en) * 2007-04-30 2011-01-11 Sap Ag Technical place servicing integration
US20090172003A1 (en) * 2007-12-27 2009-07-02 Frank Jentsch Secondary Persistencies in a Service-Oriented Business Framework
US8356288B2 (en) * 2008-11-10 2013-01-15 Sap Ag Method and apparatus for monitoring runtime of persistence applications
US8135716B2 (en) * 2008-12-10 2012-03-13 Sap Ag Systems and method for mapping large object data content in a database table to a work area
JP4939568B2 (ja) * 2009-04-28 2012-05-30 インターナショナル・ビジネス・マシーンズ・コーポレーション データベース間でデータを同期するための方法、並びにそのコンピュータ・システム及びコンピュータ・プログラム
US8863132B2 (en) * 2009-05-08 2014-10-14 Sap Se Using abstraction layers to facilitate communication between systems
US8407184B2 (en) 2010-06-07 2013-03-26 Salesforce.Com, Inc. Maintaining applications that are occasionally connected to an online services system
US9460176B2 (en) 2010-12-29 2016-10-04 Sap Se In-memory database for multi-tenancy
CN102495832A (zh) * 2011-12-12 2012-06-13 方正国际软件有限公司 软件开发过程中文档自动生成系统
US9542437B2 (en) * 2012-01-06 2017-01-10 Sap Se Layout-driven data selection and reporting

Also Published As

Publication number Publication date
JP2014120174A (ja) 2014-06-30
CN103870536B (zh) 2019-08-16
EP2746965B1 (en) 2019-03-06
CA2836829A1 (en) 2014-06-18
US8996565B2 (en) 2015-03-31
CA2836829C (en) 2022-01-04
US20140172788A1 (en) 2014-06-19
CN103870536A (zh) 2014-06-18
EP2746965A1 (en) 2014-06-25

Similar Documents

Publication Publication Date Title
JP6325246B2 (ja) インメモリデータベース処理のためのシステムおよび方法
US10452650B1 (en) Data querying
US11176004B2 (en) Test continuous log replay
US11507575B2 (en) Complex query rewriting
US9886270B2 (en) Layered business configuration
US9600299B2 (en) Application object framework
US20210311946A1 (en) Scaled-out query execution engine
US20210303562A1 (en) Database calculation engine with dynamic top operator
US9792342B2 (en) Copy procedure to reduce downtime for a source system
US11789948B2 (en) Computational dependency directory
US11169886B2 (en) Modification of temporary database pages
US11526513B2 (en) SQL interface for embedded graph subqueries
US10503752B2 (en) Delta replication
US10969990B2 (en) Parallel database page flushing
EP3751428B1 (en) Implicit partitioning
US11048728B2 (en) Dependent object analysis
US20180173805A1 (en) Application programming interface for detection and extraction of data changes
US11354357B2 (en) Database mass entry insertion
US12079174B2 (en) Data retrieval from archived data storage
US12197460B2 (en) Transport of master data dependent customizations
US11947488B2 (en) Graphic migration of unstructured data
US11593349B2 (en) Master data substitution
US11106698B2 (en) Multi-master with ownership transfer
US20120246440A1 (en) Co-storage of data storage page linkage, size, and mapping

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171023

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180412

R150 Certificate of patent or registration of utility model

Ref document number: 6325246

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250