JP2022088603A - 少ない待ち時間の検索問合せ応答を提供するためのデータ記憶システム - Google Patents

少ない待ち時間の検索問合せ応答を提供するためのデータ記憶システム Download PDF

Info

Publication number
JP2022088603A
JP2022088603A JP2022060037A JP2022060037A JP2022088603A JP 2022088603 A JP2022088603 A JP 2022088603A JP 2022060037 A JP2022060037 A JP 2022060037A JP 2022060037 A JP2022060037 A JP 2022060037A JP 2022088603 A JP2022088603 A JP 2022088603A
Authority
JP
Japan
Prior art keywords
digital data
data
computer
storage
format
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
JP2022060037A
Other languages
English (en)
Inventor
ジョージ クリストファー
George Christopher
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.)
Risk Management Solutions Inc
Original Assignee
Risk Management Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Risk Management Solutions Inc filed Critical Risk Management Solutions Inc
Publication of JP2022088603A publication Critical patent/JP2022088603A/ja
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2393Updating materialised views
    • 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/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24535Query rewriting; Transformation of sub-queries or views
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24539Query rewriting; Transformation using cached or materialised query results

Landscapes

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

Abstract

【課題】データ検索システムへの問合せに少ない待ち時間で応答するコンピュータ実行方法及び記憶媒体を提供する。【解決手段】方法は、第1デジタルデータを第1デジタルデータリポジトリに第1列指向記憶形式を使用して記憶するステップと、第2デジタルデータを第2デジタルデータリポジトリに第1列指向記憶形式と異なる第2列指向記憶形式を使用して記憶するステップと、複数の予め計算されたビューをエクスポージャーデータ及びリスク項目データ両方に基づいて生成するステップと、複数の予め計算されたビューを第2デジタルデータリポジトリに第2列指向記憶形式を使用して記憶するステップと、検索問合せを受信したことに応答して、問合せに答える結果セットを複数の予め計算されたビューのうち1つ以上の特定の予め計算されたビューに基づいて決定し、結果セットを別のコンピュータ又は表示装置に出力として提供するステップと、を含む。【選択図】図3

Description

本開示は電子デジタルデータ記憶システムの技術分野に入る。本開示はまた、問合せ処理及びデータ記憶用にプログラムされたコンピュータシステム、特に少ない待ち時間の応答を検索問合せに提供するためのデータ記憶システムの技術分野に入る。
この項で記載される手法は追求されうる手法であるが、以前想到された又は追求された手法では必ずしもない。従って、特に断らない限り、この項で記載される手法のいずれもこの項に含まれているだけで従来技術と認定されると考えるべきではない。
「ビッグデータ」は、従来のデータベース管理ツール又は従来のデータ処理アプリケーションを使って処理することが困難なほど大きく複雑なデータセットの集合を表す。今日、企業及びデータセンターアプリケーションは益々大きなデータセットが最小の待ち時間で処理されることを要求する。
データ処理アプリケーション配備について1つの考慮事項は、データベースシステムを最適な問合せ性能のために構成することである。大きなデータセットは数十億の行を横切る数百の列から成ってもよく、そのデータセットを対象とする問合せは、数百の列のうち任意の列上の述語を含んでもよい。例えば、保険データは数百の保険ポートフォリオを含んでもよく、各ポートフォリオは多数の保険契約書を含み、全部で数十万の物件情報を包含する。各物件情報は数百の属性、例えば所番地、地域情報、土壌種類、構造種類などを含んでもよい。
一例の問合せは海岸線から5マイル(約8km)に位置し木造建造物を有し砂地上にある全ての物件を検索する要求であってもよい。代表的なデータベースシステムはこの量のデータを記憶するように拡張可能でないことがある。また、このような要求は計算し結果を提供するのにかなりの量の時間を要するであろう。Cassandra又はHBaseなどのキー・値データ蓄積はより良好な問合せ処理時間を有するかも知れないが、任意のデータ列上の述語を有しうる問合せを処理できない。
従って、大きなデータセットの任意の列に対する問合せを受け付け、大きな遅延なく検索結果を提供するデータ処理システムが望まれる。
検索問合せに少ない待ち時間の応答を提供するデータ検索システムのための手法が提供される。少ない待ち時間の応答は検索問合せに対するリアルタイム又はリアルタイムに近い応答であってよい。
1つの実施形態では、第1デジタルデータが第1デジタルデータリポジトリに第1列指向記憶形式を使って記憶される。第2デジタルデータが第2デジタルデータリポジトリに第1列指向記憶形式と異なる第2列指向記憶形式を使って記憶される。複数の予め計算されたビューがエクスポージャーデータ及びリスク項目データ両方に基づいて生成される。複数の予め計算されたビューは第2デジタルデータリポジトリに第2列指向記憶形式を使って記憶される。検索問合せを受信したことに応答して、その問合せに答える結果セットが複数の予め計算されたビューのうち1つ以上の特定の予め計算されたビューに基づいて決定される。結果セットは別のコンピュータ又は表示装置に出力として提供される。
1つの実施形態では、少ない待ち時間の問合せ応答を提供するためのサーバーシステムはKuduデータリポジトリ、Parquetデータリポジトリ、及びSparkクラスターマネージャーにより管理されるSparkクラスター化された複数の計算インスタンスを備える。
添付図面において、
1つの実施形態に係る、記載の手法が実行されてよい一例のコンピュータシステムを示す。 1つの実施形態に係る、永続性クライアント接続を管理する一例のジョブサーバーを示す。 1つの実施形態に係る、検索問合せへの応答を提供するためのフローチャートを例示する。 実施形態が実施されてよいコンピュータシステムを例示する。
以下の記載において、説明目的のために、本発明の完全な理解を提供するために多数の具体的詳細が明らかにされる。しかし、これらの具体的詳細を欠いて本発明を実施してもよいことは明白であろう。他には、本発明を不必要に不明瞭にしないため、周知の構造及び装置はブロック図形態で示されている。
本開示の文章は図面と組み合わせて、コンピュータをプログラムし請求項に係る発明を実施するのに必要なアルゴリズムを、プログラムされる機能、入力、変換、出力、及びプログラミングの他の面に関して互いに伝達するために本開示が関係する分野の当業者により使用されるのと同じレベルの詳細さで散文的に記述するように意図されている。即ち、本開示に明記される詳細さのレベルは、当業者が互いに伝達してプログラムされるアルゴリズム又は本書に記載された発明を実現するプログラムの構造及び機能を表現するために通常使用するのと同じレベルの詳細さである。
1.0 総論
検索問合せへの少ない待ち時間の応答を提供するデータ検索システムのための手法が提供される。少ない待ち時間の応答は検索問合せに対するリアルタイム又はリアルタイムに近い応答であってよい。
1つの実施形態では、第1デジタルデータが第1デジタルデータリポジトリに第1列指向記憶形式を使って記憶される。第2デジタルデータが第2デジタルデータリポジトリに第1列指向記憶形式と異なる第2列指向記憶形式を使って記憶される。複数の予め計算されたビューがエクスポージャーデータ及びリスク項目データ両方に基づいて生成される。複数の予め計算されたビューは第2デジタルデータリポジトリに第2列指向記憶形式を使って記憶される。検索問合せを受信したことに応答して、その問合せに答える結果セットが複数の予め計算されたビューのうち1つ以上の特定の予め計算されたビューに基づいて決定される。結果セットは別のコンピュータ又は表示装置に出力として提供される。
1つの実施形態では、少ない待ち時間の問合せ応答を提供するためのサーバーシステムはKuduデータリポジトリ、Parquetデータリポジトリ、及びSparkクラスターマネージャーにより管理されるSparkクラスター化された複数の計算インスタンスを備える。
他の実施形態、態様、及び特徴は、開示全体から明らかとなろう。
2.0 データ検索システム
図1は1つの実施形態に係る、記載の手法が実行されてよい一例のコンピュータシステムを示す。
コンピュータシステム100は、計算クラスター120、データ記憶システム130、及びクライアント計算装置140を含む。計算クラスター120、データ記憶システム130、及び計算装置140は任意の適切なデータ通信機構、例えば1つ以上のデータネットワークを使用して互いに相互接続される。それら1つ以上のデータネットワークは1つ以上のローカルエリアネットワーク(LAN)、1つ以上の広域ネットワーク(WAN)、公衆インターネットなどの1つ以上の相互接続ネットワーク、又は企業内ネットワークを含んでよい。
2.1 計算クラスター
計算クラスター120はクラスター化された複数の計算インスタンス125を含む。クラスター化された計算インスタンス125は、1つ以上のLAN、1つ以上のWAN、1つ以上の相互接続ネットワーク、及びインターネットを含む任意の適切なデータネットワーク又は通信機構を介して相互接続されてもよい。
1つの実施形態では、クラスター化された1つの計算インスタンス125は、商品又は容易に入手可能なハードウェア部品から成りサーバーオペレーティングシステム、例えばMicrosoft Windows(登録商標)ベース、Unixベース、又はLinux(登録商標)ベースオペレーティングシステムを動作させるサーバーコンピュータシステムである。クラスター化された1つの計算インスタンス125はまた、計算装置の仮想マシンシステム又は他のソフトウェアベース実施形態であってもよい。1つの実施形態では、クラスター化された計算インスタンス125はクラウド計算インスタンス、例えばEC2インスタンス、計算エンジンインスタンス、又はAzureインスタンスである。
1つの実施形態では、クラスター化された各計算インスタンス125は、大量のデータを管理、処理、及び/又は分析するための1つ以上のビッグデータ処理フレームワークのホストとして動作するか又はこれらを実行する。ビッグデータ処理フレームワークの例はSpark、Hadoop、Hive、Presto、及びImpalaを含む。
1つの実施形態では、計算クラスター120はクラスターマネージャーを含む。1つの実施形態では、クラスターマネージャーはクラスター化された複数の計算インスタンス125を管理するようにプログラム又は構成される。加えて又は或いは、クラスターマネージャーはクラスター化された複数の計算インスタンス125上で動作するアプリケーション又はサービスを管理するようにプログラム又は構成されてもよい。クラスターマネージャーは複数の計算インスタンス125により実行されるタスクをスケジュールしてもよい。また、クラスターマネージャーはクラスター化された複数の計算インスタンス125間で資源を分配しもよい。
クラスターマネージャーはクラスター化された1つ以上の計算インスタンス125上で実行されてもよい。加えて又は或いは、クラスターマネージャーは計算装置又はクラスター化された複数の計算インスタンス125とは別の計算インスタンス上で実行されてもよい。クラスターマネージャーは、例えばSpark単独マネージャー、Mesos、Kubernetes、YARN、又はクラスター化された複数の計算インスタンス125を管理するのに適した任意の他のクラスターマネージャーであってもよい。
2.2 クライアント計算装置
クライアント計算装置140は、これらに限定されないがサーバー、ラック、ワークステーション、パーソナルコンピュータ、汎用コンピュータ、ラップトップ、インターネット家電、無線機器、有線機器、マルチプロセッサシステム、ミニコンピュータなどを含む任意の計算装置であってよい。
クライアント計算装置140は計算クラスター120と対話するコマンドライン・インターフェース、グラフィック・ユーザーインターフェース、又はRESTエンドポイントを実行してもよい。インターフェース及び/又はエンドポイントは検索問合せを計算クラスター120に提供し計算クラスター120により生成された一組の検索結果を受信するように構成又はプログラムされてよい。1つの実施形態では、その一組の検索結果はクライアント計算装置140に提供されたデータファイル又はクライアント計算装置140によりアクセス可能なデータファイルに記憶されてもよい。データファイルの例はJSON、コンマで分離された値、SQLダンプ、及び他のファイルタイプを含む。加えて又は或いは、その一組の検索結果はクライアント計算装置140で、例えばコマンドライン・インターフェース又はグラフィカル・ユーザーインターフェースを使って表示されてよい。
2.3 ジョブサーバー
図1に示された実施形態では、クライアント計算装置は計算クラスター120とジョブサーバー110を介して通信する。ジョブサーバー110はジョブを計算クラスター120に提出し及び/又は計算クラスター120上のジョブ実行を管理するためのインターフェースを提供する。そのインターフェースはコマンドライン・インターフェース、グラフィカル・ユーザーインターフェース、又はRESTfulインターフェースであってよい。1つの実施形態では、ジョブサーバー110は複数の計算クラスターに対してジョブ実行を管理してよい。加えて又は或いは、複数のジョブサーバーは同じ計算クラスター、例えば計算クラスター120に対してジョブ実行を管理してもよい。ジョブサーバー110はコンピュータ、又は本システムの他の要素を実現するために使用される同じ物理的ハードウェア又は仮想計算インスタンス上で実行されるソフトウェアプロセスから成ってもよい。
1つの実施形態では、ジョブサーバー110はクラスター化された1つ以上の計算インスタンス125上で実行される。例えば、ジョブサーバー110はクラスターマネージャーと同じクラスター化された計算インスタンス上で動作していてもよい。或いは、ジョブサーバー110は計算クラスター120とは別の計算装置又は計算インスタンス上で実行されてもよい。
1つの実施形態では、ジョブサーバー110は計算クラスター120へのクライアント接続を管理する。クライアント接続は、検索問合せなどのジョブを計算クラスター120に提出するために使用されてよい。例えば、ジョブサーバー110は、1つ以上のSparkコンテキストを管理するSparkジョブサーバーであってもよい。1つの実施形態では、ジョブサーバー110は複数のタイプのクラスター化された計算インスタンス、例えば1つ以上のSpark、Mesos、Kubernetes、及び/又はYARNインスタンスに対してジョブを管理してもよい。
1つの実施形態では、ジョブサーバー110は、1つ以上の永続性クライアント接続を管理するようにプログラム又は構成されてもよい。永続性クライアント接続情報はジョブサーバー110を実行する1つ以上の計算装置のメモリに記憶されてもよい。永続性クライアント接続は、計算クラスター120に提出されたジョブが完了した時に切断されない。それどころか、永続性クライアント接続は機能し続け、計算クラスター120への次の呼び出しは永続性クライアント接続のうち1つ以上を再使用してもよい。これは、クライアント計算装置140などのクライアントが計算クラスター120に接続する毎に新しいクライアント接続を始めるオーバーヘッドを回避する。
1つの実施形態では、1つ以上の永続性クライアント接続が検索問合せを処理するために使用される。通常、Sparkなどのビッグデータフレームワークは、検索問合せへのリアルタイム応答を提供するためではなく、一括処理のために使用される。永続性クライアント接続は、検索問合せが提出された時にクライアント接続を生成するオーバーヘッドを低減するので、検索問合せに結果を提供するのに必要な時間量が低減される。これは少ない待ち時間の検索が実行されるのを可能する。
1つの実施形態では、各永続性クライアント接続は特定のタイプのジョブ及び/又は特定のタイプのデータアクセスと関連する。加えて、その特定のタイプのジョブを取り扱うために、各永続性クライアント接続はクラスター化された複数の計算インスタンス125のうちクラスター化された1つ以上の特定の計算インスタンスと関連してもよい。
例として、1つ以上の永続性クライアント接続の第1組は一括ジョブのためであってもよい。1つ以上の永続性クライアント接続の別の組はデータベース管理システムに、例えばODBC又はJDBCアプリケーション・プログラミング・インターフェースを使用してアクセスするためであってもよい。1つ以上の永続性クライアント接続の第3組はデフォルト一般用途のためであってもよい。ジョブサーバー110は受信したジョブに基づいてどの永続性クライアント接続をそのジョブは使用するべきかを判断してよい。例えば、一括処理ジョブは第1永続性クライアント接続と関連する第1組のクラスター化された計算インスタンスを使用してもよく、一方、検索問合せは第2永続性クライアント接続と関連する異なる組のクラスター化された計算インスタンスを使用してもよい。これは検索問合せが、一括処理ジョブが完了するのを待ち続けなければならないか又は計算資源を一括処理ジョブと共用しなければならないのを防ぐ。
図2は複数の永続性クライアント接続を管理するジョブサーバー110を例示するブロック図を示す。
1つの実施形態では、ジョブサーバー110は永続性クライアント接続210、永続性クライアント接続212、及び永続性クライアント接続214に接続される。各永続性クライアント接続はクラスター120内の一組のクラスター化された計算インスタンスに接続される。図2に示した例では、永続性クライアント接続210は第1組のクラスター化された計算インスタンス220に接続され、永続性クライアント接続212は第2組のクラスター化された計算インスタンス222に接続され、永続性クライアント接続214は第3組のクラスター化された計算インスタンス224に接続されている。各永続性クライアント接続は特定のタイプのジョブのために使用されてよい。各永続性クライアント接続を通して提出されたジョブは対応する一組のクラスター化された計算インスタンス上で実行される。
2.4 データ記憶システム
1つの実施形態では、データ記憶システム130はプログラムと任意の適切な記憶装置、例えば1つ以上のハードディスクドライブ、メモリ、又はビッグデータを記憶するように構成された任意の他の電子デジタルデータ記録装置に記憶されたデータとを含む。データ記憶システム130は図1で単一の装置として描かれているが、データ記憶システム130は1つ以上の物理的位置に位置する複数の装置に跨っていてもよい。1つの実施形態では、データ記憶システム130は分散されたファイルシステム、又は複数のデータノードを含む分散されたデータ蓄積である。例えば、データ記憶システム130はHadoop分散ファイルシステム(HDFS)、MapRファイルシステム(MapR FS)、HBase、又は他の適切な分散データ蓄積であってもよい。
データ記憶システム130は複数のデータリポジトリを格納してもよい。各データリポジトリは異なるタイプのデータを記憶してもよい。加えて、各データリポジトリに記憶されたデータは異なる形式であってもよい。
図1に示した例では、データ記憶システム130は第1データリポジトリ132及び第2データリポジトリ134を備える。例として、第1データリポジトリ132はレストラン情報を記憶し、第2データリポジトリ134は複数のユーザーレストラン批評を記憶すると仮定する。レストラン情報は第1データ記憶形式を使って記憶されてよく、ユーザーレストラン批評は第1データ記憶形式と異なる第2データ記憶形式を使って記憶されてもよい。
1つの実施形態では、これら異なるデータ記憶形式のそれぞれは列指向記憶形式である。列指向データ記憶形式の例はParquet、Kudu、及びオブジェクト関係カラムナ(ORC)を含む。各データリポジトリにデータを記憶するのに使用される特定のデータ記憶形式はそのデータリポジトリに記憶されるデータのタイプの特性、例えばアクセスパターン及び更新パターンに依存してもよい。例えば、データ項目が頻繁に追加又は変更される場合、項目が容易に更新又は追加されるのを許すデータ記憶形式が望ましい。
1つの実施形態では、第1データリポジトリ132はデータをKuduデータ形式で記憶する。Kuduは容易に更新可能な関係カラムナ(columnar)記憶形式であり、データ項目が容易に挿入、更新、及び/又は消去されるのを許す。列内の各行は個々に更新されてもよい。Kuduデータ形式は頻繁な追加、消去、及び/又は更新を必要とするデータを記憶するのに使用されてよい。
1つの実施形態では、第2データリポジトリ134はデータをParquetデータ形式で記憶する。Parquetはデータを複数のデータファイルとして記憶する非関係カラムナ記憶形式であり、各データファイルはそのデータファイルに記憶されたデータのスキーマ(論理構造)を定義するスキーマファイルと一緒に記憶される。各ファイルは特定のデータ表と関連してもよい。追加の表は新しいデータファイル及びスキーマファイルを追加することで追加されてもよい。
また、Parquetデータ形式で記憶された複数の表は複数の関連するスキーマファイルを結合することで結合されてよい。従って、別々の表に亘る問合せは別々の表に関連するスキーマファイルを結合して結合されたスキーマに問い合せすることで処理されてもよい。しかし、データ項目をParquetで記憶されるデータに変えるために、そのファイル全体が更新される。Parquetデータ形式は多くの更新を必要としないか又は概ね一括の更新を必要とするデータを記憶するために使用されてよい。加えて又は或いは、Parquetデータ形式は頻繁なスキーマ更新を必要とするデータを記憶するために使用されてもよい。
3.0 予め計算されたビュー
1つの実施形態では、コンピュータシステム100は複数の予め計算されたビューを生成し、予め計算されたビューをデータ記憶システム130に記憶する。予め計算されたビューは存在するデータリポジトリ、例えばデータリポジトリ132及びデータリポジトリ134に記憶されても、又は別のデータリポジトリに記憶されてもよい。予め計算されたビューはそれが記憶されたデータリポジトリと同じデータ記憶形式で記憶されてもよい。例えば、データリポジトリ134がデータをParquetデータ形式で記憶し、予め計算されたビューがデータリポジトリ134に記憶されるならば、その予め計算されたビューもParquetデータ形式で記憶される。加えて又は或いは、予め計算されたビューが記憶されるデータ記憶形式は、その予め計算されたビューがそれから生成されたデータのデータ記憶形式に基づいている。
1つの実施形態では、予め計算されたビューは1つ以上の存在するデータ表を予め連結した結果である。例えば、予め計算されたビューは複数のデータリポジトリのうち2つ以上からのデータを結合してもよい。予め計算されたビューはデータリポジトリ132からの第1組のデータとデータリポジトリ134からの第2組のデータとを含んでもよい。
また、第1及び第2データ組は異なるデータ記憶形式で記憶されてもよい。例えば、第1組のデータは第1データ記憶形式で記憶され、第2組のデータは第1と異なる第2データ記憶形式で記憶されてもよい。結果としての予め計算されたビューは第1データ記憶形式か又は第2データ記憶形式で記憶されてよい。クラスター化された計算インスタンス125は、異なる記憶形式で記憶されたデータを連結できるデータフレームワークを実行してもよい。
1つの実施形態では、予め計算されたビューに含まれる各データリポジトリからのデータ部分は1つ以上の検索問合せ要求に基づいている。例えば、予め計算されたビューはコンピュータシステム100により受信されると予想される特定のタイプの問合せに対処するように生成されてもよい。システムがレストラン及び批評データを記憶する上記例を参照すると、予め計算されたビューはレストランをそれらの批評データと組み合わせてもよい。複数の予め計算されたビューを生成することは、例えば一例の問合せ、特定の予め計算されたビューを示すユーザー入力、構成ファイル、又はどんなデータが特定の予め計算されたビューに含まれるべきかを示すための他の方法に基づいてもよい。
1つの実施形態では、予め計算されたビューは、集計されたデータ及び/又は集約されたデータから成る集計又は集約ビューを提供してもよい。上記例を参照すると、予め計算された集約ビューは各レストランのユーザー評点を平均してもよい。集約ビューは、例えば3/5以上の平均評点のレストランを指定する検索問合せを処理するために使用されてもよい。
1つの実施形態では、データが最初にシステムにロード又は記憶された時に、1つ以上の予め計算されたビューが生成される。また、記憶されたデータが変化した時に、予め計算されたビューが生成されてもよい。これらの予め計算されたビューは不変であり、命名規則に従ってデータ記憶システム130に記憶されてもよい。
1つの実施形態では、予め計算されたビューに対応するビューメタデータがSparkデータフレームにより永続性コンテキスト内で持続する。もしビューメタデータが利用可能でなければ、メタデータをロードする要求が実行される。メタデータは、スキーマ情報に加えて対応する予め計算されたビューについてのデータ記憶システム130内の位置及びノード情報を含む。このメタデータはビューが非分散システム内の従来のデータベース表として働くのを許し、少ないメモリオーバーヘッドを伴う少ない待ち時間のアクセスを可能にする。例えば、数十万のビューメタデータはメモリに容易にはまり、メモリにはまるのが困難又はコストがかかったであろう大きなデータセットを包含しうる。
4.0 プロセス概要
図3はコンピュータシステム100を使って検索結果を提供するためのステップ例を示す。
ステップ300では、第1デジタルデータが第1デジタルデータリポジトリ132に第1列指向記憶形式を使って記憶される。明確な例を示す目的のために、第1デジタルデータは保険エクスポージャーデータから成ると仮定する。エクスポージャーデータは保険契約書に関係する情報について、各保険契約書がそれに対して保証するリスクと、リスク事象が起こると生じうる損失とを格納する。エクスポージャーデータは頻繁な追加及び部分変更を必要とすることがあるが、保険契約書の構造は比較的変わらないので、頻繁なスキーマ追加も部分変更も必要としないかも知れない。従って、エクスポージャーデータはデジタルデータリポジトリ132にKuduを使用して記憶されてもよい。
ステップ302では、第2デジタルデータが第2デジタルデータリポジトリ134に第2列指向記憶形式を使用して記憶される。第2デジタルデータはリスク項目データから成ると仮定する。エクスポージャーデータに記述された各リスクは複数のリスク項目を含む。リスク項目は、例えば物件、建築物、車、オートバイ、及び他の保証される項目であってもよい。リスク項目データはリスク項目に関係する情報を格納する。例えば、物件情報の場合、リスク項目データは物件位置情報、建築物情報、土壌情報などを含んでもよい。別の例として、車両情報は車両メーカー及び車種、及び車両仕様情報を含んでもよい。記憶されると、リスク項目情報は頻繁には変化しないが、異なる種類のリスク項目は異なるデータ記憶スキーマを必要とする。例えば、ボートは車と異なるスキーマを有するであろう。従って、そのリスク項目データはデジタルデータリポジトリ134にParquetを使用して記憶されてもよい。
ステップ304では、複数の予め計算されたビューが第1デジタルデータ及び第2デジタルデータに基づいて生成される。1つの実施形態では、予め計算されたビューは異なる記憶形式で記憶されたデジタルデータを組み合わせる。この例では、予め計算されたビューはKuduで記憶されたエクスポージャーデータをParquetで記憶されたリスク項目データと組み合わせてもよい。予め計算されたビューはエクスポージャーデータ及びリスク項目データに実行されると予想される検索に基づいて生成されてもよい。例えば、保険ポートフォリオは複数のリスクに対して補償する複数の契約を含んでもよい。各リスクは複数のリスク項目を含んでもよい。従って、複数の契約をそれら複数の契約に含まれた複数のリスク項目と連結するポートフォリオビューが生成されてもよい。別の例として、予め計算されたビューは各保険契約のその保険契約に関連するリスク項目に基づく全保険価額を示す集約ビューであってもよい。
ステップ306では、複数の予め計算されたビューはデータ記憶システム130内に記憶される。1つの実施形態では、予め計算されたビューは第2データリポジトリ134に第2列指向記憶形式を使用して記憶される。この例では、複数の予め計算されたビューはデータリポジトリ134にParquetを使用して記憶される。
ステップ308では、複数の予め計算されたビュー用のビューメタデータが検索システムにロードされる。1つの実施形態では、ロードはSparkデータフレームを使って実行される。ビューメタデータは、複数の予め計算されたビューの各予め計算されたビューについてスキーマ及びノード位置情報を含む。
ステップ310では、検索問合せが検索システムにより受信される。例えば、ジョブサーバー110はクライアント計算装置140から検索問合せを受信してもよい。ジョブサーバーは検索問合せを処理するための1つ以上の永続性クライアント接続のうち特定の永続性クライアント接続を選択してもよい。
ステップ312では、検索問合せを受信したことに応答して、結果セットが複数の予め計算されたビューの1つ以上の特定の予め計算されたビューに基づいて決定される。明確な例を示す目的のために、計算クラスター120は複数のSparkインスタンスから成り、ジョブサーバー110は複数の永続性Sparkコンテキストを維持するSparkジョブサーバーであると仮定する。ジョブサーバー110はクライアント計算装置140から検索問合せを受信してもよい。検索問合せは、例えばSQLなどのデータベース言語の形態であってもよい。ジョブサーバー110はSparkコンテキストの1つ以上を使用して複数のSparkインスタンスの1つ以上のSparkインスタンスに問合せを実行する。
実行エンジンを使用して、関連する列を選択するために、予めロードされたビューメタデータをデータ記憶システム130上のファイル及びノード位置を見つけるのに使用する。実行エンジンは、実施形態に依って例えばSpark、Presto、Impalaなどであってよい。基本的データはカラムナ形式で記憶されるので、その問合せを満たすのに必要なデータ列だけをデータ記憶システムから取り出す。これは、問合せエンジン自身のメモリオーバーヘッドだけでなく問合せ待ち時間及びネットワークトラフィックも低減する。複雑な操作、例えば集計、各種グループ分け、及びユーザー定義機能は問合せエンジンにより処理される。任意選択で、他のデータ源、例えば保険モデル化損失への結合がこの時に起こりうる。なぜならそのデータが元の予め計算されたビューから生成されたからである。実行エンジンは、Kudu、Parquet、又はPostgresで存在しうる本質的に異なるデータセットを結合するのを可能にする。
1つ以上の特定の予め計算されたビューは検索問合せの内容に基づいて決定されてもよい。例えば、検索問合せが「海岸線から5マイル(約8km)以内にある物件についての全ての損失」を指定するならば、リスク項目データ及び/又は補償される物件の位置を示すエクスポージャーデータを検索するのに加えて、予め計算された損失累積を格納する予め計算されたビューが検索されてもよい。
ステップ314では、結果セットは別のコンピュータ又は表示装置に提供される。例えば、結果セットはクライアント計算装置140に提供されても、又は出力としてグラフィカル・ユーザーインターフェースを介して表示装置に提供されてもよい。加えて又は或いは、結果セットはデータ記憶システム130などの記憶装置に記憶されてもよい。
1つの実施形態では、第1デジタルデータ及び第2デジタルデータを記憶すること及び複数の予め計算されたビューを生成することは、一括処理として実行されてもよい。加えて、それらのステップは、システムがオフラインでどんなクライアント計算装置やネットワークにも接続されていない間に実行されてもよい。ビューメタデータをロードすること、検索問合せを受信すること、結果セットを決定すること、及び検索結果を提供することは同期呼び出しであってもよい。また、それらのステップは、システムがオンラインでクライアント計算装置及び/又はネットワークに接続されている間に実行されてもよい。
これらの手法を使用して、時間のかかる一括処理ジョブ用に通常構成されたビッグデータフレームワーク及び記憶形式は、検索問合せへのリアルタイム応答を提供できる。これは少ない待ち時間の検索が本書に記載したシステムを使用して実行されるのを可能にする。本システムは、Sparkなどの技術の重要な問合せプラン最適化を利用しそれをParquet、Kuduなどのカラムナ記憶形式と、2つの複雑な技術、例えばElasticSearch及びMongoDB又はCassandraの間のデータミラリングを必要としたであろうやり方で組み合わせることで非常に柔軟である。従来の関係型データベースにはまるのに大き過ぎる広い列セットの場合、このアーキテクチャは、ディスク及びネットワークI/Oにおける最小のオーバーヘッドを提供しながら大きなデータセットを読み出す速くかつ分散されたやり方を提供する。NoSQLデータベースを含む大多数のデータ記憶技術は索引及び他のデータ二次構造が実行時前に決定されるのを必要とする。しかし、本書に記載した手法及び保険用の場合では、数百の列に亘る場当たり的問合せ及びデータ探査が通常である。これは、全ての情報列に索引を付けることを費用がかかり実用的でなくする。高度な分散問合せエンジンを伴うカラムナ記憶技術の恩恵は、従来の方法に比べてリスク探査及び分析に対する大きな利点を提供する。
5.0 実施例、ハードウェア概要
1つの実施形態によれば、本書に記載した手法は少なくとも1つの計算装置により実行される。本手法は少なくとも1つのサーバーコンピュータ及び/又はパケットデータネットワークなどのネットワークを使用して結合された他の複数の計算装置の組み合わせを使用して全体が又は一部が実行されてよい。計算装置はそれらの手法を実行するように配線されていても、又はデジタル電子装置、例えば少なくとも1つの特定用途向け集積回路(ASIC)又はそれらの手法を実行するように永続的にプログラムされたフィールド・プログラマブル・ゲートアレイ(FPGA)を備えていても、又はファームウェア、メモリ、他の記憶装置、又は組み合わせ内のプログラマ命令群に従ってそれらの手法を実行するようにプログラマされた少なくとも1つの汎用ハードウェアプロセッサを備えていてもよい。このような計算装置はまた、カスタム配線論理、ASIC、又はFPGAをカスタムプログラムと組み合わせて記載した手法を実現してもよい。これらの計算装置はサーバーコンピュータ、ワークステーション、パーソナルコンピュータ、携帯コンピュータシステム、ハンドヘルド装置、可搬コンピュータ装置、装着型コンピュータ、体に取り付けた又は埋め込み可能な装置、スマートフォン、スマート器具、LAN間接続装置、自律又は半自律装置、例えばロボット又は無人地上又は空中車、及び配線接続された及び/又はプログラム論理を内蔵し記載された手法を実行する任意の他の電子装置、データセンター内の1つ以上の仮想コンピュータマシン又はインスタンス、及び/又はサーバーコンピュータ及び/又はパーソナルコンピュータのネットワークであってもよい。
図4は1つの実施形態が実施されてよい一例のコンピュータシステムを示すブロック図である。図4の例では、コンピュータシステム400及び開示された技術をハードウェア、ソフトウェア、又はハードウェアとソフトウェアの組み合わせで実現するための命令群が概略的に例えば、箱又は円として、本開示に関係する技術の当業者により通常使用されるのと同じ詳細さのレベルでコンピュータアーキテクチャ及びコンピュータシステム実施形態について伝えるために表されている。
コンピュータシステム400は、バス及び/又はコンピュータシステム400の構成要素間で情報及び/又は命令群を、電子信号路を通じて通信するための他の通信機構を含んでよい入力/出力(I/O)サブシステム402を含む。I/Oサブシステム402はI/Oコントローラ、メモリコントローラ、及び少なくとも1つのI/Oポートを含んでもよい。電子信号路は図面において概略的に例えば、線、一方向矢印、又は双方向矢印として表されている。
少なくとも1つのハードウェアプロセッサ404がI/Oサブシステム402に情報及び命令群を処理するために結合される。ハードウェアプロセッサ404は、例えば汎用マイクロプロセッサ又はマイクロコントローラ、及び/又は埋め込みシステム又はグラフィック処理ユニット(GPU)又はデジタル信号プロセッサ又はARMプロセッサなどの特殊用途マイクロプロセッサを含んでもよい。プロセッサ404は一体化された論理演算ユニット(ALU)を備えても、又は別個のALUに結合されてもよい。
コンピュータシステム400は、I/Oサブシステム402に結合されデータ及びプロセッサ404が実行する命令群を電子的にデジタルで記憶するための主メモリなどの1つ以上のメモリユニット406を含む。メモリ406は揮発性メモリ、例えば様々な形態のランダムアクセスメモリ(RAM)又は他の動的記憶装置を含んでもよい。メモリ406も、プロセッサ404により命令群が実行される間一時的変数又は他の中間情報を記憶するために使用されてもよい。このような命令群は、プロセッサ404にとってアクセス可能な持続性コンピュータ読取可能記憶媒体に記憶されている場合、コンピュータシステム400を命令群に指定された動作を実行するようにカスタマイズされた特殊用途マシンに変えうる。
コンピュータシステム400は不揮発性メモリ、例えば読出し専用メモリ(ROM)408又はI/Oサブシステム402に結合され情報及びプロセッサ404用の命令群を記憶するための他の静的記憶装置を更に含む。ROM408は様々な形態のプログラマブルROM(PROM)、例えば消去可能PROM(EPROM)又は電気的消去可能PROM(EEPROM)を含んでもよい。永続記憶ユニット410は様々な形態の不揮発性RAM(NVRAM)、例えばFLASH(登録商標)メモリ、又は固体記憶装置、磁気ディスク又はCD-ROM又はDVD-ROMなどの光ディスクを含んでもよく、情報及び命令群を記憶するためにI/Oサブシステム402に結合されてもよい。記憶装置410は、命令群及びデータを記憶するために使用されてよい持続性コンピュータ読取可能媒体の例であり、それらの命令群はプロセッサ404により実行される時、コンピュータ実行方法を実行させ、本書の手法を実行する。
メモリ406、ROM408、又は記憶装置410内の命令群は、モジュール、方法、オブジェクト、機能、ルーチン、又は呼び出しとして構成される1つ以上の組の命令を含んでよい。命令群は1つ以上のコンピュータプログラム、オペレーティングシステムサービス、又は携帯アプリを含むアプリケーションプログラムとして構成されてもよい。命令群はオペレーティングシステム及び/又はシステムソフトウェア;マルチメディア、プログラミング、又は他の機能を支える1つ以上のライブラリ;TCP/IP、HTTP、又は他の通信プロトコルを実行するデータプロトコル命令群又はスタック;HTML、XML、JPEG、MPEG、又はPNGを使ってコード化されたファイルを解析又は解釈するファイルフォーマット処理命令群;グラフィカル・ユーザーインターフェース(GUI)、コマンドライン・インターフェース、又はテキストユーザーインターフェース用のコマンドを翻訳又は解釈するユーザーインターフェース命令群;アプリケーションソフトウェア、例えばオフィススイート、インターネットアクセスアプリケーション、設計及び製造アプリケーション、グラフィックアプリケーション、音声アプリケーション、ソフトウェア工学アプリケーション、教育アプリケーション、ゲーム、又は種々雑多なアプリケーションを含んでよい。命令群はウェブサーバー、ウェブアプリケーションサーバー、又はウェブクライアントを実現してもよい。命令群はプレゼンテーション層、アプリケーション層、及びデータ記憶層、例えば構造化照会言語(SQL)を使用する又はSQL不使用の関係型データベースシステム、オブジェクトストア、グラフデータベース、フラットファイルシステム、又は他のデータ記憶として構成されてよい。
コンピュータシステム400はI/Oサブシステム402を介して少なくとも1つの出力装置412に結合されてもよい。1つの実施形態では、出力装置412はデジタルコンピュータ表示器である。様々な実施形態で使用されてよい表示器の例は、タッチスクリーン表示器又は発光ダイオード(LED)表示器又は液晶表示器(LCD)又は電子ペーパー表示器を含む。コンピュータシステム400は表示装置に代えて又は加えて他の種類の出力装置412を含んでよい。他の出力装置412の例はプリンター、切符プリンター、プロッター、プロジェクター、音声カード又は映像カード、スピーカー、ブザー又は圧電素子又は他の可聴装置、ランプ又はLED又はLCD指示器、触覚装置、作動装置又はサーボを含む。
少なくとも一つの入力装置414が、信号、データ、コマンド選択、又はジェスチャーをプロセッサ404 に伝えるためにI/Oサブシステム402に結合される。入力装置414の例は、タッチスクリーン、マイクロフォン、静止及びビデオデジタルカメラ、英数字及び他のキー、キーパッド、キーボード、グラフィックスタブレット、イメージスキャナー、ジョイスティック、クロック、スイッチ、ボタン、ダイヤル、スライド、及び/又は様々な種類のセンサー、例えば力センサー、動きセンサー、熱センサー、加速度計、ジャイロスコープ、及び慣性測定ユニット(IMU)センサー、及び/又は様々な種類の送受信機、例えば携帯電話又はWi-Fiなどの無線装置、無線周波数(RF)又は赤外線(IR)送受信機、及び全地球測位システム(GPS)送受信機を含む。
別の種類の入力装置は、入力機能に代えて又は加えて、表示画面上でのグラフィカルインターフェースにおけるナビゲーションなどのカーソル制御または他の自動化された制御機能を実行してよい制御装置416である。制御装置416は、方向情報及びコマンド選択をプロセッサ404に通信し、表示器412上のカーソル移動を制御するためのタッチパッド、マウス、トラックボール、又はカーソル方向キーであってもよい。入力装置は、第1軸(例えば、x)と第2軸(例えば、y)の2軸の少なくとも2自由度を有してもよく、これはその装置が平面内で位置を指定するのを許す。別の種類の入力装置は、ジョイスティック、ワンド、コンソール、操舵ホイール、ペダル、ギアシフト機構、又は他の種類の制御装置などの有線、無線、又は光学制御装置である。入力装置414は、ビデオカメラ及び奥行きセンサーなどの複数の異なる入力装置の組み合わせを含んでもよい。
別の実施形態では、コンピュータシステム400は、出力装置412、入力装置414、及び制御装置416のうちの1つ以上が省略された物のインターネット(IoT)装置を含んでもよい。或いは、そのような実施形態では、入力装置414は、1つ以上のカメラ、動き検出器、温度計、マイクロフォン、振動検出器、他のセンサー又は検出器、測定装置又はエンコーダーを含んでもよく、出力装置412は、単一ラインLED又はLCD表示器などの特殊用途表示器、1つ以上の指示器、表示パネル、計器、バルブ、ソレノイド、作動装置又はサーボを含んでもよい。
コンピュータシステム400が携帯コンピュータ装置である時、入力装置414は、複数のGPS衛星に対して三角測量し、コンピュータシステム400の地球物理的位置の緯度‐経度値などの地理位置データを測定し生成できるGPSモジュールに結合された全地球測位システム(GPS)受信機を含んでもよい。出力装置412は、位置報告パケット、通知、パルス又はハートビート信号、又は単独で又は他の特定用途向けデータと組み合わせてコンピュータシステム400の位置を指定する他の繰り返しデータ送信であってホスト424又はサーバー430に向けられたデータ送信を生成するためのハードウェア、ソフトウェア、ファームウェア、及びインターフェースを含んでもよい。
コンピュータシステム400は、カスタム配線論理、少なくとも1つのASIC又はFPGA、ファームウェア、及び/又はロードされコンピュータシステムと共に使用又は実行される時、コンピュータシステムを特殊用途マシンとして動作させる又は動作するようにプログラムするファームウェア及び/又はプログラム命令群又は論理を使用して本書に記載された手法を実行してもよい。1つの実施形態によれば、本書の手法は、プロセッサ404が主メモリ406に収容された少なくとも1つの命令の少なくとも1つのシーケンスを実行するのに応答して、コンピュータシステム400により実行される。このような命令群は主メモリ406に別の記憶媒体、例えば記憶装置410から読み込まれてもよい。主メモリ406に収容された命令シーケンスの実行はプロセッサ404に本書に記載されたプロセスステップを実行させる。別の実施形態では、配線回路がソフトウェア命令群の代わりに又はと組み合わせて使用されてもよい。
本書で使用する用語「記憶媒体」はデータ及び/又はマシンを特定のやり方で動作させる命令群を記憶する任意の持続性媒体を指す。このような記憶媒体は不揮発性媒体及び/又は揮発性媒体であってもよい。不揮発性媒体は、例えば記憶装置410などの光学又は磁気ディスクを含む。揮発性媒体は動的メモリ、例えばメモリ406を含む。一般的な形態の記憶媒体は、例えばハードディスク、半導体ドライブ、フラッシュドライブ、磁気データ記憶媒体、任意の光学又は物理的データ記憶媒体、メモリチップなどを含む。
記憶媒体は伝送媒体と異なるが、一緒に使用されてもよい。伝送媒体は記憶媒体間の情報の移送に関わる。例えば、伝送媒体は同軸ケーブル、銅線、及び光ファイバーを含み、I/Oサブシステム402のバスを成す配線も含む。伝送媒体はまた、電波及び赤外線データ通信時に発生させるような音波又は光波の形態を取りうる。
様々な形態の媒体が少なくとも1つの命令の少なくとも1つのシーケンスを実行のためにプロセッサ404に運ぶのに関わってもよい。例えば、命令群は最初遠隔のコンピュータの磁気ディスク又は半導体ドライブ上に搭載されてもよい。遠隔のコンピュータはその命令群をその動的メモリにロードして命令群を光ファイバー又は同軸ケーブル、又はモデムを使う電話回線などの通信回線を通じて送信できる。コンピュータシステム400のモデム又はルーターは通信回線上のそのデータを受信してコンピュータシステム400が読める形式に変換できる。例えば、無線周波数アンテナ又は赤外線検出器などの受信機は無線又は光信号で運ばれるデータを受信でき、適切な回路が、バス上にデータを載せるようにそのデータをI/Oサブシステム402に提供できる。I/Oサブシステム402はそのデータをメモリ406に運び、プロセッサ404はメモリからその命令群を読み出し実行する。メモリ406が受け取った命令群は、プロセッサ404による実行前か後かに任意選択で記憶装置410上に記憶されてもよい。
コンピュータシステム400はまた、バス402に結合された通信インターフェース418を含む。通信インターフェース418は少なくとも1つの通信ネットワーク、例えばネットワーク422又はインターネット上の公開又は社内クラウドに直接又は間接的に接続されたネットワークリンク420への双方向データ通信結合を提供する。例えば、通信インターフェース418はEthernet(登録商標)ネットワークインターフェース、総合デジタル通信網(ISDN)カード、ケーブルモデム、衛星モデム、又は対応する種類の通信回線、例えばEthernetケーブル又は任意の種類の金属ケーブル又は光ファイバー回線又は電話回線へのデータ通信接続を提供するモデムであってもよい。ネットワーク422は、広くはローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、キャンパスネットワーク、相互接続ネットワーク、又はそれらの任意の組み合わせを表わす。通信インターフェース418は、互換のLANへのデータ通信接続を提供するためのLANカード、又はセルラー無線電話ワイヤレスネットワーク規格に従ってセルラーデータを送信又は受信するように配線されたセルラー無線電話インターフェース、又は衛星ワイヤレスネットワーク規格に従ってデジタルデータを送信又は受信するように配線された衛星無線インターフェースを含んでよい。どんなそのような実施形態でも、通信インターフェース418は、様々な種類の情報を表わすデジタルデータストリームを運ぶ信号経路を通じて、電気信号、電磁信号、又は光信号を送信し受信する。
ネットワークリンク420は通常、例えば衛星、セルラー、Wi-Fi又はBLUETOOTH(登録商標)技術を使った、直接又は少なくとも1つのネットワークを介した他のデータ装置への電気、電磁、又は光学データ通信を提供する。例えば、ネットワークリンク420は、ネットワーク422を通じたホストコンピュータ424への接続を提供してもよい。
また、ネットワークリンク420は、ネットワーク422を通じた、又はLAN間接続装置を介して他の計算装置及び/又はインターネットサービスプロバイダー(ISP)426によって運営されるコンピュータへの接続を提供してもよい。ISP426は、インターネット428として表される世界規模のパケットデータ通信網を通じたデータ通信サービスを提供する。サーバーコンピュータ430はインターネット428に結合されてもよい。サーバー430は、広くは任意のコンピュータ、データセンター、ハイパーバイザーを有するか又は有さない仮想マシン又は仮想計算インスタンス、又はDOCKER又はKUBERNETESなどのコンテナ化されたプログラムシステムを実行するコンピュータを表わす。サーバー430は、2つ以上のコンピュータ又はインスタンスを使って実行され、ウェブサービス要求、HTTPペイロード内にパラメータを持つユニフォームリソースロケータ(URL)文字列、API呼び出し、アプリサービス呼び出し、又は他のサービス呼び出しを送信することでアクセスされ、使用される電子デジタルサービスを表わしてもよい。コンピュータシステム400及びサーバー430は、他のコンピュータ、処理クラスター、サーバーファーム、又はタスクを実行するか又はアプリケーション又はサービスを実行するために協働するコンピュータの他の組織を含む分散コンピュータシステムの要素を成してもよい。サーバー430は、モジュール、メソッド、オブジェクト、関数、ルーチン、又は呼び出しとして構成された命令の1つ以上の組を備えてもよい。命令群は、1つ以上のコンピュータプログラム、オペレーティングシステムサービス、又はモバイルアプリを含むアプリケーションプログラムとして構成されてもよい。命令群は、オペレーティングシステム及び/又はシステムソフトウェア;マルチメディア、プログラミング、又は他の機能をサポートする1つ以上のライブラリ;TCP/IP、HTTP、又は他の通信プロトコルを実行するデータプロトコル命令群又はスタック;HTML、XML、JPEG、MPEG、又はPNGを使ってコード化されたファイルを解析又は解釈するファイルフォーマット処理命令群;グラフィカル・ユーザーインターフェース(GUI)、コマンドライン・インターフェース、又はテキストユーザーインターフェース用のコマンドを翻訳又は解釈するユーザーインターフェース命令群;アプリケーションソフトウェア、例えばオフィススイート、インターネットアクセスアプリケーション、設計及び製造アプリケーション、グラフィックアプリケーション、音声アプリケーション、ソフトウェア工学アプリケーション、教育アプリケーション、ゲーム、又は種々雑多なアプリケーションを含んでよい。サーバー430は、プレゼンテーション層、アプリケーション層、及びデータ記憶層、例えば構造化照会言語(SQL)を使用する又はSQLを使用しない関係型データベースシステム、オブジェクトストア、グラフデータベース、フラットファイルシステム、又は他のデータ記憶を管轄するウェブアプリケーションサーバーを含んでもよい。
コンピュータシステム400は、ネットワーク、ネットワークリンク420及び通信インターフェース418を通じて、メッセージを送り、プログラムコードを含むデータ及び命令群を受信できる。インターネットの例では、サーバー430は、インターネット428、ISP426、ローカルネットワーク422、及び通信インターフェース418を通じて、アプリケーションプログラムの要求されたコードを送信してもよい。受信されたコードは、受信されながらプロセッサ404によって実行されても、及び/又は、後で実行するために記憶410又は他の不揮発性記憶装置に記憶されてもよい。
この項に説明された命令群の実行は、プログラムコード及びその現在の働きから成り実行されているコンピュータプログラムのインスタンスの形態でプロセスを実行してもよい。オペレーティングシステム(OS) に依って、プロセスは、命令群を同時に実行する複数の実行スレッドから構成されてもよい。この状況において、コンピュータプログラムは命令の受動的な集合である一方、プロセスはそれらの命令の実際の実行であってもよい。幾つかのプロセスは同じプログラムに関連してもよく、例えば、同じプログラムの幾つかのインスタンスを開始することは、2つ以上のプロセスが実行されていることをしばしば意味する。マルチタスク処理が、複数のプロセスがプロセッサ404を共用することを許すために実行されてもよい。各プロセッサ404又はそのプロセッサの各コアは一度に1つだけのタスクを実行するが、コンピュータシステム400は、各プロセッサが、各タスクが終了するのを待つ必要なく、実行されているタスクを切り換えるのを許すようにマルチタスク処理を実行するようにプログラムされてもよい。1つの実施形態では、タスクが入出力動作を実行する時、タスクが切り換えられうることを示す時、又はハードウェア割り込み後に、切り換えが実行されてもよい。複数のプロセスが同時実行されていると見えるようにするためにコンテキスト切り替えを迅速に実行することで、対話型ユーザーアプリケーションの速い応答を可能にするように、時分割が実行されてもよい。1つの実施形態では、機密保護及び信頼性のために、オペレーティングシステムは、独立したプロセス間の直接通信を防止し、厳密に仲介され制御されたプロセス間通信機能を提供してもよい。
100 コンピュータシステム
110 ジョブサーバー
120 計算クラスター
125 クラスター化された計算インスタンス
130 データ記憶システム
132 デジタルデータリポジトリ
140 クライアント計算装置
210、212、214 永続性クライアント接続
220、222、224 一組のクラスター化された計算インスタンス
402 I/Oサブシステム
404 プロセッサ
406 メモリ
410 記憶装置
412 出力装置
414 入力装置
416 制御装置
418 通信インターフェース
420 ネットワークリンク
422 ネットワーク
424 ホスト
428 インターネット
430 サーバー

Claims (20)

  1. 問合せへの少ない待ち時間の応答を提供するためのコンピュータ実行方法であって、
    第1デジタルデータを、複数の物理的に分散されたノードを備える分散記憶システムの第1デジタルデータリポジトリに第1記憶形式を使用して記憶するステップと、
    第2デジタルデータを、前記分散記憶システムの第2デジタルデータリポジトリに前記第1記憶形式と異なる第2記憶形式を使用して記憶するステップと、
    複数のデータベースビューを前記第1デジタルデータ及び前記第2デジタルデータ両方に基づいて生成するステップと、
    前記複数のデータベースビューを、前記分散記憶システムの第3デジタルデータリポジトリに列指向記憶形式を使用して記憶するステップと、
    検索問合せを受信したことに応答して、前記検索問合せに対する結果セットを前記複数のデータベースビューのうち1つ以上の特定のデータベースビューに基づいて決定し、前記結果セットを特定のコンピュータ又は表示装置に出力として提供するステップと
    を含み、1つ以上の計算装置を使用して実行されるコンピュータ実行方法。
  2. 前記第1記憶形式又は前記第2記憶形式は列指向記憶形式である、請求項1に記載のコンピュータ実行方法。
  3. 前記第1デジタルデータリポジトリ又は前記第2デジタルデータリポジトリに記憶されたデジタルデータのアクセス又は更新パターンに基づいて、前記列指向記憶形式を選択するステップを更に含む、請求項2に記載のコンピュータ実行方法。
  4. 前記第1デジタルデータは閾値を超える更新量を要求し、前記第1記憶形式は関係型データ形式であり、
    前記第2デジタルデータは閾値を超えない更新量を要求し、前記第2記憶形式はスキーマファイルに関連付けられたデータファイルを含む、請求項2に記載のコンピュータ実行方法。
  5. 前記第1デジタルデータは保険エクスポージャーデータを含み、前記第2デジタルデータは保証された項目を表すリスクデータを含む、請求項4記載のコンピュータ実行方法。
  6. 前記生成するステップは、1つ以上のユーザー問合せ又は構成ファイルに基づいて行われる、請求項1に記載のコンピュータ実行方法。
  7. 前記生成するステップは、前記第1デジタルデータリポジトリ又は前記第2デジタルデータリポジトリに新しいデジタルデータがロードされる時に、自動的に実施される、請求項1に記載のコンピュータ実行方法。
  8. 前記複数のデータベースビューのためにメタデータを記憶するステップを更に含み、前記メタデータは、前記分散記憶システム内で1つ以上のノードの位置情報を備える、請求項1に記載のコンピュータ実行方法
  9. 前記決定するステップは、
    前記分散記憶システム内で前記複数のデータベースビューのうち前記1つ以上のデータベースビューの1つ以上の記憶位置を前記メタデータから決定するステップと、
    前記1つ以上の記憶位置から、特定のコンピュータ又は表示装置に送信するために前記結果セットが必要とするデータ列だけを取り出すステップと
    を含む、請求項8に記載のコンピュータ実行方法。
  10. 前記第1デジタルデータリポジトリ又は前記第2デジタルデータリポジトリは、広い列記憶セットである、請求項1に記載のコンピュータ実行方法。
  11. 実行されると、1つ以上のプロセッサに、問合せへ少ない待ち時間の応答を提供する方法を実行させる命令群を記憶する1つ以上の持続性コンピュータ読取可能記憶媒体であって、
    第1デジタルデータを、複数の物理的に分散されたノードを備える分散記憶システムの第1デジタルデータリポジトリに第1記憶形式を使用して記憶するステップと、
    第2デジタルデータを、前記分散記憶システムの第2デジタルデータリポジトリに前記第1記憶形式と異なる第2記憶形式を使用して記憶するステップと、
    複数のデータベースビューを前記第1デジタルデータ及び前記第2デジタルデータ両方に基づいて生成するステップと、
    前記複数のデータベースビューを、前記分散記憶システムの第3デジタルデータリポジトリに列指向記憶形式を使用して記憶するステップと、
    検索問合せを受信したことに応答して、前記検索問合せに対する結果セットを前記複数のデータベースビューのうち1つ以上の特定のデータベースビューに基づいて決定し、前記結果セットを特定のコンピュータ又は表示装置に出力として提供するステップと
    を含む、1つ以上の持続性コンピュータ読取可能記憶媒体。
  12. 前記第1記憶形式又は前記第2記憶形式は列指向記憶形式である、請求項11に記載の1つ以上の持続性コンピュータ読取可能記憶媒体。
  13. 前記第1デジタルデータリポジトリ又は前記第2デジタルデータリポジトリに記憶されたデジタルデータのアクセス又は更新パターンに基づいて、前記列指向記憶形式を選択するステップを更に含む、請求項12に記載の1つ以上の持続性コンピュータ読取可能記憶媒体。
  14. 前記第1デジタルデータは閾値を超える更新量を要求し、前記第1記憶形式は関係型データ形式であり、
    前記第2デジタルデータは閾値を超えない更新量を要求し、前記第2記憶形式はスキーマファイルに関連付けられたデータファイルを含む、請求項12に記載の1つ以上の持続性コンピュータ読取可能記憶媒体。
  15. 前記第1デジタルデータは保険エクスポージャーデータを含み、前記第2デジタルデータは保証される項目を表すリスクデータを含む、請求項14に記載の1つ以上の持続性コンピュータ読取可能記憶媒体。
  16. 前記生成するステップは、1つ以上のユーザー問合せ又は構成ファイルに基づいて行われる、請求項11に記載の1つ以上の持続性コンピュータ読取可能記憶媒体。
  17. 前記生成するステップは、前記第1デジタルデータリポジトリ又は前記第2デジタルデータリポジトリに新しいデジタルデータがロードされる時に、自動的に実施される、請求項11に記載の1つ以上の持続性コンピュータ読取可能記憶媒体。
  18. 前記複数のデータベースビューのためにメタデータを記憶するステップを更に含み、前記メタデータは、前記分散記憶システム内で1つ以上のノードの位置情報を備える、請求項11に記載の1つ以上の持続性コンピュータ読取可能記憶媒体。
  19. 前記決定するステップは、
    前記分散記憶システム内で前記複数のデータベースビューのうち前記1つ以上のデータベースビューの1つ以上の記憶位置を前記メタデータから決定するステップと、
    前記1つ以上の記憶位置から、特定のコンピュータ又は表示装置に送信するために前記結果セットが必要とするデータ列だけを取り出すステップと
    を含む、請求項18に記載の1つ以上の持続性コンピュータ読取可能記憶媒体。
  20. 前記第1デジタルデータリポジトリ又は前記第2デジタルデータリポジトリは、広い列記憶セットである、請求項11に記載の1つ以上の持続性コンピュータ読取可能記憶媒体。
JP2022060037A 2018-04-19 2022-03-31 少ない待ち時間の検索問合せ応答を提供するためのデータ記憶システム Ceased JP2022088603A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US15/957,779 2018-04-19
US15/957,779 US10719508B2 (en) 2018-04-19 2018-04-19 Data storage system for providing low latency search query responses
JP2020558052A JP7053885B2 (ja) 2018-04-19 2019-04-18 少ない待ち時間の検索問合せ応答を提供するためのデータ記憶システム
PCT/US2019/028160 WO2019204629A1 (en) 2018-04-19 2019-04-18 Data storage system for providing low latency search query responses

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020558052A Division JP7053885B2 (ja) 2018-04-19 2019-04-18 少ない待ち時間の検索問合せ応答を提供するためのデータ記憶システム

Publications (1)

Publication Number Publication Date
JP2022088603A true JP2022088603A (ja) 2022-06-14

Family

ID=66239810

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020558052A Active JP7053885B2 (ja) 2018-04-19 2019-04-18 少ない待ち時間の検索問合せ応答を提供するためのデータ記憶システム
JP2022060037A Ceased JP2022088603A (ja) 2018-04-19 2022-03-31 少ない待ち時間の検索問合せ応答を提供するためのデータ記憶システム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020558052A Active JP7053885B2 (ja) 2018-04-19 2019-04-18 少ない待ち時間の検索問合せ応答を提供するためのデータ記憶システム

Country Status (5)

Country Link
US (3) US10719508B2 (ja)
EP (1) EP3557435A1 (ja)
JP (2) JP7053885B2 (ja)
CN (1) CN112384908A (ja)
WO (1) WO2019204629A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10719508B2 (en) 2018-04-19 2020-07-21 Risk Management Solutions, Inc. Data storage system for providing low latency search query responses
CN110781235A (zh) * 2019-10-24 2020-02-11 珠海格力电器股份有限公司 基于大数据的采购数据处理方法、装置、终端及存储介质
CN111563091B (zh) * 2020-05-09 2023-04-28 中国银行股份有限公司 非往返式的批量更新MongoDB的方法及系统
TWI755068B (zh) * 2020-09-21 2022-02-11 宜鼎國際股份有限公司 具有系統作業能力的資料儲存裝置
CN112100510A (zh) * 2020-11-18 2020-12-18 树根互联技术有限公司 基于车联网平台的海量数据查询方法和装置
CN112769964B (zh) * 2021-04-12 2021-07-02 江苏红网技术股份有限公司 一种yarn支持混合运行时的方法
CN114143182B (zh) * 2021-11-18 2024-02-23 新华三大数据技术有限公司 一种配置分布式搜索引擎集群的节点的方法和装置
US11947555B1 (en) * 2022-09-30 2024-04-02 Amazon Technologies, Inc. Intelligent query routing across shards of scalable database tables
CN115577157B (zh) * 2022-11-24 2023-02-28 河北热点科技股份有限公司 多数据源元数据终端查询快速比对方法及系统
CN116521142B (zh) * 2023-06-29 2023-10-03 速度科技股份有限公司 基于Presto扩展的时空大数据SQL引擎的实现方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155434B1 (en) * 2002-04-04 2006-12-26 Ncr Corp. Locking mechanism employing a name lock for materialized views
JP2013246835A (ja) * 2012-05-29 2013-12-09 Sap Ag データウェアハウスモデルからインメモリモデルを生成するためのシステムおよび方法
US20140222843A1 (en) * 2013-02-01 2014-08-07 Netapp, Inc. Systems, Methods, and computer Program Products to Ingest, Process, and Output Large Data
JP2015072688A (ja) * 2013-10-01 2015-04-16 クラウデラ インコーポレイテッド Hadoopにおける強化されたSQLライクなクエリのためのバックグラウンドフォーマット最適化
US20150347483A1 (en) * 2014-05-30 2015-12-03 International Business Machines Corporation Combining row based and column based tables to form mixed-mode tables
CN106713332A (zh) * 2016-12-30 2017-05-24 山石网科通信技术有限公司 网络数据的处理方法、装置和系统
CN106815353A (zh) * 2017-01-20 2017-06-09 星环信息科技(上海)有限公司 一种数据查询的方法及设备
CN107273504A (zh) * 2017-06-19 2017-10-20 浪潮软件集团有限公司 一种基于Kudu的数据查询方法和装置

Family Cites Families (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6199063B1 (en) * 1998-03-27 2001-03-06 Red Brick Systems, Inc. System and method for rewriting relational database queries
AU761900B2 (en) * 1998-03-27 2003-06-12 International Business Machines Corporation Processing precomputed views
US6205451B1 (en) * 1998-05-22 2001-03-20 Oracle Corporation Method and apparatus for incremental refresh of summary tables in a database system
US6546381B1 (en) * 1998-11-02 2003-04-08 International Business Machines Corporation Query optimization system and method
US6496819B1 (en) * 1998-12-28 2002-12-17 Oracle Corporation Rewriting a query in terms of a summary based on functional dependencies and join backs, and based on join derivability
US6449605B1 (en) * 1998-12-28 2002-09-10 Oracle Corporation Using a materialized view to process a related query containing a one to many lossless join
US6484159B1 (en) * 1999-05-20 2002-11-19 At&T Corp. Method and system for incremental database maintenance
US6366905B1 (en) * 1999-06-22 2002-04-02 Microsoft Corporation Aggregations design in database services
US6374263B1 (en) * 1999-07-19 2002-04-16 International Business Machines Corp. System for maintaining precomputed views
US6581060B1 (en) * 2000-06-21 2003-06-17 International Business Machines Corporation System and method for RDBMS to protect records in accordance with non-RDBMS access control rules
US6735587B2 (en) * 2000-07-28 2004-05-11 International Business Machines Corporation Maintaining pre-computed aggregate views incrementally in the presence of non-minimal changes
US6850933B2 (en) * 2001-11-15 2005-02-01 Microsoft Corporation System and method for optimizing queries using materialized views and fast view matching
US7440963B1 (en) * 2002-05-08 2008-10-21 Oracle International Corporation Rewriting a query to use a set of materialized views and database objects
US7574652B2 (en) * 2002-06-20 2009-08-11 Canon Kabushiki Kaisha Methods for interactively defining transforms and for generating queries by manipulating existing query data
US7644361B2 (en) * 2002-12-23 2010-01-05 Canon Kabushiki Kaisha Method of using recommendations to visually create new views of data across heterogeneous sources
US20060047696A1 (en) * 2004-08-24 2006-03-02 Microsoft Corporation Partially materialized views
US7809763B2 (en) * 2004-10-15 2010-10-05 Oracle International Corporation Method(s) for updating database object metadata
KR100701104B1 (ko) * 2004-12-22 2007-03-28 한국전자통신연구원 분산된 정보들의 통합 뷰 생성을 위한 데이터베이스스키마 생성 방법 및 정보 통합 시스템
US7406468B2 (en) * 2005-06-14 2008-07-29 Microsoft Corporation View matching for materialized outer-join views
JP4822889B2 (ja) * 2006-03-20 2011-11-24 富士通株式会社 データベース統合参照プログラム、データベース統合参照方法及びデータベース統合参照装置
US7836052B2 (en) * 2006-03-28 2010-11-16 Microsoft Corporation Selection of attribute combination aggregations
US10007686B2 (en) * 2006-08-02 2018-06-26 Entit Software Llc Automatic vertical-database design
US8086598B1 (en) * 2006-08-02 2011-12-27 Hewlett-Packard Development Company, L.P. Query optimizer with schema conversion
US9015146B2 (en) * 2006-12-01 2015-04-21 Teradata Us, Inc. Managing access to data in a multi-temperature database
US7853604B2 (en) * 2007-07-12 2010-12-14 Oracle International Corporation Inline view query rewrite using a materialized view
US8239368B2 (en) * 2007-08-29 2012-08-07 International Business Machines Corporation Apparatus, system, and method for executing a distributed spatial data query
US9626421B2 (en) * 2007-09-21 2017-04-18 Hasso-Plattner-Institut Fur Softwaresystemtechnik Gmbh ETL-less zero-redundancy system and method for reporting OLTP data
US7958122B2 (en) * 2008-03-05 2011-06-07 Microsoft Corporation Data domains in multidimensional databases
US8239371B2 (en) * 2008-08-21 2012-08-07 Sap Ag Fast search views over business objects
US9176860B2 (en) * 2009-02-12 2015-11-03 Hewlett-Packard Development Company, L.P. Database join optimized for flash storage
US20100241644A1 (en) * 2009-03-19 2010-09-23 Microsoft Corporation Graph queries of information in relational database
US20100299367A1 (en) * 2009-05-20 2010-11-25 Microsoft Corporation Keyword Searching On Database Views
US8775921B2 (en) * 2009-09-03 2014-07-08 International Business Machines Corporation Creating, updating, saving, and propagating customized views of table and grid information
CN102053975A (zh) * 2009-10-30 2011-05-11 国际商业机器公司 数据库系统和跨数据库查询优化方法
US20110173132A1 (en) * 2010-01-11 2011-07-14 International Business Machines Corporation Method and System For Spawning Smaller Views From a Larger View
US9443208B2 (en) * 2010-03-05 2016-09-13 Six Continents Hotels, Inc. Bottom-up optimized search system and method
US8799271B2 (en) * 2011-01-25 2014-08-05 Hewlett-Packard Development Company, L.P. Range predicate canonization for translating a query
US8800045B2 (en) * 2011-02-11 2014-08-05 Achilles Guard, Inc. Security countermeasure management platform
US8799207B1 (en) * 2011-10-08 2014-08-05 Bay Dynamics Unified data source management
WO2013070873A1 (en) * 2011-11-10 2013-05-16 Treasure Data, Inc. System and method for operating a big-data platform
JPWO2013141308A1 (ja) * 2012-03-22 2015-08-03 日本電気株式会社 分散ストレージシステム、ストレージ制御方法およびプログラム
US10387448B2 (en) * 2012-05-15 2019-08-20 Splunk Inc. Replication of summary data in a clustered computing environment
EP2672397B1 (en) * 2012-06-06 2018-08-22 Tata Consultancy Services Limited Generating reports based on materialized view
US8935267B2 (en) * 2012-06-19 2015-01-13 Marklogic Corporation Apparatus and method for executing different query language queries on tree structured data using pre-computed indices of selective document paths
US9146955B2 (en) * 2012-12-18 2015-09-29 Sap Se In-memory, columnar database multidimensional analytical view integration
US10296462B2 (en) * 2013-03-15 2019-05-21 Oracle International Corporation Method to accelerate queries using dynamically generated alternate data formats in flash cache
US9251210B2 (en) * 2013-04-19 2016-02-02 Oracle International Corporation Caching external data sources for SQL processing
US9734230B2 (en) * 2013-09-12 2017-08-15 Sap Se Cross system analytics for in memory data warehouse
US9734221B2 (en) * 2013-09-12 2017-08-15 Sap Se In memory database warehouse
US9703825B2 (en) * 2013-10-17 2017-07-11 Sybase, Inc. Maintenance of a pre-computed result set
US9542445B2 (en) * 2013-10-31 2017-01-10 Hasso-Plattner-Institut Fur Softwaresystemtechnik Gmbh Using object awareness for a join pruning mechanism
US20150310044A1 (en) * 2014-02-03 2015-10-29 Codefutures Corporation Database device and processing of data in a database
WO2015139193A1 (zh) * 2014-03-18 2015-09-24 华为技术有限公司 一种数据存储格式的转换方法及装置
US9317711B2 (en) * 2014-06-25 2016-04-19 Sap Se Privacy restrictions for columnar storage
US11157473B2 (en) * 2014-11-21 2021-10-26 Red Hat, Inc. Multisource semantic partitioning
GB2533116A (en) * 2014-12-10 2016-06-15 Ibm Query dispatching system and method
US10372697B2 (en) * 2014-12-19 2019-08-06 International Business Machines Corporation Responding to data requests related to constrained natural language vocabulary terms
US10152558B2 (en) * 2014-12-23 2018-12-11 Intel Corporation Graph operations
US20160328429A1 (en) 2015-03-17 2016-11-10 Cloudera, Inc. Mutations in a column store
US10528540B2 (en) * 2015-05-11 2020-01-07 AtScale, Inc. Dynamic aggregate generation and updating for high performance querying of large datasets
US9934277B2 (en) * 2015-05-19 2018-04-03 International Business Machines Corporation Data management system with stored procedures
US10204135B2 (en) * 2015-07-29 2019-02-12 Oracle International Corporation Materializing expressions within in-memory virtual column units to accelerate analytic queries
US10372706B2 (en) * 2015-07-29 2019-08-06 Oracle International Corporation Tracking and maintaining expression statistics across database queries
US10303786B2 (en) * 2015-08-05 2019-05-28 International Business Machines Corporation Retrieving and displaying data from a columnar database
US10984043B2 (en) * 2015-10-02 2021-04-20 Oracle International Corporation Method for faceted visualization of a SPARQL query result set
US10191944B2 (en) * 2015-10-23 2019-01-29 Oracle International Corporation Columnar data arrangement for semi-structured data
US10394801B2 (en) * 2015-11-05 2019-08-27 Oracle International Corporation Automated data analysis using combined queries
US10713314B2 (en) * 2016-01-29 2020-07-14 Splunk Inc. Facilitating data model acceleration in association with an external data system
US9552412B1 (en) 2016-04-07 2017-01-24 Quid, Inc. Boolean-query composer
US11709833B2 (en) * 2016-06-24 2023-07-25 Dremio Corporation Self-service data platform
US10120898B1 (en) * 2016-08-05 2018-11-06 Arcadia Data Inc. Apparatus and method for allowing complex aggregates in analytical views in a distributed database
US10866972B2 (en) 2016-08-15 2020-12-15 Sumo Logic Systems and methods for trie-based automated discovery of patterns in computer logs
US10769123B2 (en) * 2016-09-30 2020-09-08 Microsoft Technology Licensing, Llc Workload-driven recommendations for Columnstore and Rowstore indexes in relational databases
US10726011B2 (en) * 2016-10-11 2020-07-28 Sap Se System to search heterogeneous data structures
GB2554883A (en) * 2016-10-11 2018-04-18 Petagene Ltd System and method for storing and accessing data
US10437807B1 (en) * 2017-07-06 2019-10-08 Palantir Technologies Inc. Selecting backing stores based on data request
US10397317B2 (en) * 2017-09-29 2019-08-27 Oracle International Corporation Boomerang join: a network efficient, late-materialized, distributed join technique
US10719508B2 (en) 2018-04-19 2020-07-21 Risk Management Solutions, Inc. Data storage system for providing low latency search query responses
US11423020B2 (en) * 2018-10-19 2022-08-23 Oracle International Corporation Efficient extraction of large data sets from a database
US11334585B2 (en) * 2019-12-19 2022-05-17 Sap Se Enterprise search using database views

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155434B1 (en) * 2002-04-04 2006-12-26 Ncr Corp. Locking mechanism employing a name lock for materialized views
JP2013246835A (ja) * 2012-05-29 2013-12-09 Sap Ag データウェアハウスモデルからインメモリモデルを生成するためのシステムおよび方法
US20140222843A1 (en) * 2013-02-01 2014-08-07 Netapp, Inc. Systems, Methods, and computer Program Products to Ingest, Process, and Output Large Data
JP2015072688A (ja) * 2013-10-01 2015-04-16 クラウデラ インコーポレイテッド Hadoopにおける強化されたSQLライクなクエリのためのバックグラウンドフォーマット最適化
US20150347483A1 (en) * 2014-05-30 2015-12-03 International Business Machines Corporation Combining row based and column based tables to form mixed-mode tables
CN106713332A (zh) * 2016-12-30 2017-05-24 山石网科通信技术有限公司 网络数据的处理方法、装置和系统
CN106815353A (zh) * 2017-01-20 2017-06-09 星环信息科技(上海)有限公司 一种数据查询的方法及设备
CN107273504A (zh) * 2017-06-19 2017-10-20 浪潮软件集团有限公司 一种基于Kudu的数据查询方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
塩井 隆円、外2名: "SCMの利用を想定したOLAP高速化のための列指向バッファ更新用インデックスの提案", 第9回データ工学と情報マネジメントに関するフォーラム (第15回日本データベース学会年次大会) [O, JPN6022048377, 6 July 2017 (2017-07-06), JP, pages 1 - 8, ISSN: 0004922561 *

Also Published As

Publication number Publication date
US20220300508A1 (en) 2022-09-22
WO2019204629A1 (en) 2019-10-24
EP3557435A1 (en) 2019-10-23
US20190325051A1 (en) 2019-10-24
US11372856B2 (en) 2022-06-28
JP7053885B2 (ja) 2022-04-12
US10719508B2 (en) 2020-07-21
JP2021522570A (ja) 2021-08-30
US20200349158A1 (en) 2020-11-05
CN112384908A (zh) 2021-02-19

Similar Documents

Publication Publication Date Title
JP7053885B2 (ja) 少ない待ち時間の検索問合せ応答を提供するためのデータ記憶システム
US11226854B2 (en) Automatic integration of multiple graph data structures
US11392352B2 (en) Guided web-application generation
US11526464B2 (en) Scaling HDFS for hive
US11762701B2 (en) Computer system providing numeric calculations with less resource usage
US20240104694A1 (en) Fluid and resolution-friendly view of large volumes of time series data
US11550949B2 (en) Secure exchange of password presence data
US11106644B2 (en) Property-based deletion of digital data
US11720630B2 (en) Generating new and unique distributed graph ID
US20220309063A1 (en) Query rewrite using materialized views with logical partition change tracking
US20200184311A1 (en) Execution of trained neural networks using a database system
US11921767B1 (en) Efficient access marking approach for efficient retrieval of document access data
US11100555B1 (en) Anticipatory and responsive federated database search
US11120092B1 (en) Optimization of links to electronic content

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220502

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220812

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20220817

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221116

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20230329