Virtual Data Layer

リアルタイムデータを、AI 向けにモデル化

複数システムにまたがるリアルタイムデータの結合から、スピードが求められるデータのキャッシュ、AI が信頼できるビジネス向けのデータへのモデル化まで。そのすべてを 1 つのレイヤーで担います。

データと AI を大規模に活用する、世界中のチームに選ばれています
GSK
Palantir
Anthropic
Office Depot
Google

データがどこにあっても、すばやく答えを

結合、実行計画の立案、プッシュダウンといった負荷の高い処理は、すべてエンジンが引き受けます。データを移動したりチューニングしたりしなくても、クエリは高速なままです。

crm (小) warehouse (大) キーのみ コストに基づく結合 3 つの戦略を評価 やり取りされるのは一致する行だけ
入力クエリ SELECT … LIMIT 約 30 のプランニングルール ✓ フィルターのプッシュダウン ✓ 件数制限のプッシュダウン ✓ 不要な列を除外 ほか 27 件 出力 実行計画 フィルターと件数制限をソース側にプッシュダウン
結合 · CTE 集計 ウィンドウ関数 1 つの SQL ステートメント ソースごとに 約 150 の関数をソース側で実行
CONNECT AI query_data(   FLATTEN(events) ) そのまま送信 SNOWFLAKE FLATTEN をネイティブ実行 書き換えも中間処理も不要 途中での変換は一切なし
1,000 万行の結合 · メモリ メモリ使用率 · 100% 超過分 → ローカルディスク 結果 クエリが完了 時間はかかっても失敗しない メモリ不足エラーなし 速度は落ちても、失敗はしない

一度モデル化すれば、あらゆる場所で再利用

ビジネスロジックは SQL で一度定義するだけ。すべての AI ツールが、その共通の定義をもとにクエリを実行します。ソース側の生のテーブル構造は、ビジネス用語で名付けたビューの裏に隠れ、表に出ることはありません。

仮想スキーマと依存ビュー

AI が参照するモデルが増えても、整理された状態を保てます。モデルは仮想スキーマ単位でまとめ、ビューの上にさらにビューを重ねて構築することも可能です。エージェントからは、無秩序に散らばったモデルではなく、整理された構造が見えます。

レイヤー構造のモデル

AI は、自らが最も理解しやすいレベルでデータを扱えます。Raw、Core、Business とレイヤーを重ねることで、エージェントはソース由来のわかりにくい名前ではなく、業務に即したわかりやすい名前でクエリできます。

手続き型 SQL と仮想プロシージャ

複数ステップのロジックを一度定義すれば、すべてのエージェントで再利用できます。AI はパラメータ付きのプロシージャを呼び出すだけなので、プロンプトのたびにロジックを組み立て直す必要はありません。

Python と JavaScript

解析やスコアリング、カスタムロジックなど、SQL では表現しきれない変換処理も、OBJECTTABLE を通じて Python や JavaScript で実行できます。AI はその複雑さを意識することなく、結果を通常のテーブルとしてクエリできます。

使い慣れた SQL をそのまま

チームが普段書いている SQL で、そのままモデル化できます。SQL Server 形式の構文(TOP n、CROSS APPLY、STRING_SPLIT)や PostgreSQL 形式の LIMIT … OFFSET に加え、GENERATE_SERIES、JSON 集計、MEDIAN、PERCENT_RANK にも対応しています。定義するビューが充実するほど、AI が返す回答の質も高まります。

データ品質関数

AI はノイズの混じったデータではなく、クリーンなデータをもとに推論できます。文字列距離によるマッチング(コサイン、Jaccard、Winkler、Levenshtein)に加え、クレジットカード番号、SSN(米国社会保障番号)、電話番号、メールアドレスのバリデーターも備えています。

データの提供方法は自由に。ガバナンスとオブザーバビリティは常に万全に。

データセットごとに、リアルタイム・キャッシュ・マテリアライズから提供方法を選べます。どのツールから実行されたクエリにも同じ権限が適用され、実行内容はすべて記録に残ります。

リアルタイム、キャッシュ、マテリアライズを透過的に結合

結果セットのキャッシュ

鮮度が重要な場面では鮮度を、そうでない場面ではスピードを。クエリやプロシージャ呼び出しにキャッシュヒントを 1 つ付けるだけで、その結果を再利用できます。

1 つのクエリで混在可能

どのデータがキャッシュされているかを意識する必要はありません。キャッシュ済みの部分はキャッシュから、リアルタイムの部分は各ソースから取得し、エンジンが結果を透過的に結合します。

マテリアライゼーション

専用のパイプラインを別途構築する必要はありません。既存のデータウェアハウスに、フルまたは増分でキャッシュできます。エンジンが推奨するマテリアライゼーションも、採用するかどうかは任意で選べます。

SELECT region, pipeline, arr … 1 つのクエリ · 3 ソース
salesforce.pipeline リアルタイム · 240 ms
netsuite.arr リアルタイム · 310 ms
warehouse.regions キャッシュ済み · 4 ms
透過的に結合して 1 つの結果に

1 つの質問が 2 つのシステムをまたぐ様子を見てみましょう

CRM の取引先と ERP の受注を結合するクエリを例に、エンジンがどのように処理するのかをご紹介します。

FAQ

よくあるご質問

  • モデル化にあたって、データの移動やコピーは必要ですか?
  • どのような SQL を書けばよいですか?
  • モデル化したビューには、権限がどのように適用されますか?
  • クエリが実際にどのように実行されたかを確認できますか?
  • ビューから元のソースをたどることはできますか?

一度定義すれば、どこでも信頼できるデータに

300 以上のソースをまとめて扱える、ガバナンスの効いた 1 つの SQL レイヤー。ビジネス用語でモデル化し、クエリのたびに最適化。元のソースまでいつでもたどれます。