JP2021502655A - データクエリ - Google Patents
データクエリ Download PDFInfo
- Publication number
- JP2021502655A JP2021502655A JP2020544099A JP2020544099A JP2021502655A JP 2021502655 A JP2021502655 A JP 2021502655A JP 2020544099 A JP2020544099 A JP 2020544099A JP 2020544099 A JP2020544099 A JP 2020544099A JP 2021502655 A JP2021502655 A JP 2021502655A
- Authority
- JP
- Japan
- Prior art keywords
- command
- metadata
- phoenix
- query
- hbase
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Operations Research (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本特許出願は、2017年11月30日に提出された201711235855.2の中国特許出願を優先権として主張し、その全内容が援用により本願に取り込まれている。
HBaseデータベースは、大規模データセットに対してランダムかつリアルタイムに読取り/書込みアクセスサービスを提供するための高信頼性、高性能、列指向、スケーラブルな分散ストレージシステムである。ここで、当該HBaseデータベースはデータをデータテーブル(本明細書ではHBaseテーブルと呼ばれる)の形で格納し、HBaseテーブルは行と列のファミリーからなる。表1に示すのがHBaseテーブルの例である。行キー(RowKey)はインデックスであり、列ファミリー(Column Family)は、1つ又は複数の列からなる。表1では、名前、住所、年齢、携帯番号、メールアドレスなどはメタデータであり、各メタデータは複数の属性値に対応し、例えば、名前に対応する属性値は張三や李四などである。
接続装置がローカルで上記マッピングテーブルをメンテナンスしている場合、接続装置は、SparkSQLのクエリコマンドを解析してテーブル識別子とメタデータを得た後、当該テーブル識別子と当該メタデータとの対応関係がマッピングテーブルに存在するか否かをクエリし、存在する場合、当該テーブル識別子と当該メタデータとに対応するインデックステーブルが記憶装置に存在すると確定し、存在しない場合、当該インデックステーブルが記憶装置に存在しないと確定することができる、第1の態様と、
接続装置がSparkSQLクエリコマンドを解析してテーブル識別子とメタデータを得た後、当該テーブル識別子と当該メタデータを含むPhoenix管理コマンドを記憶装置に送信し、記憶装置が、Phoenix管理コマンドを受信した後、当該テーブル識別子と当該メタデータとに対応するインデックステーブルがローカルに存在するか否かをクエリし、クエリの結果が含まれるPhoenix応答コマンドを接続装置に送信し、接続装置が、当該クエリ結果によって、当該テーブル識別子と当該メタデータとに対応するインデックステーブルが記憶装置に存在するか否かを判定することができる、第2の態様と、
を含む。
当該テーブル識別子と当該メタデータとが対応付けられたインデックステーブルが記憶装置に存在する場合には、当該SparkSQL格納コマンドにより、第1のPhoenix格納コマンドを生成して記憶装置に送信する。そうでない場合には、第1のPhoenix格納コマンドを生成する必要がない。第1のPhoenix格納コマンドは、前記のテーブル識別子と、前記のメタデータと、前記のメタデータに対応する属性値と、行キーとを含む。
当該第1のテーブル識別子(SparkSQL関連クエリコマンドに含まれる第1のテーブル識別子)と、当該メタデータに対応するインデックステーブルとが記憶装置に存在すると、接続装置は、第2のPhoenix関連クエリコマンドを生成し、第2のPhoenix関連クエリコマンドを記憶装置に送信し、第2のPhoenix関連クエリコマンドは、当該第1のテーブル識別子と、当該メタデータと、当該メタデータに対応する属性値とを含む。記憶装置は、第2のPhoenix関連クエリコマンドを受信した後、当該第1のテーブル識別子と、当該メタデータとに対応するインデックステーブルから、当該属性値に対応する行キーを取得して、当該第1のテーブル識別子に対応するHBaseテーブルから、当該行キーに対応する第2種の行データを取得し、当該第2種行データを接続装置に返信する。接続装置は、当該第1種の行データと、当該第2種行データとを関連付けしてクエリビルダー装置に返信する。
Claims (21)
- クエリビルダー装置がSparkSQLクエリコマンドを接続装置に送信するステップであって、前記SparkSQLクエリコマンドが、HBaseテーブルのテーブル識別子と、前記HBaseテーブルのメタデータと、前記メタデータに対応する属性値とを含むステップと、
前記接続装置が前記SparkSQLクエリコマンドを受信した後、前記テーブル識別子と前記メタデータとに対応するインデックステーブルが記憶装置に存在する場合に、第1のPhoenixクエリコマンドを生成し、前記第1のPhoenixクエリコマンドを前記記憶装置に送信するステップであって、前記インデックステーブルがHBaseテーブルのメタデータの属性値とHBaseテーブルの行キーとの対応関係を記録するためのものであり、前記第1のPhoenixクエリコマンドが、前記テーブル識別子と、前記メタデータと、前記属性値とを含むステップと、
前記記憶装置が前記第1のPhoenixクエリコマンドを受信した後、前記テーブル識別子と前記メタデータとに対応する前記インデックステーブルから前記属性値に対応する行キーを取得し、前記テーブル識別子に対応するHBaseテーブルから前記行キーに対応する行データを取得し、前記行データを前記接続装置に返信するステップと、
前記接続装置が前記行データを受信した後、前記行データを前記クエリビルダー装置に返信するステップと、
を含むデータクエリ方法。 - 請求項1に記載のデータクエリ方法であって、
前記クエリビルダー装置がSparkSQL作成コマンドを前記接続装置に送信するステップであって、前記SparkSQL作成コマンドが、HBaseテーブルのテーブル識別子と、前記HBaseテーブルのメタデータとを含むステップと、
前記接続装置が前記SparkSQL作成コマンドを受信した後、Phoenix作成コマンドを生成し、前記Phoenix作成コマンドを前記記憶装置に送信するステップであって、前記Phoenix作成コマンドが前記テーブル識別子と前記メタデータとを含むステップと、
前記記憶装置が前記Phoenix作成コマンドを受信した後、前記テーブル識別子に対応するHBaseテーブルから前記メタデータに対応する属性値と、前記属性値に対応する行キーとを取得し、前記テーブル識別子と前記メタデータとに対応するインデックステーブルを作成し、前記インデックステーブルに前記属性値と前記行キーとの対応関係を記録するステップと、
をさらに含むデータクエリ方法。 - 請求項1に記載のデータクエリ方法であって、
前記クエリビルダー装置がSparkSQL格納コマンドを前記接続装置に送信するステップであって、前記SparkSQL格納コマンドが、HBaseテーブルのテーブル識別子と、HBaseテーブルの少なくとも1つのメタデータと、各メタデータに対応する属性値と、行キーとを含むステップと、
前記接続装置が前記SparkSQL格納コマンドを受信した後、各メタデータに対して、前記テーブル識別子と前記メタデータとに対応するインデックステーブルが前記記憶装置に存在する場合、第1のPhoenix格納コマンドを生成し、前記第1のPhoenix格納コマンドを前記記憶装置に送信する操作を行い、前記第1のPhoenix格納コマンドは、前記テーブル識別子と、前記メタデータと、前記メタデータに対応する属性値と、前記属性値に対応する行キーとを含むものである、ステップと、
前記記憶装置が前記第1のPhoenix格納コマンドを受信した後、前記テーブル識別子と前記メタデータとに対応するインデックステーブルに前記属性値と前記行キーとの対応関係を記録するステップと、
を含むデータクエリ方法。 - 請求項3に記載のデータクエリ方法であって、
前記接続装置が前記SparkSQL格納コマンドを受信した後、第2のPhoenix格納コマンドを生成し、前記第2のPhoenix格納コマンドを前記記憶装置に送信するステップであって、前記第2のPhoenix格納コマンドが、前記テーブル識別子と、前記少なくとも1つのメタデータと、前記各メタデータに対応する属性値と、行キーとを含むステップと、
前記記憶装置が前記第2のPhoenix格納コマンドを受信した後、前記行キーと各メタデータに対応する属性値との対応関係を、前記テーブル識別子に対応するHBaseテーブルに記録するステップと、
を含むデータクエリ方法。 - 請求項1に記載のデータクエリ方法であって、
前記クエリビルダー装置が前記接続装置にSparkSQL削除コマンドを送信するステップと、
前記接続装置が前記SparkSQL削除コマンドを受信した後、Phoenix削除コマンドを生成し、前記Phoenix削除コマンドを前記記憶装置に送信するステップであって、前記Phoenix削除コマンドが、HBaseテーブルのテーブル識別子とHBaseテーブルのメタデータとを含み、又は、前記Phoenix削除コマンドが、HBaseテーブルのテーブル識別子と、HBaseテーブルのメタデータと、前記メタデータとに対応する属性値とを含むステップと、
前記記憶装置が前記Phoenix削除コマンドを受信した後、前記Phoenix削除コマンドがHBaseテーブルのテーブル識別子とHBaseテーブルのメタデータとを含む場合、前記テーブル識別子と前記メタデータとに対応するインデックステーブルを削除し、前記Phoenix削除コマンドが、HBaseテーブルのテーブル識別子と、HBaseテーブルのメタデータと、前記メタデータに対応する属性値とを含む場合、前記テーブル識別子と前記メタデータとに対応するインデックステーブルから、前記属性値に対応する行データを削除するステップと、
を含むデータクエリ方法。 - 請求項1に記載のデータクエリ方法であって、
前記クエリビルダー装置がSparkSQL取得コマンドを前記接続装置に送信するステップと、
前記接続装置が前記SparkSQL取得コマンドを受信した後、Phoenix取得コマンドを生成し、前記Phoenix取得コマンドを前記記憶装置に送信するステップであって、前記Phoenix取得コマンドが、HBaseテーブルのテーブル識別子と、HBaseテーブルのメタデータとを含み、または、Phoenix取得コマンドが、HBaseテーブルのテーブル識別子と、HBaseテーブルのメタデータと、前記メタデータに対応する属性値とを含むステップと、
前記記憶装置が前記Phoenix取得コマンドを受信した後、前記Phoenix取得コマンドが、HBaseテーブルのテーブル識別子とHBaseテーブルのメタデータとを含む場合、前記テーブル識別子と前記メタデータとに対応するインデックステーブルを前記接続装置に返信し、前記Phoenix取得コマンドが、HBaseテーブルのテーブル識別子と、HBaseテーブルのメタデータと、前記メタデータに対応する属性値とを含む場合、前記テーブル識別子と前記メタデータとに対応するインデックステーブルから前記属性値に対応する行データを取得し、前記行データを前記接続装置に返信するステップと、
前記接続装置が前記インデックステーブル又は前記行データを受信した後、前記インデックステーブル又は前記行データを前記クエリビルダー装置に返信するステップと、
を含むデータクエリ方法。 - 請求項1に記載のデータクエリ方法であって、
前記クエリビルダー装置がSparkSQL関連クエリコマンドを前記接続装置に送信するステップであって、前記SparkSQL関連クエリコマンドが、HBaseテーブルの第1のテーブル識別子と、前記HBaseテーブルに対応する関連HBaseテーブルの第2のテーブル識別子とを含むステップと、
前記接続装置が前記SparkSQL関連クエリコマンドを受信した後、第1のPhoenix関連クエリコマンドを生成し、前記第1のPhoenix関連クエリコマンドを前記記憶装置に送信するステップであって、前記第1のPhoenix関連クエリコマンドが第2のテーブル識別子を含むステップと、
前記記憶装置が前記第1のPhoenix関連クエリコマンドを受信した後、前記第2のテーブル識別子に対応する関連HBaseテーブルから全ての第1種の行データを取得し、全ての第1種の行データを前記接続装置に返信するステップであって、各第1種のデータのいずれも少なくとも1つのメタデータに対応する属性値を含むステップと、
各第1種の行データの各メタデータに対し、
第1のテーブル識別子と前記メタデータとに対応するインデックステーブルが前記記憶装置に存在する場合、前記接続装置が第2のPhoenix関連クエリコマンドを生成し、前記第2のPhoenix関連クエリコマンドを前記記憶装置に送信する操作であって、前記第2のPhoenix関連クエリコマンドが、前記第1のテーブル識別子と、前記メタデータと、前記メタデータが対応する属性値とを含む操作と、
前記記憶装置が前記第2のPhoenix関連クエリコマンドを受信した後、前記第1のテーブル識別子と前記メタデータとに対応するインデックステーブルから、前記属性値に対応する行キーを取得し、前記第1のテーブル識別子に対応するHBaseテーブルから、前記行キーに対応する第2種の行データを取得し、前記第2種の行データを前記接続装置に返信する操作と、
前記接続装置が前記第1種の行データと前記第2種の行データとを関連付けて前記クエリビルダー装置に返信する操作とを、行うステップと、
を含むデータクエリ方法。 - データクエリシステムであって、
SparkSQLクエリコマンドを接続装置に送信するためのクエリビルダー装置であって、前記のSparkSQLクエリコマンドが、HBaseテーブルのテーブル識別子と、前記HBaseテーブルのメタデータと、前記メタデータに対応する属性値とを含むクエリビルダー装置と、
前記SparkSQLクエリコマンドを受信した後、前記テーブル識別子と前記メタデータとに対応するインデックステーブルが記憶装置に存在する場合に、第1のPhoenixクエリコマンドを生成し、前記第1のPhoenixクエリコマンドを前記記憶装置に送信するための接続装置であって、前記のインデックステーブルがHBaseテーブルのメタデータの属性値とHBaseテーブルの行キーとの対応関係を記録するためのものであり、前記第1のPhoenixクエリコマンドが、前記テーブル識別子と、前記メタデータと、前記属性値とを含む接続装置と、
前記第1のPhoenixクエリコマンドを受信した後、前記テーブル識別子と前記メタデータとに対応するインデックステーブルから、前記属性値に対応する行キーを取得し、前記テーブル識別子に対応するHBaseテーブルから、前記行キーに対応する行データを取得し、前記行データを前記接続装置に送信する前記記憶装置と、を含み、
前記接続装置は、さらに、前記行データを受信した場合に前記行データを前記クエリビルダー装置に返信するためのものである
データクエリシステム。 - 請求項8に記載のデータクエリシステムであって、
前記クエリビルダー装置は、さらに、SparkSQL作成コマンドを前記接続装置に送信するためのものであり、前記SparkSQL作成コマンドが、HBaseテーブルのテーブル識別子と、前記HBaseテーブルのメタデータとを含み、
前記接続装置は、さらに、前記SparkSQL作成コマンドを受信した後、Phoenix作成コマンドを生成し、前記Phoenix作成コマンドを前記記憶装置に送信するためのものであり、前記Phoenix作成コマンドが、前記テーブル識別子と、前記メタデータとを含み、
前記記憶装置は、さらに、Phoenix作成コマンドを受信した後、前記テーブル識別子に対応するHBaseテーブルから、前記メタデータに対応する属性値と、前記属性値に対応する行キーとを取得し、テーブル識別子と前記メタデータとに対応するインデックステーブルを作成し、前記属性値と前記行キーとの対応関係を前記インデックステーブルに記録するためのものである
データクエリシステム。 - 請求項8に記載のデータクエリシステムであって、
前記クエリビルダー装置は、さらに、SparkSQL格納コマンドを前記接続装置に送信するためのものであり、前記SparkSQL格納コマンドが、HBaseテーブルのテーブル識別子と、HBaseテーブルの少なくとも1つのメタデータと、各メタデータに対応する属性値と行キーとを含み、
前記接続装置は、さらに、前記SparkSQL格納コマンドを受信した後、各メタデータに対し、前記テーブル識別子と前記メタデータとに対応するインデックステーブルが前記記憶装置に存在する場合、第1のPhoenix格納コマンドを生成し、前記第1のPhoenix格納コマンドを前記記憶装置に送信する操作を行い、前記第1のPhoenix格納コマンドが、前記テーブル識別子と、前記メタデータと、前記メタデータに対応する属性値と、前記属性値に対応する行キーとを含み、
前記記憶装置は、さらに、前記第1のPhoenix格納コマンドを受信した後、前記属性値と前記行キーとに対応する関係を、前記テーブル識別子と前記メタデータとに対応するインデックステーブルに記録するためのものである
データクエリシステム。 - 請求項10に記載のデータクエリシステムであって、
前記接続装置は、さらに、前記SparkSQL格納コマンドを受信した後、第2のPhoenix格納コマンドを生成し、前記第2のPhoenix格納コマンドを前記記憶装置に送信するためのものであり、前記の第2のPhoenix格納コマンドが、前記のテーブル識別子と、前記の少なくとも1つのメタデータと、前記の各メタデータに対応する属性値と行キーとを含み、
前記記憶装置は、さらに、前記第2のPhoenix格納コマンドを受信した後、前記行キー及び各メタデータに対応する属性値の対応関係を、前記テーブル識別子が対応するHBaseテーブルに記録するためのものである
データクエリシステム。 - 請求項8に記載のデータクエリシステムであって、
前記クエリビルダー装置は、さらに、SparkSQL削除コマンドを前記接続装置に送信するためのものであり、
前記接続装置は、さらに、前記SparkSQL削除コマンドを受信した後、Phoenix削除コマンドを生成し、前記Phoenix削除コマンドを前記記憶装置に送信するためのものであり、前記Phoenix削除コマンドが、HBaseテーブルのテーブル識別子とHBaseテーブルのメタデータとを含み、または、前記Phoenix削除コマンドが、HBaseテーブルのテーブル識別子とHBaseテーブルのメタデータと、前記メタデータに対応する属性値とを含み、
前記記憶装置は、さらに、前記Phoenix削除コマンドを受信した後、前記Phoenix削除コマンドがHBaseテーブルのテーブル識別子とHBaseテーブルのメタデータとを含む場合、前記テーブル識別子と前記メタデータとに対応するインデックステーブルを削除し、前記Phoenix削除コマンドがHBaseテーブルのテーブル識別子と、HBaseテーブルのメタデータと、前記メタデータに対応する属性値とを含む場合、前記テーブル識別子と前記メタデータとに対応するインデックステーブルから、前記属性値に対応する行データを削除するためのものである
データクエリシステム。 - 請求項8に記載のデータクエリシステムであって、
前記クエリビルダー装置は、さらに、SparkSQL取得コマンドを前記接続装置に送信するためのものであり、
前記接続装置は、さらに、前記SparkSQL取得コマンドを受信した後、Phoenix取得コマンドを生成し、前記Phoenix取得コマンドを前記記憶装置に送信するためのものであり、前記Phoenix取得コマンドが、HBaseテーブルのテーブル識別子と、HBaseテーブルのメタデータとを含み、又は、前記Phoenix取得コマンドが、HBaseテーブルのテーブル識別子と、HBaseテーブルのメタデータと、前記メタデータに対応する属性値とを含み、
前記記憶装置は、さらに、前記Phoenix取得コマンドを受信した後、前記Phoenix取得コマンドが、HBaseテーブルのテーブル識別子及びHBaseテーブルのメタデータを含む場合、前記テーブル識別子と前記メタデータとに対応するインデックステーブルを前記接続装置に返信し、前記Phoenix取得コマンドが、HBaseテーブルのテーブル識別子と、HBaseテーブルのメタデータと、前記メタデータに対応する属性値とを含む場合、前記テーブル識別子と前記メタデータとに対応するインデックステーブルから、前記属性値に対応する行データを取得し、前記行データを前記接続装置に返信するためのものであり、
前記接続装置は、さらに、前記インデックステーブル又は前記行データを受信した後、前記インデックステーブル又は前記行データを前記クエリビルダー装置に返信するためのものである
データクエリシステム。 - 請求項8に記載のデータクエリシステムであって、
前記クエリビルダー装置は、さらに、SparkSQL関連クエリコマンドを前記接続装置に送信するためのものであり、前記SparkSQL関連クエリコマンドが、HBaseテーブルの第1のテーブル識別子と、前記HBaseテーブルに対する関連HBaseテーブルの第2のテーブル識別子とを含み、
前記接続装置は、さらに、前記SparkSQL関連クエリコマンドを受信した後、第1のPhoenix関連クエリコマンドを生成し、前記第1のPhoenix関連クエリコマンドを前記記憶装置に送信するためのものであり、前記第1のPhoenix関連クエリコマンドが、第2のテーブル識別子を含み、
前記記憶装置は、さらに、前記第1のPhoenix関連クエリコマンドを受信した後、第2のテーブル識別子に対応する関連HBaseテーブルから、全ての第1種の行データを取得し、全ての第1種の行データを接続装置に返信するためのものであり、各前記第1種のデータのそれぞれが少なくとも1つのメタデータに対応する属性値を含み、
各第1種行データ1の各メタデータに対し、
前記第1のテーブル識別子と前記メタデータとに対応するインデックステーブルが前記記憶装置に存在すると、前記接続装置は、さらに、第2のPhoenix関連クエリコマンドを生成し、前記第2のPhoenix関連クエリコマンドを前記記憶装置に送信するためのものであり、前記第2のPhoenix関連クエリコマンドが、前記第1のテーブル識別子と、前記メタデータと、前記メタデータが対応する属性値とを含み、
前記記憶装置は、さらに、前記第2のPhoenix関連クエリコマンドを受信した後、前記第1のテーブル識別子と前記メタデータとに対応するインデックステーブルから、前記の属性値に対応する行キーを取得し、前記第1のテーブル識別子に対応するHBaseテーブルから、前記行キーに対応する第2種の行データを取得し、前記第2種行データを前記接続装置に返信するためのものであり、
前記接続装置は、さらに、前記第1種の行データと前記第2種の行データとを関連付けて前記クエリビルダー装置に返信するためのものである
データクエリシステム。 - プロセッサと、
機械実行可能なコマンドを格納する機械可読記憶媒体と、
を含む接続装置であって、
前記機械実行可能なコマンドを読み取って実行することにより、前記プロセッサは、
クエリビルダー装置から送信されたSparkSQL取得コマンドを受信し、前記のSparkSQLクエリコマンドが、HBaseテーブルのテーブル識別子と、前記のHBaseテーブルのメタデータと、前記のメタデータに対応する属性値とを含むステップと、
前記テーブル識別子と前記メタデータとに対応するインデックステーブルが前記記憶装置に存在する場合、第1のPhoenixクエリコマンドを生成し、前記第1のPhoenixクエリコマンドを前記記憶装置に送信し、前記のインデックステーブルが、HBaseテーブルのメタデータの属性値とHBaseテーブルの行キーとの対応関係を記録するためのものであり、前記第1のPhoenixクエリコマンドが、前記テーブル識別子と、前記メタデータと、前記属性値とを含み、前記記憶装置が前記テーブル識別子と前記メタデータとに対応するインデックステーブルから、前記属性値に対応する行キーを取得し、前記テーブル識別子に対応するHBaseテーブルから、前記行キーに対応する行データを取得し、前記行データを前記接続装置に返信するステップと、
受信された前記行データを前記クエリビルダー装置に返信するステップとを実行する
接続装置。 - 請求項15に記載の接続装置であって、
前記機械実行可能なコマンドにより、前記プロセッサは、
前記クエリビルダー装置から送信されたSparkSQL作成コマンドを受信し、前記SparkSQL作成コマンドが、HBaseテーブルのテーブル識別子と、前記HBaseテーブルのメタデータとを含むステップと、
Phoenix作成コマンドを生成し、前記Phoenix作成コマンドを前記記憶装置に送信し、前記Phoenix作成コマンドが前記のテーブル識別子と前記メタデータとを含み、前記記憶装置が前記テーブル識別子に対応するHBaseテーブルから、前記メタデータに対応する属性値と前記属性値に対応する行キーとを取得し、前記テーブル識別子と前記メタデータとに対応するインデックステーブルを作成し、前記属性値と前記行キーとの対応関係を前記インデックステーブルに記録するステップと、を実行する
接続装置。 - 請求項15に記載の接続装置であって、
前記機械実行可能なコマンドにより、前記プロセッサは、
前記クエリビルダー装置から送信されたSparkSQL格納コマンドを受信し、前記のSparkSQL格納コマンドが、HBaseテーブルのテーブル識別子と、HBaseテーブルの少なくとも1つのメタデータと、各メタデータに対応する属性値と、行キーとを含むステップと、
各メタデータに対し、前記テーブル識別子と前記メタデータとに対応するインデックステーブルが前記記憶装置に存在する場合、第1のPhoenix格納コマンドを生成し、前記第1のPhoenix格納コマンドを前記記憶装置に送信する操作を行い、前記第1のPhoenix格納コマンドが、前記テーブル識別子と、前記メタデータと、前記メタデータに対応する属性値と、前記属性値に対応する行キーとを含み、前記記憶装置が前記属性値と前記行キーとの対応関係を前記テーブル識別子と前記メタデータとに対応するインデックステーブルに記録するステップと、を実行する
接続装置。 - 請求項17に記載の接続装置であって、
前記機械実行可能なコマンドにより、前記プロセッサは、
第2のPhoenix格納コマンドを生成し、前記第2のPhoenix格納コマンドを前記記憶装置に送信し、前記第2のPhoenix格納コマンドは、前記テーブル識別子と、前記少なくとも1つのメタデータと、前記各メタデータに対応する属性値と前記行キーとを含み、前記記憶装置が前記行キーと前記各メタデータに対応する属性値との対応関係を前記テーブル識別子に対応するHBaseテーブルに記録する
接続装置。 - 請求項15に記載の接続装置であって、
前記機械実行可能なコマンドにより、前記プロセッサは、
前記クエリビルダー装置から送信されたSparkSQL削除コマンドを受信するステップと、
Phoenix削除コマンドを生成し、前記Phoenix削除コマンドを前記記憶装置に送信し、前記Phoenix削除コマンドは、HBaseテーブルのテーブル識別子とHBaseテーブルのメタデータとを含み、前記記憶装置が前記テーブル識別子と前記メタデータとに対応するインデックステーブルを削除するコマンドと、HBaseテーブルのテーブル識別子とHBaseテーブルのメタデータと前記メタデータに対応する属性値とを含み、前記記憶装置が前記テーブル識別子と前記メタデータとに対応するインデックステーブルから、前記属性値に対応する行データを削除するコマンドとのうちの1つのコマンドであるスップと、を実行する
接続装置。 - 請求項15に記載の接続装置であって、
前記機械実行可能なコマンドにより、前記プロセッサは、
前記クエリビルダー装置から送信されたSparkSQL取得コマンドを受信するステップと、
前記Phoenix取得コマンドを生成し、前記Phoenix取得コマンドを前記記憶装置に送信し、前記Phoenix取得コマンドは、HBaseテーブルのテーブル識別子とHBaseテーブルのメタデータとを含み、前記記憶装置が前記テーブル識別子と前記メタデータとに対応するインデックステーブルを前記接続装置に返信するコマンドと、HBaseテーブルのテーブル識別子と、HBaseテーブルのメタデータと、前記メタデータに対応する属性値とを含み、前記記憶装置が前記テーブル識別子と前記メタデータとに対応するインデックステーブルから、前記属性値に対応する行データを取得し、前記行データを前記接続装置に返信するコマンドとうちの1つのコマンドのであるステップと、
前記インデックステーブル又は前記行データを受信した後、前記インデックステーブル又は前記行データを前記クエリビルダー装置に返信するステップと、実行する
接続装置。 - 請求項15に記載の接続装置であって、
前記機械実行可能なコマンドにより、前記プロセッサは、
前記クエリビルダー装置から送信されたSparkSQL関連クエリコマンドを受信し、前記SparkSQL関連クエリコマンドが、HBaseテーブルの第1のテーブル識別子と、前記HBaseテーブルに対応する関連HBaseテーブルの第2のテーブル識別子とを含むステップと、
第1のPhoenix関連クエリコマンドを生成し、前記第1のPhoenix関連クエリコマンドを前記記憶装置に送信し、前記第1のPhoenix関連クエリコマンドが前記第2のテーブル識別子を含み、前記記憶装置が前記第2のテーブル識別子に対応する関連HBaseテーブルから、全ての第1種の行データを取得し、全ての第1種の行データを接続装置に返信し、前記各第1種の行データのそれぞれが少なくとも1つのメタデータに対応する属性値を含むステップと、
各第1種の行データの各メタデータに対し、
前記第1のテーブル識別子と前記メタデータとに対応するインデックステーブルが前記記憶装置に存在する場合、第2のPhoenix関連クエリコマンドを生成し、前記第2のPhoenix関連クエリコマンドを前記記憶装置に送信し、前記第2のPhoenix関連クエリコマンドが、前記第1のテーブル識別子と、前記メタデータと、前記メタデータに対応する属性値とを含み、前記記憶装置が前記第1のテーブル識別子と前記メタデータとに対応するインデックステーブルから、前記属性値に対応する行キーを取得し、前記第1テーブル識別子に対応するHBaseテーブルから、前記行キーに対応する第2種の行データを取得し、前記第2種の行データを前記接続装置に返信する操作を行うステップと、
前記第1種の行データと前記第2種の行データとを関連付けて前記クエリビルダー装置に返信するステップと、を実行する
前記接続装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711235855.2 | 2017-11-30 | ||
CN201711235855.2A CN109101516B (zh) | 2017-11-30 | 2017-11-30 | 一种数据查询方法和服务器 |
PCT/CN2018/118249 WO2019105420A1 (zh) | 2017-11-30 | 2018-11-29 | 数据查询 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021502655A true JP2021502655A (ja) | 2021-01-28 |
JP7018516B2 JP7018516B2 (ja) | 2022-02-10 |
Family
ID=64796513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020544099A Active JP7018516B2 (ja) | 2017-11-30 | 2018-11-29 | データクエリ |
Country Status (5)
Country | Link |
---|---|
US (1) | US11269881B2 (ja) |
EP (1) | EP3683697A4 (ja) |
JP (1) | JP7018516B2 (ja) |
CN (1) | CN109101516B (ja) |
WO (1) | WO2019105420A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083597A (zh) * | 2019-03-16 | 2019-08-02 | 平安普惠企业管理有限公司 | 命令查询方法、装置、计算机设备和存储介质 |
CN110457346B (zh) * | 2019-07-05 | 2024-04-30 | 中国平安财产保险股份有限公司 | 数据查询方法、装置及计算机可读存储介质 |
CN111125090B (zh) * | 2019-11-12 | 2023-05-30 | 中盈优创资讯科技有限公司 | 数据存取方法及装置 |
CN111104426B8 (zh) * | 2019-11-22 | 2024-04-23 | 北京傲速科技有限公司 | 一种数据查询方法及系统 |
CN110888929B (zh) * | 2019-12-06 | 2022-03-29 | 秒针信息技术有限公司 | 数据处理方法、装置、数据节点及存储介质 |
CN111125216B (zh) * | 2019-12-10 | 2024-03-12 | 中盈优创资讯科技有限公司 | 数据导入Phoenix的方法及装置 |
US11386089B2 (en) | 2020-01-13 | 2022-07-12 | The Toronto-Dominion Bank | Scan optimization of column oriented storage |
CN113434580A (zh) * | 2020-03-23 | 2021-09-24 | 北京国双科技有限公司 | Phoenix数据库访问方法、装置、设备及介质 |
CN112800073B (zh) * | 2021-01-27 | 2023-03-28 | 浪潮云信息技术股份公司 | 一种基于NiFi更新Delta Lake的方法 |
CN113656397A (zh) * | 2021-07-02 | 2021-11-16 | 阿里巴巴新加坡控股有限公司 | 一种针对时序数据的索引构建及查询的方法、装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010224824A (ja) * | 2009-03-23 | 2010-10-07 | Toshiba Corp | 情報処理装置 |
JP2015072688A (ja) * | 2013-10-01 | 2015-04-16 | クラウデラ インコーポレイテッド | Hadoopにおける強化されたSQLライクなクエリのためのバックグラウンドフォーマット最適化 |
US20170139997A1 (en) * | 2015-11-18 | 2017-05-18 | American Express Travel Related Services Company, | System and method for reading and writing to big data storage formats |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8489773B1 (en) * | 2008-06-06 | 2013-07-16 | Amdocs Software Systems Limited | System, method, and computer program for sending a response to a client based on a replication message received from a master server |
CN101350028A (zh) * | 2008-07-10 | 2009-01-21 | 西安中电商务信息技术有限公司 | 一种基于SQL结构化查询语言的XML数据XPath查询方法 |
CN101788992A (zh) * | 2009-05-06 | 2010-07-28 | 厦门东南融通系统工程有限公司 | 一种数据库查询语句的转换方法和转换系统 |
EP2780831A4 (en) * | 2011-11-18 | 2015-07-22 | Hewlett Packard Development Co | GENERATION OF QUERY SUMMARIES WITH ROW COLUMN DATA STORAGE |
CN102737132A (zh) * | 2012-06-25 | 2012-10-17 | 天津神舟通用数据技术有限公司 | 基于数据库行列混合存储的多规则复合压缩方法 |
CN104750727B (zh) * | 2013-12-30 | 2019-03-26 | 沈阳亿阳计算机技术有限责任公司 | 一种列式内存存储查询装置及列式内存存储查询方法 |
US9779150B1 (en) | 2014-08-15 | 2017-10-03 | Tableau Software, Inc. | Systems and methods for filtering data used in data visualizations that use relationships |
US20160104090A1 (en) * | 2014-10-09 | 2016-04-14 | Splunk Inc. | State determination using per-entity thresholds |
CN105354255B (zh) * | 2015-10-21 | 2018-01-02 | 华为技术有限公司 | 数据查询方法和装置 |
CN106682042B (zh) * | 2015-11-11 | 2019-11-22 | 杭州海康威视数字技术股份有限公司 | 一种关系数据缓存及查询方法及装置 |
CN105589969A (zh) * | 2015-12-23 | 2016-05-18 | 浙江大华技术股份有限公司 | 一种数据处理方法及装置 |
CN107122437B (zh) | 2017-04-19 | 2020-08-04 | 高新兴科技集团股份有限公司 | 一种支持多条件检索和实时分析的大数据处理方法 |
CN107133342A (zh) * | 2017-05-16 | 2017-09-05 | 广州舜飞信息科技有限公司 | 一种IndexR实时数据分析库 |
-
2017
- 2017-11-30 CN CN201711235855.2A patent/CN109101516B/zh active Active
-
2018
- 2018-11-29 JP JP2020544099A patent/JP7018516B2/ja active Active
- 2018-11-29 US US16/766,231 patent/US11269881B2/en active Active
- 2018-11-29 EP EP18884738.8A patent/EP3683697A4/en active Pending
- 2018-11-29 WO PCT/CN2018/118249 patent/WO2019105420A1/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010224824A (ja) * | 2009-03-23 | 2010-10-07 | Toshiba Corp | 情報処理装置 |
JP2015072688A (ja) * | 2013-10-01 | 2015-04-16 | クラウデラ インコーポレイテッド | Hadoopにおける強化されたSQLライクなクエリのためのバックグラウンドフォーマット最適化 |
US20170139997A1 (en) * | 2015-11-18 | 2017-05-18 | American Express Travel Related Services Company, | System and method for reading and writing to big data storage formats |
Also Published As
Publication number | Publication date |
---|---|
US11269881B2 (en) | 2022-03-08 |
WO2019105420A1 (zh) | 2019-06-06 |
CN109101516A (zh) | 2018-12-28 |
EP3683697A4 (en) | 2020-07-29 |
CN109101516B (zh) | 2019-09-17 |
US20200372028A1 (en) | 2020-11-26 |
JP7018516B2 (ja) | 2022-02-10 |
EP3683697A1 (en) | 2020-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7018516B2 (ja) | データクエリ | |
CN107247808B (zh) | 一种分布式NewSQL数据库系统及图片数据查询方法 | |
US20160364407A1 (en) | Method and Device for Responding to Request, and Distributed File System | |
US8214355B2 (en) | Small table: multitenancy for lots of small tables on a cloud database | |
CN104618482B (zh) | 访问云数据的方法、服务器、传统存储设备、系统 | |
US8700567B2 (en) | Information apparatus | |
US8990227B2 (en) | Globally unique identification of directory server changelog records | |
JP5600736B2 (ja) | データベース管理方法およびシステム | |
JP2015501976A (ja) | 大量データプラットフォームを操作するシステム及び方法 | |
US20130325915A1 (en) | Computer System And Data Management Method | |
CN108614837B (zh) | 文件存储和检索的方法及装置 | |
CN104408111A (zh) | 一种删除重复数据的方法及装置 | |
CN111221791A (zh) | 一种多源异构数据导入数据湖的方法 | |
WO2017161540A1 (zh) | 数据查询的方法、数据对象的存储方法和数据系统 | |
US20190377815A1 (en) | Storing data items and identifying stored data items | |
CN112395264A (zh) | 分布式存储系统中逻辑目标与卷之间映射的处理方法 | |
CN112817973A (zh) | 数据处理方法、装置、数据处理设备及存储介质 | |
CN108280123B (zh) | 一种HBase的列聚合方法 | |
US20220342888A1 (en) | Object tagging | |
WO2023083237A1 (zh) | 图数据的管理 | |
US10762139B1 (en) | Method and system for managing a document search index | |
CN107526530B (zh) | 数据处理方法和设备 | |
US20230075443A1 (en) | Conversion and migration of key-value store to relational model | |
US20130218851A1 (en) | Storage system, data management device, method and program | |
US8745072B2 (en) | Virtual directory server changelog |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200508 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210525 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210608 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210907 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20210907 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210916 |
|
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: 20220125 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220131 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7018516 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |