JP6225261B2 - データを記憶する方法及び装置 - Google Patents

データを記憶する方法及び装置 Download PDF

Info

Publication number
JP6225261B2
JP6225261B2 JP2016537067A JP2016537067A JP6225261B2 JP 6225261 B2 JP6225261 B2 JP 6225261B2 JP 2016537067 A JP2016537067 A JP 2016537067A JP 2016537067 A JP2016537067 A JP 2016537067A JP 6225261 B2 JP6225261 B2 JP 6225261B2
Authority
JP
Japan
Prior art keywords
data
data object
format
attribute
distributed database
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
JP2016537067A
Other languages
English (en)
Other versions
JP2016534456A (ja
JP2016534456A5 (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2016534456A publication Critical patent/JP2016534456A/ja
Publication of JP2016534456A5 publication Critical patent/JP2016534456A5/ja
Application granted granted Critical
Publication of JP6225261B2 publication Critical patent/JP6225261B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/221Column-oriented storage; Management thereof
    • 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/2264Multidimensional index structures
    • 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/2272Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24562Pointer or reference processing operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases

Description

本発明は情報技術分野に関し、特に、データを記憶する方法及び装置に関する。
分散カラム記憶データベースとして、キー値(KeyValue)式分散データベースは高いスケーラビリティとロバストネスをもち、ますます多くのシステムに幅広く適用されている。KeyValue式分散データベースのユーザーテーブルは、一般に、比較的単純なデータフォーマットで単純な相関をもつが量が膨大であるデータを記憶するように設計され、例えば、ウェブページアドレス情報の記憶、通話記録情報の記憶又はネットワークアクセス記録情報の記憶等のために設計される。KeyValue式分散データベースにより、データ記録のローキー(RowKey)による高速クエリが可能であり、高速クエリはデータ量に関係がない。現在の記憶スペース使用率が閾値に達した場合、KeyValue式分散データベースに対して動的に物理ノードを追加することができる。
企業が既存のデータベースを適用する場合、一般に、多くのユーザーデータテーブルが相関し、これらのデータテーブルは異なるサイズを有し、テーブルのデータ間に内部相関が存在する場合がある。しかしながら、スパースマトリックスに基づくKeyValue式分散データベースは、データ量の大きいテーブルを記憶するのに適している。これらの元のテーブルが直接的にKeyValue式分散データベースにインポートされると、非常に小さなテーブルが存在する。したがって、クロステーブル相関クエリを実施することが困難であり、管理の複雑性も増大してしまう。すなわち、1つのユーザーテーブルと別のユーザーテーブルとの間で相関クエリを完了するために、従来の適用においてデータがKeyValue式分散データベースに移行されると、異なるテーブルをクエリする必要があり、持続的にデータの位置決めを実行する必要があり、効率が低くなってしまう。
本発明の実施形態は、データクエリ効率を改善することのできる、データを記憶する方法及び装置を提供する。
第1の態様はデータを記憶する方法を提供する。本方法は、KeyValue式分散データベースに記憶されるべき少なくとも2つのデータオブジェクトの同じカラム属性を決定するステップと、少なくとも2つのデータオブジェクトの各データオブジェクトのKeyValue式分散データベースにおけるロー識別子のフォーマットを決定するステップであって、ロー識別子フォーマットは同じカラム属性及びデータオブジェクト識別子を含み、少なくとも2つのデータオブジェクトのうち異なるデータオブジェクトのデータオブジェクト識別子は、ロー識別子フォーマット内の同じ位置にあり、且つ同じカラム属性の後に位置する、ステップと、各データオブジェクトの決定されたロー識別子フォーマットに従って、各データオブジェクトの各データ記録のロー識別子値を決定するステップと、KeyValue式分散データベースに、各データ記録のロー識別子値と各データ記録とを記憶するステップであって、各データ記録のロー識別子値は、各データ記録のKeyValue式分散データベースにおける主索引として利用される、ステップと、を有する。
第1の可能な実施方式では、本方法は更に、全てのデータ記録のロー識別子値に対して、少なくとも2つのデータオブジェクトの全てのデータ記録がクラスターテーブルを形成するように、全てのデータ記録を第1の順序にソートするステップ、を有する。
第1の態様の第1の可能な実施形式に関して、第2の可能な実施形式では、第1の順序は辞書式順序である。
第1の態様又は第1の態様の第1若しくは第2の可能な実施形式に関して、第3の可能な実施形式では、本方法は更に、データリクエストを受信するステップであって、データリクエストは、少なくとも2つのデータオブジェクトのデータ記録をクエリ又は取得することを命令する、ステップと、ロー識別子フォーマットに従って、KeyValue式分散データベースにおいてクエリを行うためのクエリ情報を構成するステップであって、クエリ情報は同じカラム属性を含む、ステップと、クエリ情報に従って、その主索引がクエリ情報を含むデータ記録をKeyValue式分散データベースからエクスポートするステップと、を有する。
第1の態様又は第1の態様の第1〜第3の可能な実施形式のうちいずれかの可能な実施形式に関して、第4の可能な実施形式では、少なくとも2つのデータオブジェクトの各データオブジェクトのKeyValue式分散データベースにおけるロー識別子のフォーマットを決定するステップは、少なくとも2つのデータオブジェクトに対して、KeyValue式分散データベース中のロー識別子の第1のプレフィックスを指定するステップであって、第1のプレフィックスは定数である、ステップと、少なくとも2つのデータオブジェクト中の第1のデータオブジェクトのロー識別子フォーマットが、第1のプレフィックスと、同じカラム属性と、第1のデータオブジェクトのデータオブジェクト識別子とを含むことを決定するステップか、又は、少なくとも2つのデータオブジェクト中の第2のデータオブジェクトのロー識別子フォーマットが、第1のプレフィックスと、同じカラム属性と、第2のデータオブジェクトのデータオブジェクト識別子と、第2のデータオブジェクトのカラム属性のうち第2のデータオブジェクトの全てのデータ記録を区別できるカラム属性とを含むことを決定するステップと、を含む。
第1の態様の第4の可能な実施形式に関して、第5の可能な実施形式では、クエリ情報は第1のプレフィックス及び同じカラム属性を含む。
第1の態様の第4又は第5の可能な実施形式に関して、第6の可能な実施形式では、本方法は更に、少なくとも2つのデータオブジェクトのうち任意のデータオブジェクトのKeyValue式分散データベースにおける副索引のフォーマットが第2のプレフィックス、第2の属性及び同じカラム属性であることを決定するステップであって、第2の属性は、任意のデータオブジェクトのカラム属性にあり、且つ同じ属性とは異なるカラム属性であり、第2のプレフィックスは第1のプレフィックスとは異なる定数である、ステップと、任意のデータオブジェクトの副索引のフォーマットに従って、任意のデータオブジェクトの副索引を決定するステップと、任意のデータオブジェクトの副索引を、KeyValue式分散データベースに記憶するステップと、を有する。
第1の態様又は第1の態様の第1〜第6の可能な実施形式のうちいずれかの可能な実施形式に関して、第7の可能な実施形式では、ロー識別子フォーマットのフィールド間、又は固定長を有するフィールド間に、セパレータが設定される。
第2の態様はデータ記憶装置を提供する。本データ記憶装置は、キー値(KeyValue)式分散データベースに記憶されるべき少なくとも2つのデータオブジェクトの同じカラム属性を決定するように構成され、少なくとも2つのデータオブジェクトの各データオブジェクトのKeyValue式分散データベースにおけるロー識別子のフォーマットを決定するように構成され、ロー識別子フォーマットは同じカラム属性及びデータオブジェクト識別子を含み、少なくとも2つのデータオブジェクトのうち異なるデータオブジェクトのデータオブジェクト識別子は、ロー識別子フォーマット内の同じ位置にあり、且つ同じカラム属性の後にあり、各データオブジェクトの決定されたロー識別子フォーマットに従って、各データオブジェクトの各データ記録のロー識別子値を決定するように構成される決定モジュールと、KeyValue式分散データベースに、各データ記録のロー識別子値と各データ記録とを記憶するように構成される記憶モジュールであって、各データ記録のロー識別子値は、各データ記録のKeyValue式分散データベースにおける主索引として利用される、記憶モジュールと、を備える。
第1の可能な実施方式では、記憶モジュールは更に、全てのデータ記録のロー識別子値に対して、少なくとも2つのデータオブジェクトの全てのデータ記録がクラスターテーブルを形成するように、全てのデータ記録を第1の順序にソートするように構成される。
第2の態様の第1の可能な実施形式に関して、第2の可能な実施形式では、第1の順序は辞書式順序である。
第2の態様又は第2の態様の第1若しくは第2の可能な実施形式に関して、第3の可能な実施形式では、本装置は更に、データリクエストを受信するように構成される受信モジュールであって、データリクエストは、少なくとも2つのデータオブジェクトのデータ記録をクエリ又は取得することを命令する、受信モジュールと、ロー識別子フォーマットに従って、KeyValue式分散データベースにおいてクエリを行うためのクエリ情報を構成するように構成され、クエリ情報は同じカラム属性を含み、且つ、クエリ情報に従って、その主索引がクエリ情報を含むデータ記録をKeyValue式分散データベースからエクスポートするように構成されるクエリモジュールと、を備える。
第2の態様又は第2の態様の第1〜第3の可能な実施形式のうちいずれかの可能な実施形式に関して、第4の可能な実施形式では、決定モジュールは、特に、少なくとも2つのデータオブジェクトに対して、KeyValue式分散データベース中のロー識別子の第1のプレフィックスを指定するように構成され、第1のプレフィックスは定数であり、且つ、少なくとも2つのデータオブジェクト中の第1のデータオブジェクトのロー識別子フォーマットが、第1のプレフィックスと、同じカラム属性と、第1のデータオブジェクトのデータオブジェクト識別子とを含むことを決定するか、又は、少なくとも2つのデータオブジェクト中の第2のデータオブジェクトのロー識別子フォーマットが、第1のプレフィックスと、同じカラム属性と、第2のデータオブジェクトのデータオブジェクト識別子と、第2のデータオブジェクトのカラム属性のうち第2のデータオブジェクトの全てのデータ記録を区別できるカラム属性とを含むことを決定するように構成される。
第2の態様の第4の可能な実施形式に関して、第5の可能な実施形式では、クエリ情報は第1のプレフィックス及び同じカラム属性を含む。
第2の態様の第4又は第5の可能な実施形式に関して、第6の可能な実施形式では、決定モジュールは更に、少なくとも2つのデータオブジェクトのうち任意のデータオブジェクトのKeyValue式分散データベースにおける副索引のフォーマットが、第2のプレフィックス、第2の属性及び同じカラム属性であることを決定するように構成され、第2の属性は、任意のデータオブジェクトのカラム属性にあり、且つ同じ属性とは異なるカラム属性であり、第2のプレフィックスは第1のプレフィックスとは異なる定数であり、且つ、任意のデータオブジェクトの副索引のフォーマットに従って、任意のデータオブジェクトの副索引を決定するように構成される。記憶モジュールは更に、任意のデータオブジェクトの副索引をKeyValue式分散データベースに記憶するように構成される。
第2の態様又は第2の態様の第1〜第6の可能な実施形式のうちいずれかの可能な実施形式に関して、第7の可能な実施形式では、ロー識別子フォーマットのフィールド間、又は固定長を有するフィールド間に、セパレータが設定される。
上述の技術的解決策に基づき、本発明の実施形態におけるデータを記憶する方法及び装置では、複数のデータオブジェクトに対して相関クエリを実行できるように、同じカラム属性を含むロー識別子フォーマットを利用することにより、相関するデータオブジェクトがKeyValue式分散データベースに記憶される。よって、データクエリ効率が改善される。
本発明の実施形態における技術的解決策をより明確に説明するために、以下、本発明の実施形態の説明に要する添付の図面を簡単に紹介する。当然ながら、以下の説明において、添付の図面は本発明の一部の実施形態を示すに過ぎない。当業者であれば、これらの添付の図面から創意工夫なく他の図面を更に導出できるであろう。
本発明の実施形態に係るデータを記憶する方法の概略フローチャートである。 本発明の実施形態に係るロー識別子フォーマットを決定する方法の概略フローチャートである。 本発明の別の実施形態に係るデータを記憶する方法の概略フローチャートである。 本発明の更に別の実施形態に係るデータを記憶する方法の概略フローチャートである。 本発明の実施形態に係るデータ記憶装置の概略ブロック図である。 本発明の別の実施形態に係るデータ記憶装置の概略ブロック図である。 本発明の実施形態に係るデータ記憶装置の概略構造図である。
以下、本発明の実施形態において添付の図面を参照して、本発明の実施形態における技術的解決策を明確且つ完全に説明する。当然ながら、説明される実施形態は本発明の実施形態の一部であり、全部ではない。当業者が本発明の実施形態に基づいて創意工夫なく得る他の実施形態は、全て本発明の保護範囲に包含されるものとする。
本発明の実施形態における技術的解決策は、KeyValue式分散データベースに適用されてよい。
本発明の実施形態では、データオブジェクトはデータテーブル(簡単にテーブルとも呼ばれる)又はデータテーブルフォーマットのデータである。例えば、データは、記録データ、ネットワークアクセス記録データ等と呼ばれてよい。説明を簡単にするために、以下の実施形態では、データテーブルを例に用いて説明する。
図1は、本発明の実施形態に係るデータを記憶する方法100の概略フローチャートを示す。図1の方法はデータ記憶装置によって実行される。図1に示されるように、方法100は以下のステップを有する。
S110:KeyValue式分散データベースに記憶されるべき少なくとも2つのデータオブジェクトの同じカラム属性を決定する。
S120:少なくとも2つのデータオブジェクトの各データオブジェクトのKeyValue式分散データベースにおけるロー識別子のフォーマットを決定する。ロー識別子フォーマットは、同じカラム属性及びデータオブジェクト識別子を含む。少なくとも2つのデータオブジェクトのうち異なるデータオブジェクトのデータオブジェクト識別子は、ロー識別子フォーマット内の同じ位置にあり、且つ同じカラム属性の後に位置する。
S130:各データオブジェクトの決定されたロー識別子フォーマットに従って、各データオブジェクトの各データ記録のロー識別子値を決定する。
S140:KeyValue式分散データベースに、各データ記録のロー識別子値と各データ記録とを記憶する。各データ記録のロー識別子値は、各データ記録のKeyValue式分散データベースにおける主索引として利用される。
本発明の本実施形態では、複数の(すなわち少なくとも2つ)のデータオブジェクトが相関するとき、すなわち複数のデータオブジェクトが同じカラム属性を有するとき、複数のデータオブジェクトに対する相関クエリを容易にするために、データ記憶装置は、KeyValue式分散データベースの1つのテーブルに複数のデータオブジェクトを記憶する。データ記憶装置は、同じカラム属性に基づいて、各データオブジェクトのKeyValue式分散データベースにおけるロー識別子(例えばRowKey)のフォーマットを決定する。ロー識別子フォーマットは、同じカラム属性及びデータオブジェクト識別子を含む。少なくとも2つのデータオブジェクトのうち異なるデータオブジェクトのデータオブジェクト識別子は、ロー識別子フォーマット内の同じ位置にあり、且つ同じカラム属性の後に位置する。すなわち、全てのデータオブジェクトのロー識別子フォーマットは、クエリを容易にするために同じカラム属性を有し、更に、異なるデータオブジェクトを区別すために、データオブジェクトに対応するデータオブジェクト識別子を有する。異なるデータオブジェクトのロー識別子フォーマットが一貫した構成になるように、異なるデータオブジェクトのデータオブジェクト識別子は、ロー識別子フォーマットの同じ位置にあり、且つ、同じカラム属性の後に位置する。そして、データ記憶装置は、決定されたロー識別子フォーマットに従って各データオブジェクトの各データ記録のロー識別子値を決定し、各データ記録のロー識別子値と各データ記録とをKeyValue式分散データベースに記憶する。各データ記録のロー識別子値は、各データ記録のKeyValue式分散データベースにおける主索引として利用される。複数の相関するデータオブジェクトについて一貫したロー識別子フォーマットが利用されるので、このように、データクエリの間、1つのデータテーブルにおいて複数のデータオブジェクトに対して相関クエリを実施できるように、ロー識別子フォーマットに従ってクエリ情報が構成される。よって、データクエリ効率が改善される。
したがって、本発明の本実施形態におけるデータを記憶する方法では、複数のデータオブジェクトに対して相関クエリを実施できるように、同じカラム属性を含むロー識別子フォーマットを利用して、相関するデータオブジェクトをKeyValue式分散データベースに記憶する。よって、データクエリ効率が改善される。
留意すべきこととして、本発明の本実施形態では、ロー識別子は、データの各ローの識別子である。ロー識別子はRowKey又はKeyと表されてよく、本発明では限定されない。説明を簡単にするために、以下の実施形態では、RowKeyを例に用いて説明する。
以下、具体的な例を用いて本発明の本実施形態を詳述する。留意すべきこととして、この例は当業者が本発明の本実施形態をよりよく理解できるようにすることを目的とするに過ぎず、本発明の本実施形態の範囲を限定する目的はない。
S110では、データ記憶装置が、KeyValue式分散データベースに記憶されるべき少なくとも2つのデータオブジェクトの同じカラム属性を決定する。
複数のデータオブジェクトが同じカラム属性を有することは、複数のデータオブジェクトが相関することを意味する。
例えば、データオブジェクトAについて、学生情報を記録するテーブル1を例に用いると、その属性情報は、名称(Name)、学生番号(ID)、性別(Sex)、学部(Dept)等のカラム(Column)属性を含む。
Figure 0006225261
データオブジェクトBについて、学生カリキュラム可変情報を記録するテーブル2を例に用いると、その属性情報は、連番(No)、学生番号(ID)、課程(course)等のカラム属性を含む。
Figure 0006225261
テーブル1とテーブル2は両方ともIDカラムを有し、すなわち、テーブル1とテーブル2は同じカラム属性IDを有する。したがって、テーブル1及びテーブル2は相関するデータオブジェクトである。
S120では、データ記憶装置は、少なくとも2つのデータオブジェクトの各データオブジェクトのKeyValue式分散データベースにおけるロー識別子のフォーマットを決定する。
ロー識別子フォーマットは、同じカラム属性及びデータオブジェクト識別子を含む。少なくとも2つのデータオブジェクトのうち異なるデータオブジェクトのデータオブジェクト識別子は、ロー識別子フォーマット内の同じ位置にあり、且つ同じカラム属性の後に位置する。
具体的には、本発明の本実施形態では、データクエリ効率を改善するために、各データオブジェクトは独立したテーブルには記憶されず、代わりに、複数のデータオブジェクトが統一されたフォーマットに従って1つのテーブルに記憶され、それによって相関クエリが実施される。複数のデータオブジェクトを1つのテーブルに記憶するために、ロー識別子フォーマットが予め構成される必要がある。RowKeyフォーマットが予め設計される場合を例に用いると、すなわちRowKeyがどの構成要素を含むかと、構成要素がどのように組み合わされるかが、予め指定される。本実施形態では、ロー識別子の構成要素は、少なくとも2つのデータオブジェクトの同じカラム属性とデータオブジェクト識別子とを含む。同じカラム属性は、少なくとも2つのデータオブジェクトを相関する方式で記憶するために用いられ、データオブジェクト識別子は、各ローのデータがどのデータオブジェクトに由来するかを示すのに用いられる。データオブジェクト識別子は同じカラム属性の後に位置し、全てのデータオブジェクトのデータオブジェクト識別子は、ロー識別子フォーマットの同じ位置に存在する。具体的には、異なるデータオブジェクトのデータオブジェクト識別子は、異なるデータオブジェクトを区別するために、異なる定数であってよい。
本発明の本実施形態では、任意に、図2に示されるように、S120は以下のステップを含む。
S121:少なくとも2つのデータオブジェクトに対して、KeyValue式分散データベース中のロー識別子の第1のプレフィックスを指定する。第1のプレフィックスは定数である。
S122:少なくとも2つのデータオブジェクト中の第1のデータオブジェクトのロー識別子フォーマットが、第1のプレフィックスと、同じカラム属性と、第1のデータオブジェクトのデータオブジェクト識別子とを含むことを決定する。或いは、
S123:少なくとも2つのデータオブジェクト中の第2のデータオブジェクトのロー識別子フォーマットが、第1のプレフィックスと、同じカラム属性と、第2のデータオブジェクトのデータオブジェクト識別子と、第2のデータオブジェクトのカラム属性のうち第2のデータオブジェクトの全てのデータ記録を区別できるカラム属性とを含むことを決定する。
具体的には、本実施形態では、ロー識別子は同じプレフィックス(第1のプレフィックスと表される)を含む。RowKeyを例にして用いると、RowKeyは以下のフォーマット、すなわち、
RowKey=第1のプレフィックス+同じカラム属性+データオブジェクト識別子(+別の属性)
である。
本実施形態では、異なるデータオブジェクトについて、RowKeyフォーマットは同じ第1のプレフィックスと同じ属性とを含む。このように、データ記録がRowキー値の順序で記憶される場合、異なるデータオブジェクトのデータ記録を隣接して記憶することができる(クラスター記憶と呼ばれる)。そして、異なるデータオブジェクトは、各データオブジェクトのデータオブジェクト識別子を用いて区別される。加えて、同じカラム属性がデータオブジェクト(第1のデータオブジェクトと表される)の全てのデータ記録を区別できる場合、例えば、テーブル1のID属性がテーブル1の全てのデータ記録を区別できる場合、第1のデータオブジェクトのRowKeyフォーマットは別の属性を含まない。同じ属性がデータオブジェクト(第2のデータオブジェクトと表される)の全てのデータ記録を区別できない場合、例えば、テーブル2のID属性がテーブル2の全てのデータ記録を区別できない場合、第2のデータオブジェクトのRowKeyフォーマットは更に、第2のデータオブジェクトの他のカラム属性のうち第2のデータオブジェクトの全てのデータ記録を区別できる属性、例えば、テーブル2のNo属性を含む必要がある。
テーブル1とテーブル2を例として用いると、それらの同じカラム属性はIDである。テーブル1について、IDはテーブル1の全てのデータ記録を区別することができる。したがって、テーブル1のRowKeyフォーマットは、
A(第1のプレフィックス)+ID+M(Mはテーブル1に対応するデータオブジェクト識別子である)
であってよい。
テーブル2について、IDはテーブル2の全てのデータ記録を区別することができず、Noはテーブル2の全てのデータ記録を区別することができる。したがって、テーブル2のRowKeyフォーマットは、
A(第1のプレフィックス)+ID+N(Nはテーブル2に対応するデータオブジェクト識別子である)+No
であってよい。
本発明の本実施形態では、任意に、ロー識別子フォーマットのフィールド間、又は固定長を有するフィールド間に、セパレータが設定される。
すなわち、上述のRowKeyフォーマットの「+」はセパレータであってよい。或いは、RowKeyフォーマットのフィールドは、固定長を有するように設定されてよい。この場合、「+」は実際には存在しない。
S130では、データ記憶装置は、各データオブジェクトの決定されたロー識別子フォーマットに従って、各データオブジェクトの各データ記録のロー識別子値を決定する。
具体的には、RowKeyを例として用いると、データ記憶装置は、決定されたRowKeyフォーマットに従って、各データオブジェクトの各データ記録のRowキー値を決定する。
例えば、データオブジェクトAの第1のデータ記録について、Rowキー値はA0001Mであり、データオブジェクトBの第1のデータ記録について、Rowキー値はA0001N1等である。
S140では、データ記憶装置は、各データ記録のロー識別子値と各データ記録とをKeyValue式分散データベースに記憶する。
各データ記録のロー識別子値は、各データ記録のKeyValue式分散データベースにおける主索引として利用される。
本発明の本実施形態では、任意に、図3に示されるように、方法100は更に以下のステップを有する。
S150:少なくとも2つのデータオブジェクトの全てのデータ記録がクラスターテーブルを形成するように、全てのデータ記録のロー識別子値に対して、全てのデータ記録を第1の順序にソートする。
本発明の本実施形態では、複数のデータオブジェクトのデータ記録がクラスターテーブルを形成できるように、データ記録はロー識別子値の順序でKeyValue式分散データベースに記憶される。このクラスターテーブル記憶方式では、ロー識別子値の範囲はパーティションに対応することができる。すなわち、データ記録のロー識別子値が範囲に属するとき、データ記録はこの範囲に対応するパーティション内にある。したがって、範囲に従うクエリをサポートすることができる。
第1の順序は辞書式順序であってよい。例えば、全てのデータ記録は、Rowキー値の辞書式順序でKeyValue式分散データベースに記憶されてよい。第1の順序は別の順序であってもよい。例えば大きさ順であってよく、すなわち、データ記録はRowキー値の大きさ順に連続して記憶されてよい。小さなRowキー値が大きなRowキー値の前に記憶されるか、又は、大きなRowキー値が小さなRowキー値の前に記憶される。本発明の本実施形態において、第1の順序は限定されない。説明を簡単にするために、以下の実施形態では、Rowキー値の辞書式順序を例に用いて説明する。
テーブル1とテーブル2を例に用いて、Rowキー値の辞書式順序でKeyValue式分散データベースにおいて記憶が実行されると、テーブル3が得られる。
Figure 0006225261
(斜線付きカラムは、現在のローのデータがカラムをもたず、記憶上のどの空間も占用しないことを示す。以下同様である。)
本発明の本実施形態におけるデータを記憶する方法を用いることにより、クラスターテーブルを形成するために、異なる相関するデータオブジェクトのデータ記録を隣接して記憶することができる。例えば、テーブル3の第1のデータ記録は元のテーブル1の第1の記録であり、テーブル3の第2〜第4の記録は元のテーブル2の第1〜第3の記録であり、これらのデータ記録は同じIDを有するので、隣接してKeyValue式分散データベースに記憶される。隣接記憶により、データアクセス速度を向上することができ、クエリ効率を更に改善することができる。
以下、上述の記憶方法に従って得られたデータテーブルのクエリを行う実施方式を説明する。
本発明の本実施形態では、任意に、図4に示されるように、方法100は更に以下のステップを有する。
S160:データリクエストを受信する。データリクエストは、少なくとも2つのデータオブジェクトのデータ記録をクエリ又は取得することを命令する。
S170:ロー識別子フォーマットに従って、KeyValue式分散データベースにおいてクエリを行うためのクエリ情報を構成する。クエリ情報は同じカラム属性を含む。
S180:クエリ情報に従って、その主索引がクエリ情報を含むデータ記録をKeyValue式分散データベースからエクスポートする。
具体的には、データ記録をクエリ又は取得するためのデータリクエストが受信されるとき、データ記憶装置は、ロー識別子フォーマットに従ってクエリ情報を構成する。クエリ情報は同じカラム属性を含む必要がある。そして、データ記憶装置は、構成されたクエリ情報を用いてクエリを実行して、KeyValue式分散データベース中の、その主索引がクエリ情報を含むデータ記録を取得する。
任意に、ロー識別子フォーマットが第1のプレフィックスを含む場合、クエリ情報は第1のプレフィックス及び同じカラム属性を含む。
例えば、学生の学生番号(ID=0001)を用いて学生情報及び学生カリキュラム可変情報が取得される場合、クエリ情報:A0001が構成されてよい。学生番号(ID=0001)をもつ学生の学生情報及び学生カリキュラム可変情報は、範囲クエリによってテーブル3において取得することができる。取得されるクエリ結果はテーブル4に示される。クエリプロセスでは、1つのテーブルだけにクエリが実行されればよく、ユーザーデータの位置決めは1回だけ完了されればよい。学生情報と学生カリキュラム可変情報とが隣接して記憶されるので、高速のリターンを実現することができる。
Figure 0006225261
したがって、本発明の本実施形態におけるデータを記憶する方法では、相関するデータオブジェクトを1つのデータテーブルにクラスターとして記憶できるように、同じカラム属性を含むロー識別子フォーマットを利用することにより、相関するデータオブジェクトがKeyValue式分散データベースに記憶される。1つのデータテーブルにおいて相関クエリを実施することができ、よって、データクエリ効率が改善される。
本発明の本実施形態では、任意に、方法100は更に以下のステップを有する。
少なくとも2つのデータオブジェクトのうち任意のデータオブジェクトのKeyValue式分散データベースにおける副索引のフォーマットが、第2のプレフィックス、第2の属性及び同じカラム属性であることを決定する。第2の属性は、任意のデータオブジェクトのカラム属性にあり、且つ同じ属性とは異なるカラム属性である。第2のプレフィックスは、第1のプレフィックスとは異なる定数である。
任意のデータオブジェクトの副索引のフォーマットに従って、任意のデータオブジェクトの副索引を決定する。
KeyValue式分散データベースに任意のデータオブジェクトの副索引を記憶する。具体的には、複雑なクエリのシナリオを満足するために、データオブジェクトに対して副索引情報が構成されてよい。同じデータオブジェクトの主索引及び副索引のデータは同じテーブルに記憶されるが、異なるロー識別子フォーマットを用いて、同じテーブル内でのデータ分離を実現する。加えて、相関クエリは副索引情報を用いて完了されてよい。副索引のロー識別子フォーマットは、第2のプレフィックス、第2の属性及び同じ属性である。データ分離を実現するために、第2のプレフィックスは第1のプレフィックスとは異なる。第2の属性に従うクエリ情報の構成を容易にするために、第2の属性は、同じ属性とは異なる属性である。同じ属性は、主索引との相関に用いられる。
例えば、データオブジェクトテーブル1及びデータオブジェクトテーブル2がKeyValue式分散データベースに記憶される場合、テーブル1の主索引RowKeyフォーマットはA+ID+Mであってよく、テーブル2の主索引RowKeyフォーマットはA+ID+N+Noであってよく、テーブル1の副索引RowKeyフォーマットはB+Name+IDであってよい。このように、Rowキー値の辞書式順序でKeyValue式分散データベースにおいて記憶が実行されると、テーブル5が得られる。
Figure 0006225261
留意すべきこととして、副索引RowKeyに対応するカラムでは、個別の重大なカラム情報等のカラム情報が記憶されてもよく、本発明の本実施形態では限定されない。
学生名(Name=張三)を用いて学生情報及び学生カリキュラム可変情報が取得される場合、クエリ情報:B張三が構成されてよい。完全な副索引RowKey情報:B張三0001は、範囲クエリによってテーブル5において取得することができる。副索引RowKeyが解析されて、ID=0001が取得される。そして、クエリ情報:A0001が更に構成される。学生情報及び学生カリキュラム可変情報は、更なるクエリを実行することにより、テーブル5において取得することができる。これにより、ユーザーがNameしか知らずIDが分からない場合に、ユーザーがクエリを実行するのに役立つ。
したがって、本発明の本実施形態におけるデータを記憶する方法では、KeyValue式分散データベースにデータオブジェクトの副索引が記憶され、より多様なクエリシナリオをユーザーに提供することができる。また、ユーザーによるクエリを容易にすることができ、よって、データクエリ効率が改善される。
本発明の本実施形態では、複数のデータオブジェクトのロー識別子フォーマットは別の方式で実現されてもよい。例えば、異なるデータオブジェクトのロー識別子フォーマットは、異なるプレフィックスを含んでよく、或いはプレフィックスを含まなくてもよい。
例えば、プレフィックスが用いられない場合、RowKeyは以下のフォーマット、
RowKey=同じカラム属性+データオブジェクト識別子(+別の属性)
である。
異なるデータオブジェクトのデータ記録は同じカラム属性を用いて隣接して記憶することができ、異なるデータオブジェクトは、各データオブジェクトに対応するデータオブジェクト識別子を用いて区別される。加えて、同じカラム属性がデータオブジェクト(第1のデータオブジェクトと表される)の全てのデータ記録を区別できる場合、第1のデータオブジェクトのRowKeyフォーマットは別の属性を含まない。同じカラム属性がデータオブジェクト(第2のデータオブジェクトと表される)の全てのデータ記録を区別できない場合、第2のデータオブジェクトのRowKeyフォーマットは更に、第2のデータオブジェクトの他のカラム属性のうち第2のデータオブジェクトの全てのデータ記録を区別できる属性を含む必要がある。
テーブル1とテーブル2を例として用いると、それらの同じカラム属性はIDである。テーブル1について、IDはテーブル1の全てのデータ記録を区別することができる。したがって、テーブル1のRowKeyフォーマットは、
ID+M
であってよい。
テーブル2について、IDはテーブル2の全てのデータ記録を区別することができず、Noはテーブル2の全てのデータ記録を区別することができる。したがって、テーブル2のRowKeyフォーマットは、
ID+N+No
であってよい。
このように、Rowキー値の辞書式順序でKeyValue式分散データベースにおいて記憶が実行されると、テーブル6が得られる。
Figure 0006225261
学生の学生番号(ID=0001)を用いて学生情報及び学生カリキュラム可変情報が取得される場合、クエリ情報:0001が構成されてよい。学生番号(ID=0001)をもつ学生の学生情報及び学生カリキュラム可変情報は、範囲クエリによって取得することができる。クエリプロセスでは、1つのテーブルだけにクエリが実行されればよく、ユーザーデータの位置決めは1回だけ完了されればよい。学生情報と学生カリキュラム可変情報とが隣接して記憶されるので、高速のリターンを実現することができる。
異なるデータオブジェクトに対して異なるプレフィックスが利用される場合、RowKeyは以下のフォーマット、
RowKey=データオブジェクトに対応するプレフィックス+同じカラム属性(+別の属性)
である。
異なるデータオブジェクトに対して異なるプレフィックスが用いられる場合、異なるデータオブジェクトが異なるパーティションに記憶されることが実現する。加えて、同じカラム属性がデータオブジェクト(第1のデータオブジェクトと表される)の全てのデータ記録を区別できる場合、第1のデータオブジェクトのRowKeyフォーマットは別の属性を含まない。同じカラム属性がデータオブジェクト(第2のデータオブジェクトと表される)の全てのデータ記録を区別できない場合、第2のデータオブジェクトのRowKeyフォーマットは更に、第2のデータオブジェクトの他のカラム属性のうち第2のデータオブジェクトの全てのデータ記録を区別できる属性を含む必要がある。
テーブル1とテーブル2を例として用いると、それらの同じカラム属性はIDである。テーブル1について、IDはテーブル1の全てのデータ記録を区別することができる。したがって、テーブル1のRowKeyフォーマットは、
A+ID
であってよい。
テーブル2について、IDはテーブル2の全てのデータ記録を区別することができず、Noはテーブル2の全てのデータ記録を識別することができる。したがって、テーブル2のRowKeyフォーマットは、
B+ID+No
であってよい。
このように、Rowキー値の辞書式順序でKeyValue式分散データベースにおいて記憶が実行されると、テーブル7が得られる。
Figure 0006225261
異なるデータオブジェクトのRowKeyフォーマットは異なるプレフィックスを含み、よって、異なるデータオブジェクトをKeyValue式分散データベースの異なるパーティションに記憶することができる。
留意すべきこととして、本発明の様々な実施形態において、上述のプロセスの番号は実行順序を意味しない。プロセスの実行順序は、プロセスの機能及び内部論理に従って決定され、本発明の実施形態の実施プロセスに対する限定と解釈されるべきではない。
本発明の本実施形態におけるデータを記憶する方法では、統一されたロー識別子フォーマットに従って、KeyValue式分散データベースの1つのデータテーブルに複数のデータオブジェクトが記憶される。よって、データベース上の管理が容易になり、データクエリ効率を改善することができる。
以上、本発明の実施形態に係るデータを記憶する方法を詳細に説明した。以下、本発明の実施形態に係るデータ記憶装置を説明する。
図5は、本発明の実施形態に係るデータ記憶装置500の概略ブロック図を示す。図5に示されるように、装置500は以下の要素を備える。
決定モジュール510は、キー値(KeyValue)式分散データベースに記憶されるべき少なくとも2つのデータオブジェクトの同じカラム属性を決定し、少なくとも2つのデータオブジェクトの各データオブジェクトのKeyValue式分散データベースにおけるロー識別子のフォーマットを決定するように構成される。ロー識別子フォーマットは、同じカラム属性及びデータオブジェクト識別子を含む。少なくとも2つのデータオブジェクトのうち異なるデータオブジェクトのデータオブジェクト識別子は、ロー識別子フォーマット内の同じ位置にあり、且つ同じカラム属性の後に位置する。また、決定モジュール510は、各データオブジェクトの決定されたロー識別子フォーマットに従って、各データオブジェクトの各データ記録のロー識別子値を決定するように構成される。
記憶モジュール520は、KeyValue式分散データベースに、各データ記録のロー識別子値と各データ記録とを記憶するように構成される。各データ記録のロー識別子値は、各データ記録のKeyValue式分散データベースにおける主索引として利用される。
複数の(すなわち少なくとも2つの)データオブジェクトが相関するとき、すなわち複数のデータオブジェクトが同じカラム属性を有するとき、複数のデータオブジェクトに対する相関クエリを容易にするために、データ記憶装置500は、KeyValue式分散データベースの1つのテーブルに複数のデータオブジェクトを記憶する。決定モジュール510は、同じカラム属性に基づいて、各データオブジェクトのKeyValue式分散データベースにおけるロー識別子(例えばRowKey)のフォーマットを決定する。ロー識別子フォーマットは、同じカラム属性及びデータオブジェクト識別子を含む。少なくとも2つのデータオブジェクトのうち異なるデータオブジェクトのデータオブジェクト識別子は、ロー識別子フォーマット内の同じ位置にあり、且つ同じカラム属性の後に位置する。すなわち、全てのデータオブジェクトのロー識別子フォーマットは、クエリを容易にするために同じカラム属性を有し、更に、異なるデータオブジェクトを区別するために、データオブジェクトに対応するデータオブジェクト識別子を有する。異なるデータオブジェクトのロー識別子フォーマットが一貫した構成になるように、異なるデータオブジェクトのデータオブジェクト識別子は、ロー識別子フォーマットの同じ位置にあり、同じカラム属性の後に位置する。そして、決定モジュール510は、決定されたロー識別子フォーマットに従って、各データオブジェクトの各データ記録のロー識別子値を決定する。記憶モジュール520は、各データ記録のロー識別子値と各データ記録とをKeyValue式分散データベースに記憶する。各データ記録のロー識別子値は、各データ記録のKeyValue式分散データベースにおける主索引として利用される。複数の相関するデータオブジェクトについて一貫したロー識別子フォーマットが利用されるので、このように、データクエリの間、1つのデータテーブルにおいて複数のデータオブジェクトに対して相関クエリを実施できるように、ロー識別子フォーマットに従ってクエリ情報が構成される。よって、データクエリ効率が改善される。
したがって、本発明の本実施形態におけるデータ記憶装置では、複数のデータオブジェクトに対して相関クエリを実施できるように、同じカラム属性を含むロー識別子フォーマットを利用して、相関するデータオブジェクトがKeyValue式分散データベースに記憶される。よって、データクエリ効率が改善される。
本発明の本実施形態では、任意に、記憶モジュール520は更に、少なくとも2つのデータオブジェクトの全てのデータ記録がクラスターテーブルを形成するように、全てのデータ記録のロー識別子値に対して、全てのデータ記録を第1の順序にソートするように構成される。
本発明の本実施形態では、任意に、第1の順序は辞書式順序である。
本発明の本実施形態では、任意に、決定モジュール510は、具体的には、少なくとも2つのデータオブジェクトに対して、KeyValue式分散データベース中のロー識別子の第1のプレフィックスを指定するように構成され、第1のプレフィックスは定数であり、且つ、少なくとも2つのデータオブジェクト中の第1のデータオブジェクトのロー識別子フォーマットが、第1のプレフィックスと、同じカラム属性と、第1のデータオブジェクトのデータオブジェクト識別子とを含むことを決定するか、又は、少なくとも2つのデータオブジェクト中の第2のデータオブジェクトのロー識別子フォーマットが、第1のプレフィックスと、同じカラム属性と、第2のデータオブジェクトのデータオブジェクト識別子と、第2のデータオブジェクトのカラム属性のうち第2のデータオブジェクトの全てのデータ記録を区別できるカラム属性とを含むことを決定するように構成される。
本発明の本実施形態では、任意に、図6に示されるように、装置500は更に以下の要素を備える。
受信モジュール530は、データリクエストを受信するように構成される。データリクエストは、少なくとも2つのデータオブジェクトのデータ記録をクエリ又は取得することを命令する。
クエリモジュール540は、ロー識別子フォーマットに従って、KeyValue式分散データベースにおいてクエリを行うためのクエリ情報を構成するように構成され、クエリ情報は同じカラム属性を含み、且つ、クエリ情報に従って、その主索引がクエリ情報を含むデータ記録をKeyValue式分散データベースからエクスポートするように構成される。
任意に、ロー識別子フォーマットが第1のプレフィックスを含む場合、クエリ情報は第1のプレフィックス及び同じカラム属性を含む。
本発明の本実施形態では、任意に、決定モジュール510は更に、少なくとも2つのデータオブジェクトのうち任意のデータオブジェクトのKeyValue式分散データベースにおける副索引のフォーマットが、第2のプレフィックス、第2の属性及び同じカラム属性であることを決定するように構成され、第2の属性は、任意のデータオブジェクトのカラム属性にあり、且つ同じ属性とは異なるカラム属性であり、第2のプレフィックスは第1のプレフィックスとは異なる定数であり、且つ、任意のデータオブジェクトの副索引のフォーマットに従って、任意のデータオブジェクトの副索引を決定するように構成される。
記憶モジュール520は更に、任意のデータオブジェクトの副索引をKeyValue式分散データベースに記憶するように構成される。
本発明の本実施形態におけるデータ記憶装置では、KeyValue式分散データベースにデータオブジェクトの副索引が記憶され、より多様なクエリシナリオをユーザーに提供することができる。また、ユーザーによるクエリを容易にすることができ、よって、データクエリ効率が改善される。
本発明の本実施形態では、任意に、ロー識別子フォーマットのフィールド間、又は固定長を有するフィールド間に、セパレータが設定される。
本発明の本実施形態に係るデータ記憶装置500は、本発明の上述の実施形態に係る方法におけるデータ記憶装置に対応してよい。データ記憶装置500のモジュールの上述及び他の動作及び/又は機能は、図1〜図4の方法の対応する手続きを実現するために、別々に実行される。簡単にするために、ここでは詳細の繰り返しを省略する。
本発明の本実施形態におけるデータ記憶装置では、複数のデータオブジェクトが統一されたロー識別子フォーマットに従って、KeyValue式分散データベースの1つのデータテーブルに記憶される。よって、データベース上の管理が容易になり、データクエリ効率が改善される。
図7は、本発明の別の実施形態に係るデータ記憶装置の構造を示す。データ記憶装置は、少なくとも1つのプロセッサ702(例えばCPU)と、少なくとも1つのネットワークインターフェース705又は別の通信インターフェースと、メモリ706と、これらの装置の接続及び通信を実現するように構成される少なくとも1つの通信バス703とを備える。プロセッサ702は、メモリ706に記憶されるコンピュータープログラム等の実行可能モジュールを実行するように構成される。メモリ706は、高速ランダムアクセスメモリ(RAM:Random Access Memory)を含んでよく、更に、例えば少なくとも1つの磁気ディスク記憶装置等の不揮発性メモリ(non- volatile memory)を含んでよい。少なくとも別のネットワーク要素との通信及び接続は、少なくとも1つのネットワークインターフェース705(有線であっても無線であってもよい)を用いて実現される。
一部の実施方式では、メモリ706はプログラム7061を記憶する。プログラム7061はプロセッサ702によって実行されてよい。プログラムは、
KeyValue式分散データベースに記憶されるべき少なくとも2つのデータオブジェクトの同じカラム属性を決定するステップと、
少なくとも2つのデータオブジェクトの各データオブジェクトのKeyValue式分散データベースにおけるロー識別子のフォーマットを決定するステップであって、ロー識別子フォーマットは同じカラム属性及びデータオブジェクト識別子を含み、少なくとも2つのデータオブジェクトのうち異なるデータオブジェクトのデータオブジェクト識別子は、ロー識別子フォーマット内の同じ位置にあり、且つ同じカラム属性の後に位置する、ステップと、
各データオブジェクトの決定されたロー識別子フォーマットに従って、各データオブジェクトの各データ記録のロー識別子値を決定するステップと、
KeyValue式分散データベースに、各データ記録のロー識別子値と各データ記録とを記憶するステップであって、各データ記録のロー識別子値は、各データ記録のKeyValue式分散データベースにおける主索引として利用される、ステップと、
を有する。
任意に、プログラムは更に、
少なくとも2つのデータオブジェクトの全てのデータ記録がクラスターテーブルを形成するように、全てのデータ記録のロー識別子値に対して、全てのデータ記録を第1の順序にソートするステップ、
を有する。
任意に、第1の順序は辞書式順序である。
任意に、プログラムは更に、
データリクエストを受信するステップであって、データリクエストは、少なくとも2つのデータオブジェクトのデータ記録をクエリ又は取得することを命令する、ステップと、
ロー識別子フォーマットに従って、KeyValue式分散データベースにおいてクエリを行うためのクエリ情報を構成するステップであって、クエリ情報は同じカラム属性を含む、ステップと、
クエリ情報に従って、その主索引がクエリ情報を含むデータ記録をKeyValue式分散データベースからエクスポートするステップと、
を有する。
任意に、少なくとも2つのデータオブジェクトの各データオブジェクトのKeyValue式分散データベースにおけるロー識別子のフォーマットを決定するステップは、
少なくとも2つのデータオブジェクトに対して、KeyValue式分散データベース中のロー識別子の第1のプレフィックスを指定するステップであって、第1のプレフィックスは定数である、ステップと、
少なくとも2つのデータオブジェクト中の第1のデータオブジェクトのロー識別子フォーマットが、第1のプレフィックスと、同じカラム属性と、第1のデータオブジェクトのデータオブジェクト識別子とを含むことを決定するステップ、又は、
少なくとも2つのデータオブジェクト中の第2のデータオブジェクトのロー識別子フォーマットが、第1のプレフィックスと、同じカラム属性と、第2のデータオブジェクトのデータオブジェクト識別子と、第2のデータオブジェクトのカラム属性のうち第2のデータオブジェクトの全てのデータ記録を区別できるカラム属性とを含むことを決定するステップと、
を含む。
任意に、クエリ情報は第1のプレフィックス及び同じカラム属性を含む。
任意に、プログラムは更に、
少なくとも2つのデータオブジェクトのうち任意のデータオブジェクトのKeyValue式分散データベースにおける副索引のフォーマットが、第2のプレフィックス、第2の属性及び同じカラム属性であることを決定するステップであって、第2の属性は、任意のデータオブジェクトのカラム属性にあり、且つ同じ属性とは異なるカラム属性であり、第2のプレフィックスは第1のプレフィックスとは異なる定数である、ステップと、
任意のデータオブジェクトの副索引のフォーマットに従って、任意のデータオブジェクトの副索引を決定するステップと、
任意のデータオブジェクトの副索引をKeyValue式分散データベースに記憶するステップと、
を有する。
任意に、ロー識別子フォーマットのフィールド間、又は固定長を有するフィールド間に、セパレータが設定される。
本発明の実施形態で提供される上述の技術的解決策から分かるように、本発明の実施形態では、複数のデータオブジェクトに対して相関クエリを実行できるように、同じカラム属性を有するロー識別子フォーマットを用いて、KeyValue式分散データベースに相関するデータオブジェクトが記憶される。よって、データクエリ効率が改善される。
留意すべきこととして、本発明の本実施形態において、用語「及び/又は」は、相関する対象を説明するための相関を説明するものに過ぎず、3つの関係が存在し得ることを示す。例えば、A及び/又はBは、Aのみが存在するケースと、AとBの両方が存在するケースと、Bのみが存在するケースとの3つのケースを示し得る。加えて、本明細書において、記号「/」は一般に、相関する対象間の「又は」の関係を示す。
当業者であれば、本明細書に開示される実施形態に説明される例と組み合わせて、ユニット及びアルゴリズムステップが電子機器、コンピューターソフトウェア、又はそれらの組合わせによって実施されてよいことに気付くであろう。ハードウェアとソフトウェアとの互換性を明確に説明するために、上記では一般に、各例の要素及びステップを機能に従って説明した。機能がハードウェアによって実行されるかソフトウェアによって実行されるかは、技術的解決策の特定の応用と設計制約条件によって決まる。当業者であれば、特定の応用の各々について記載の機能を実施するために異なる方法を利用できるであろうが、実施は本発明の範囲を超えることを考慮されたい。
当業者であれば、説明を簡便にするために、上述のシステム、装置及びユニットの動作プロセスの詳細については、上述の方法実施形態における対応するプロセスを参照できることが明らかに理解できるであろう。よって、詳細の説明は省略する。
本願で提供されるいくつかの実施形態において、開示のシステム、装置及び方法は他の方式で実施されてよいことを理解されたい。例えば、記載の装置実施形態は例示に過ぎない。例えば、ユニットの分割は論理的な機能分割に過ぎず、実際の実施では他の分割であってよい。例えば、複数のユニット又はコンポーネントは別のシステムに組み合わせ又は統合されてよく、或いは、一部の特徴は省略されてよく、或いは実行されなくてよい。加えて、提示又は議論される相互結合又は直接結合又は通信接続は、いくつかのインターフェースによって実施されてよい。装置若しくはユニット間の間接的な結合又は通信接続は、電子的形式、機械的形式その他の形式で実施されてよい。
別々の要素として記載されたユニットは物理的に別々であってもなくてもよい。ユニットとして示された要素は物理的なユニットであってもなくてもよく、且つ、1ヶ所に位置しても複数のネットワークユニット上に分散されてもよい。ユニットの一部又は全部は、本発明の実施形態の解決策の目的を達成するために、実際の要件に従って選択されてよい。
加えて、本発明の実施形態における機能ユニットは1つの処理ユニットに統合されてよい。或いは、ユニットの各々は物理的に単独で存在してよく、或いは、2以上のユニットは1つのユニットに統合されてよい。統合されたユニットは、ハードウェア形式で実施されてよく、或いは、ソフトウェア機能ユニットの形式で実施されてよい。
統合されたユニットがソフトウェア機能ユニットの形式で実施され、且つ、独立した製品として販売又は使用される場合、統合されたユニットはコンピューター可読記憶媒体に記憶されてよい。そのような理解に基づき、本発明の技術的解決策は本質的にソフトウェア製品の形式で実施されてよく、或いは、従来技術に寄与する部分又は技術的解決策の全部若しくは一部は、ソフトウェア製品の形式で実施されてよい。ソフトウェア製品は、記憶媒体に記憶され、且つ、コンピューター装置(パーソナルコンピューター、サーバー又はネットワーク装置であってよい)が本発明の実施形態に記載の方法のステップの全部又は一部を実行することを命令するためのいくつかの命令を含む。上述の記憶媒体はプログラムコードを記憶できる任意の媒体を含んでよく、例えば、USBフラッシュドライブ、リムーバブルハードディスク、リードオンリーメモリ(ROM、Read-Only Memory)、ランダムアクセスメモリ(RAM、Random Access Memory)、磁気ディスク、光ディスク等を含んでよい。
上述の説明は本発明の具体的な実施方式に過ぎず、本発明の保護範囲を限定する意図はない。本発明に開示された技術的範囲内で当業者により容易に想到され得る変形又は置換は、いかなるものでも本発明の保護範囲に包含されるものとする。したがって、本発明の保護範囲は特許請求の範囲の保護範囲に従うものとする。

Claims (17)

  1. 記憶されたデータへの高速アクセスを提供する分散コンピューターシステムのコンピューターシステムにおけるデータを記憶する方法であって、
    前記コンピューターシステムが、キー値(KeyValue)式分散データベースに記憶されるべき少なくとも2つのデータオブジェクトの同じカラム属性を決定するステップであって、各データオブジェクトはデータ記録を有する、ステップと、
    前記コンピューターシステムが、前記少なくとも2つのデータオブジェクトの各データオブジェクトの前記KeyValue式分散データベースにおけるロー識別子のフォーマットを決定するステップであって、前記ロー識別子の前記フォーマットは前記同じカラム属性及びデータオブジェクト識別子を含み、前記少なくとも2つのデータオブジェクトのうち異なるデータオブジェクトのデータオブジェクト識別子は、前記ロー識別子の前記フォーマット内の同じ位置にあり、且つ前記同じカラム属性の後にある、ステップと、
    前記コンピューターシステムが、各データオブジェクトの決定された前記ロー識別子の前記フォーマットに従って、各データオブジェクトの各データ記録のロー識別子値を決定するステップと、
    前記コンピューターシステムが、全ての前記データ記録のロー識別子値に従って、前記少なくとも2つのデータオブジェクトの全ての前記データ記録を第1の順序にソートするステップであって、前記少なくとも2つのデータオブジェクトの全てのデータ記録がクラスターテーブルを形成する、ステップと、
    前記コンピューターシステムが、前記KeyValue式分散データベースに、前記クラスターテーブルの各データ記録と各データ記録の前記ロー識別子値とを記憶するステップであって、各データ記録の前記ロー識別子値は、各データ記録の前記KeyValue式分散データベースにおける主索引として利用される、ステップと、
    データリクエストを受信するステップであって、前記データリクエストは、前記少なくとも2つのデータオブジェクトのデータ記録をクエリ又は取得することを命令する、ステップと、
    前記ロー識別子フォーマットに従って、前記KeyValue式分散データベースにおいてクエリを行うためのクエリ情報を構成するステップであって、前記クエリ情報は前記同じカラム属性を含む、ステップと、
    前記クエリ情報に従って、その主索引が前記クエリ情報を含むデータ記録を前記KeyValue式分散データベースからエクスポートするステップと、
    を有する方法。
  2. 前記第1の順序は辞書式順序である、請求項1に記載の方法。
  3. 前記少なくとも2つのデータオブジェクトの各データオブジェクトの前記KeyValue式分散データベースにおけるロー識別子のフォーマットを決定する前記ステップは、
    前記少なくとも2つのデータオブジェクトに対して、前記KeyValue式分散データベース中の前記ロー識別子の第1のプレフィックスを指定するステップであって、前記第1のプレフィックスは定数である、ステップと、
    前記少なくとも2つのデータオブジェクト中の第1のデータオブジェクトのロー識別子フォーマットが、前記第1のプレフィックスと、前記同じカラム属性と、前記第1のデータオブジェクトのデータオブジェクト識別子とを含むことを決定するステップと、
    を含む、請求項1又は2に記載の方法。
  4. 前記少なくとも2つのデータオブジェクトのうち任意のデータオブジェクトの前記KeyValue式分散データベースにおける副索引のフォーマットが、第2のプレフィックス、第2の属性及び前記同じカラム属性であることを決定するステップであって、前記第2の属性は、前記任意のデータオブジェクトのカラム属性のうち前記同じ属性とは異なるカラム属性であり、且つ、前記第2のプレフィックスは、前記第1のプレフィックスとは異なる定数である、ステップと、
    前記任意のデータオブジェクトの前記副索引の前記フォーマットに従って、前記任意のデータオブジェクトの前記副索引を決定するステップと、
    前記任意のデータオブジェクトの前記副索引を、前記KeyValue式分散データベースに記憶するステップと、
    を更に有する、請求項3に記載の方法。
  5. 前記少なくとも2つのデータオブジェクトの各データオブジェクトの前記KeyValue式分散データベースにおけるロー識別子のフォーマットを決定する前記ステップは、
    前記少なくとも2つのデータオブジェクトに対して、前記KeyValue式分散データベース中の前記ロー識別子の第1のプレフィックスを指定するステップであって、前記第1のプレフィックスは定数である、ステップと、
    前記少なくとも2つのデータオブジェクト中の第2のデータオブジェクトのロー識別子フォーマットが、前記第1のプレフィックスと、前記同じカラム属性と、前記第2のデータオブジェクトのデータオブジェクト識別子と、前記第2のデータオブジェクトのカラム属性のうち前記第2のデータオブジェクトの全てのデータ記録を区別できるカラム属性とを含むことを決定するステップと、
    を含む、請求項1又は2に記載の方法。
  6. 前記少なくとも2つのデータオブジェクトのうち任意のデータオブジェクトの前記KeyValue式分散データベースにおける副索引のフォーマットが、第2のプレフィックス、第2の属性及び前記同じカラム属性であることを決定するステップであって、前記第2の属性は、前記任意のデータオブジェクトのカラム属性のうち前記同じ属性とは異なるカラム属性であり、且つ、前記第2のプレフィックスは、前記第1のプレフィックスとは異なる定数である、ステップと、
    前記任意のデータオブジェクトの前記副索引の前記フォーマットに従って、前記任意のデータオブジェクトの前記副索引を決定するステップと、
    前記任意のデータオブジェクトの前記副索引を、前記KeyValue式分散データベースに記憶するステップと、
    を更に有する、請求項5に記載の方法。
  7. 前記クエリ情報は前記第1のプレフィックス及び前記同じカラム属性を含む、
    請求項3乃至6のいずれか一項に記載の方法。
  8. 前記ロー識別子の前記フォーマットのフィールド間、又は固定長を有する前記フィールド間に、セパレータが設定される、
    請求項1乃至7のいずれか一項に記載の方法。
  9. 記憶されたデータへの高速アクセスを提供するデータ記憶装置であって、
    前記装置は、プロセッサ及びメモリを備え、前記メモリには複数の命令が記憶され、前記複数の命令は、前記プロセッサによって実行されると、
    キー値(KeyValue)式分散データベースに記憶されるべき少なくとも2つのデータオブジェクトの同じカラム属性を決定するステップと、
    前記少なくとも2つのデータオブジェクトの各データオブジェクトの前記KeyValue式分散データベースにおけるロー識別子のフォーマットを決定するステップであって、前記ロー識別子の前記フォーマットは前記同じカラム属性及びデータオブジェクト識別子を含み、前記少なくとも2つのデータオブジェクトのうち異なるデータオブジェクトのデータオブジェクト識別子は、前記ロー識別子の前記フォーマット内の同じ位置にあり、且つ前記同じカラム属性の後にある、ステップと、
    各データオブジェクトの決定された前記ロー識別子の前記フォーマットに従って、各データオブジェクトの各データ記録のロー識別子値を決定するステップと、
    全ての前記データ記録のロー識別子値に従って、前記少なくとも2つのデータオブジェクトの全ての前記データ記録を第1の順序にソートするステップであって、前記少なくとも2つのデータオブジェクトの全てのデータ記録がクラスターテーブルを形成する、ステップと、
    前記KeyValue式分散データベースに、前記クラスターテーブルの各データ記録と各データ記録の前記ロー識別子値とを記憶するステップであって、各データ記録の前記ロー識別子値は、各データ記録の前記KeyValue式分散データベースにおける主索引として利用される、ステップと、
    データリクエストを受信するステップであって、前記データリクエストは、前記少なくとも2つのデータオブジェクトのデータ記録をクエリ又は取得することを命令する、ステップと、
    前記ロー識別子フォーマットに従って、前記KeyValue式分散データベースにおいてクエリを行うためのクエリ情報を構成するステップであって、前記クエリ情報は前記同じカラム属性を含む、ステップと、
    前記クエリ情報に従って、その主索引が前記クエリ情報を含むデータ記録を前記KeyValue式分散データベースからエクスポートするステップと、
    を前記プロセッサに実行させる、装置。
  10. 前記第1の順序は辞書式順序である、
    請求項に記載の装置。
  11. 前記複数の命令は、前記プロセッサに、
    前記少なくとも2つのデータオブジェクトに対して、前記KeyValue式分散データベース中の前記ロー識別子の第1のプレフィックスを指定するステップであって、前記第1のプレフィックスは定数である、ステップと、
    前記少なくとも2つのデータオブジェクト中の第1のデータオブジェクトのロー識別子フォーマットが、前記第1のプレフィックスと、前記同じカラム属性と、前記第1のデータオブジェクトのデータオブジェクト識別子とを含むことを決定するステップと、
    を更に実行させる、請求項9又は10に記載の装置。
  12. 前記複数の命令は、前記プロセッサに、
    前記少なくとも2つのデータオブジェクトのうち任意のデータオブジェクトの前記KeyValue式分散データベースにおける副索引のフォーマットが、第2のプレフィックス、第2の属性及び前記同じカラム属性であることを決定するステップであって、前記第2の属性は、前記任意のデータオブジェクトのカラム属性のうち前記同じ属性とは異なるカラム属性であり、前記第2のプレフィックスは、前記第1のプレフィックスとは異なる定数である、ステップと、
    前記任意のデータオブジェクトの前記副索引の前記フォーマットに従って、前記任意のデータオブジェクトの前記副索引を決定するステップと、
    前記任意のデータオブジェクトの前記副索引を、前記KeyValue式分散データベースに記憶するステップと、
    を更に実行させる、請求項11に記載の装置。
  13. 前記複数の命令は、前記プロセッサに、
    前記少なくとも2つのデータオブジェクトに対して、前記KeyValue式分散データベース中の前記ロー識別子の第1のプレフィックスを指定するステップであって、前記第1のプレフィックスは定数である、ステップと、
    前記少なくとも2つのデータオブジェクト中の第2のデータオブジェクトのロー識別子フォーマットが、前記第1のプレフィックスと、前記同じカラム属性と、前記第2のデータオブジェクトのデータオブジェクト識別子と、前記第2のデータオブジェクトのカラム属性のうち前記第2のデータオブジェクトの全てのデータ記録を区別できるカラム属性とを含むことを決定するステップと、
    を更に実行させる、請求項9又は10に記載の装置。
  14. 前記複数の命令は、前記プロセッサに、
    前記少なくとも2つのデータオブジェクトのうち任意のデータオブジェクトの前記KeyValue式分散データベースにおける副索引のフォーマットが、第2のプレフィックス、第2の属性及び前記同じカラム属性であることを決定するステップであって、前記第2の属性は、前記任意のデータオブジェクトのカラム属性のうち前記同じ属性とは異なるカラム属性であり、前記第2のプレフィックスは、前記第1のプレフィックスとは異なる定数である、ステップと、
    前記任意のデータオブジェクトの前記副索引の前記フォーマットに従って、前記任意のデータオブジェクトの前記副索引を決定するステップと、
    前記任意のデータオブジェクトの前記副索引を、前記KeyValue式分散データベースに記憶するステップと、
    を更に実行させる、請求項13に記載の装置。
  15. 前記クエリ情報は前記第1のプレフィックス及び前記同じカラム属性を含む、
    請求項11乃至14のいずれか一項に記載の装置。
  16. 前記ロー識別子の前記フォーマットのフィールド間、又は固定長を有する前記フィールド間に、セパレータが設定される、
    請求項9乃至15のいずれか一項に記載の装置。
  17. コンピューター命令を記憶するためのコンピューター可読記憶媒体であって、
    コンピューターのプロセッサが前記コンピューター命令を実行して、記憶されたデータへの高速アクセスを提供するとき、前記コンピューターは請求項1乃至8のいずれか一項に記載の方法を実行する、
    コンピューター可読記憶媒体。
JP2016537067A 2013-08-29 2013-08-29 データを記憶する方法及び装置 Active JP6225261B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/082544 WO2015027425A1 (zh) 2013-08-29 2013-08-29 存储数据的方法和装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017195364A Division JP6397105B2 (ja) 2017-10-05 2017-10-05 データを記憶する方法及び装置

Publications (3)

Publication Number Publication Date
JP2016534456A JP2016534456A (ja) 2016-11-04
JP2016534456A5 JP2016534456A5 (ja) 2017-05-18
JP6225261B2 true JP6225261B2 (ja) 2017-11-01

Family

ID=50363919

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016537067A Active JP6225261B2 (ja) 2013-08-29 2013-08-29 データを記憶する方法及び装置

Country Status (8)

Country Link
US (2) US9589004B2 (ja)
EP (1) EP3023885B1 (ja)
JP (1) JP6225261B2 (ja)
KR (1) KR101720602B1 (ja)
CN (2) CN106649708A (ja)
BR (1) BR112016004490B8 (ja)
CA (1) CA2921616C (ja)
WO (1) WO2015027425A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015027425A1 (zh) * 2013-08-29 2015-03-05 华为技术有限公司 存储数据的方法和装置
CN105095268A (zh) * 2014-05-12 2015-11-25 深圳市同洲电子股份有限公司 结构化数据的存取方法以及装置
CN104021161B (zh) * 2014-05-27 2018-06-15 华为技术有限公司 一种聚簇存储方法及装置
CN104102711B (zh) * 2014-07-15 2017-12-01 中国联合网络通信集团有限公司 一种HBase数据库存储上网记录的方法和系统
US10671594B2 (en) 2014-09-17 2020-06-02 Futurewei Technologies, Inc. Statement based migration for adaptively building and updating a column store database from a row store database based on query demands using disparate database systems
US9836507B2 (en) * 2014-09-17 2017-12-05 Futurewei Technologies, Inc. Method and system for adaptively building a column store database from a temporal row store database based on query demands
CN104408150A (zh) * 2014-12-03 2015-03-11 天津南大通用数据技术股份有限公司 一种适应多种数据库数据格式的数据导入导出方法及装置
CN106326305A (zh) * 2015-06-30 2017-01-11 星环信息科技(上海)有限公司 一种数据文件的存储和查询方法及设备
CN108170726A (zh) * 2015-10-21 2018-06-15 华为技术有限公司 数据查询方法和装置
CN105630934A (zh) * 2015-12-23 2016-06-01 浪潮电子信息产业股份有限公司 一种数据统计方法及系统
CN105653611B (zh) * 2015-12-24 2019-08-20 深圳市汇朗科技有限公司 分表分页排序查询方法及装置
CN105740405B (zh) * 2016-01-29 2020-06-26 华为技术有限公司 存储数据的方法和装置
CN107463512B (zh) * 2017-06-26 2020-11-13 上海高顿教育培训有限公司 分布式高速存储系统的数据更新方法
CN107832389B (zh) * 2017-10-31 2020-12-25 新华三大数据技术有限公司 数据管理方法及装置
CN108681563B (zh) * 2018-04-28 2021-08-27 新疆熙菱信息技术股份有限公司 基于一表多用户的服务发布及访问系统
CN110647517B (zh) * 2018-06-11 2022-06-24 北京神州泰岳软件股份有限公司 一种表格数据结构的处理方法和装置
CN108920725B (zh) 2018-08-02 2020-08-04 网宿科技股份有限公司 一种对象存储的方法及对象存储网关
CN109101641B (zh) * 2018-08-20 2022-09-23 联想(北京)有限公司 表格处理方法、装置、系统和介质
CN109918472A (zh) * 2019-02-27 2019-06-21 北京百度网讯科技有限公司 存储和查询数据的方法、装置、设备和介质
CN110297832B (zh) * 2019-07-01 2021-12-24 联想(北京)有限公司 一种时序数据存储方法及装置、时序数据查询方法及装置
CN111324605B (zh) * 2020-01-22 2020-11-10 北京东方金信科技有限公司 数据库中数据混合存储动态调整方法及应用
CN112465294B (zh) * 2020-10-21 2023-08-22 郑州大学第一附属医院 基于审计结果的医院药品智能供货方法及装置
CN112835901A (zh) * 2021-02-01 2021-05-25 长沙市到家悠享家政服务有限公司 文件存储方法及装置、计算机设备、计算机可读存储介质
CN112835938A (zh) * 2021-02-23 2021-05-25 百度在线网络技术(北京)有限公司 数据处理方法、装置、电子设备和计算机可读存储介质
CN113360776B (zh) * 2021-07-19 2023-07-21 西南大学 基于跨表数据挖掘的科技资源推荐方法

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5295256A (en) * 1990-12-14 1994-03-15 Racal-Datacom, Inc. Automatic storage of persistent objects in a relational schema
JPH0567159A (ja) 1991-09-10 1993-03-19 Nec Software Kansai Ltd 表形式データ処理装置
JPH0736756A (ja) * 1993-07-21 1995-02-07 Hitachi Ltd オブジェクト管理方式
US5878411A (en) * 1997-06-27 1999-03-02 International Business Machines Corporation Dependent object class and subclass mapping to relational data store
US5995973A (en) * 1997-08-29 1999-11-30 International Business Machines Corporation Storing relationship tables identifying object relationships
AU743821B2 (en) * 1997-09-26 2002-02-07 Ontos, Inc. Object model mapping and runtime engine for employing relational database with object oriented software
US6112207A (en) * 1997-10-31 2000-08-29 Oracle Corporation Apparatus and method which features linearizing attributes of an information object into a string of bytes for object representation and storage in a database system
US6094649A (en) * 1997-12-22 2000-07-25 Partnet, Inc. Keyword searches of structured databases
US6360223B1 (en) * 1997-12-22 2002-03-19 Sun Microsystems, Inc. Rule-based approach to object-relational mapping strategies
US6374256B1 (en) * 1997-12-22 2002-04-16 Sun Microsystems, Inc. Method and apparatus for creating indexes in a relational database corresponding to classes in an object-oriented application
US6385618B1 (en) * 1997-12-22 2002-05-07 Sun Microsystems, Inc. Integrating both modifications to an object model and modifications to a database into source code by an object-relational mapping tool
US6122639A (en) * 1997-12-23 2000-09-19 Cisco Technology, Inc. Network device information collection and change detection
US6769124B1 (en) * 1998-07-22 2004-07-27 Cisco Technology, Inc. Persistent storage of information objects
US6341289B1 (en) * 1999-05-06 2002-01-22 International Business Machines Corporation Object identity and partitioning for user defined extents
US6754670B1 (en) * 1999-12-17 2004-06-22 International Business Machines Corporation Mapping relational tables to object oriented classes
US6591275B1 (en) * 2000-06-02 2003-07-08 Sun Microsystems, Inc. Object-relational mapping for tables without primary keys
CA2430333A1 (en) 2000-11-29 2002-06-06 Lafayette Software Inc. Methods of organizing data and processing queries in a database system, and database system and software product for implementing such methods
EP1211610A1 (en) * 2000-11-29 2002-06-05 Lafayette Software Inc. Methods of organising data and processing queries in a database system
EP1217541A1 (en) * 2000-11-29 2002-06-26 Lafayette Software Inc. Method of processing queries in a database system, and database system and software product for implementing such method
JP2005234612A (ja) 2001-05-07 2005-09-02 I-Ze Communications Inc データベースの統合
US20030154197A1 (en) * 2002-02-13 2003-08-14 Permutta Technologies Flexible relational data storage method and apparatus
US7103588B2 (en) 2003-05-05 2006-09-05 International Business Machines Corporation Range-clustered tables in a database management system
US7203712B2 (en) * 2004-02-26 2007-04-10 International Business Machines Corporation Algorithm to find LOB value in a relational table after key columns have been modified
JP2006065467A (ja) 2004-08-25 2006-03-09 Hitachi Ltd データ抽出定義情報生成装置およびデータ抽出定義情報生成方法
US7493313B2 (en) * 2004-09-17 2009-02-17 Microsoft Corporation Durable storage of .NET data types and instances
US7954090B1 (en) * 2004-12-21 2011-05-31 Zenprise, Inc. Systems and methods for detecting behavioral features of software application deployments for automated deployment management
EP1880315A1 (en) * 2005-05-13 2008-01-23 Abb Research Ltd. Generating a unique representation of physical assets
US20080059492A1 (en) * 2006-08-31 2008-03-06 Tarin Stephen A Systems, methods, and storage structures for cached databases
CN102193917B (zh) * 2010-03-01 2014-03-26 中国移动通信集团公司 一种数据处理和查询方法和装置
US8458191B2 (en) * 2010-03-15 2013-06-04 International Business Machines Corporation Method and system to store RDF data in a relational store
WO2012074529A1 (en) 2010-12-03 2012-06-07 Hewlett-Packard Development Company, L.P. Systems and methods for performing a nested join operation
JP5727258B2 (ja) * 2011-02-25 2015-06-03 ウイングアーク1st株式会社 分散型データベースシステム
CN107451225B (zh) * 2011-12-23 2021-02-05 亚马逊科技公司 用于半结构化数据的可缩放分析平台
CN103116625A (zh) * 2013-01-31 2013-05-22 重庆大学 一种基于Hadoop的海量RDF数据分布式查询处理方法
GB2513329A (en) * 2013-04-23 2014-10-29 Ibm Method and system for scoring data in a database
US10235391B2 (en) * 2013-06-18 2019-03-19 Change Healthcare Holdings, Llc Method and apparatus for implementing dynamic database traversal
WO2015027425A1 (zh) * 2013-08-29 2015-03-05 华为技术有限公司 存储数据的方法和装置

Also Published As

Publication number Publication date
JP2016534456A (ja) 2016-11-04
US20160179856A1 (en) 2016-06-23
CA2921616A1 (en) 2015-03-05
CN103703467B (zh) 2017-02-08
CN106649708A (zh) 2017-05-10
CN103703467A (zh) 2014-04-02
CA2921616C (en) 2017-03-07
EP3023885A1 (en) 2016-05-25
EP3023885B1 (en) 2019-10-30
EP3023885A4 (en) 2016-06-29
BR112016004490B1 (pt) 2020-11-10
WO2015027425A1 (zh) 2015-03-05
BR112016004490B8 (pt) 2022-08-23
KR101720602B1 (ko) 2017-03-29
KR20160040282A (ko) 2016-04-12
US10331642B2 (en) 2019-06-25
US9589004B2 (en) 2017-03-07
US20170132260A1 (en) 2017-05-11

Similar Documents

Publication Publication Date Title
JP6225261B2 (ja) データを記憶する方法及び装置
US9811546B1 (en) Storing data and metadata in respective virtual shards on sharded storage systems
JP5635691B2 (ja) 複数のシステムを用いたデータ解析
US20180239800A1 (en) Data query method and apparatus
JP5466257B2 (ja) 表検索方法
JP6148732B2 (ja) データインデックス化方法及び装置
JP2016534456A5 (ja)
CN110502546A (zh) 一种数据处理方法及装置
JP6865763B2 (ja) データ処理方法及び装置
KR20160056944A (ko) 캐싱된 플로우들에 기초한 가속
JP6168635B2 (ja) データベース管理システム、計算機、データベース管理方法
CN106933927B (zh) 数据表的连接方法和装置
WO2017206562A1 (zh) 一种数据表的处理方法、装置及系统
JP6397105B2 (ja) データを記憶する方法及び装置
JP2012064012A5 (ja) 計算機システム及びストレージ・ボリューム管理方法
CN109101595B (zh) 一种信息查询方法、装置、设备及计算机可读存储介质
CN109063210B (zh) 存储系统的资源对象查询方法、装置、设备及存储介质
WO2018210178A1 (zh) 文件存储方法和存储装置
CN107203550B (zh) 一种数据处理方法和数据库服务器
CN112800067B (zh) 范围查询方法、装置、计算机可读存储介质及电子设备
CN108667644A (zh) 配置acl业务的方法及转发设备
US20140089438A1 (en) Method and device for processing information
US10313438B1 (en) Partitioned key-value store with one-sided communications for secondary global key lookup by range-knowledgeable clients
CN110110007A (zh) 数据管理方法及相关产品
CN117493652A (zh) 分布式引擎的索引创建方法、装置以及电子设备

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20161213

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170403

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170403

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170405

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170523

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170725

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: 20170912

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171006

R150 Certificate of patent or registration of utility model

Ref document number: 6225261

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250