📌 ゴールと課題整理

洞察:AI には バッチ × ストリーム × 特徴量共有 × ベクトル検索 が同居する基盤が必要。

目的 従来型 DWH だけでは起きる課題
① データ品質の一貫性 Notebook ごとに前処理がバラバラ → 本番とテストで食い違う
② オンライン推論高速化 API が低レイテンシ (<100 ms) 必須 → DWH には遅い
③ 非構造データ対応 画像・テキストを SQL 型に無理矢理詰めると検索が困難

🏗️ 3階層アーキテクチャ概要

CDC / IoT / Kafka
Stream Processing (Flink / Spark S.)
Online Feature Store
(Feast / Tecton OCF)
Vector DB
(Pinecone / Weaviate)
Data Lake (S3 / GCS / ADLS)
ETL (Spark / dbt)
Offline Feature Store
Prediction Service <50ms
🔄
Stream Ingest

Kafka, Pulsar, Kinesis
高頻度データをマイクロバッチ/Exactly-once

⚙️
Stream Proc.

Apache Flink, Spark Structured Streaming
Online aggregation, Window join

🗃️
Feature Store

Feast, Tecton, Vertex AI FS
"同一計算ロジック" を Offline / Online 共有

🔍
Vector DB

Pinecone, Weaviate, pgvector
埋め込み検索 (RAG, 近似 kNN)

🗄️ Feature Store 設計の要点

項目 推奨ベストプラクティス
エンティティキー user_id, item_id など一意キーを定義
ティンギング Event-time と Ingest-time の2列で遅延補正
オンライン Store Redis / DynamoDB (<10 ms), Scylla(低レイテンシ)
オフライン Store Parquet + Hive Metastore / BigQuery

メリット:

  • "学習と推論の特徴量ずれ" を根絶
  • 再利用で 80% の重複コード削減 (Airbnb, 事例)

🧩 Vector DB を織り込む理由

ユースケース 従来型 DB の限界 Vector DB の利点
RAG LIKE / TF-IDF 検索のみ 句読点や言い回しが違っても意味近傍を取得
レコメンド 単一 key ルックアップ user/item embedding で Cold-start を軽減
異常検知 閾値判定 高次元センサー埋め込みの外れ点探索

インデックス: HNSW (高速 & 高再現)、IVF-PQ (低メモリ)

ハイブリッド検索: BM25 + Embedding で "キーワード"+"意味" を両取り

🔄 データ更新パターン

パターン 適合例 更新頻度 技術
Lambda IoT デバイス + 月次分析 高 + 低 Kafka (リアル) + Spark Batch
Kappa クリックストリームのみ Flink (永続ログ)
Delta SaaS ログ + 日次 ETL Delta Lake Merge-on-Read

Tip:Vector DB は Delta 方式 と相性良 (DELETE, UPSERT を nightly で一括)

🔒 ガバナンス & セキュリティ

項目 推奨
データリネージ OpenLineage + Marquez
カタログ DataHub / Amundsen でスキーマ&権限
PII マスキング LakeFS Hooks + Encryption
アクセス制御 RBAC + Attribute-based (email domain, region)

📊 運用指標 (SLO)

レイヤ 指標 目標例
Stream Ingest Lag < 5 s
Online FS p95 GET < 10 ms
Vector DB Recall@10 > 0.93
全体 Feature Freshness < 15 min

🧰 スタック別リファレンスアーキテクチャ

オール OSS (低コスト & カスタム自由)

  • Kafka → Flink → Feast + Redis / pgvector → FastAPI サービング
  • IaC: Terraform + Helm
  • 監視: Prometheus / Grafana / OpenTelemetry

マネージド重視 (保守最低限)

  • GCP: Pub/Sub → Dataflow → Vertex AI Feature Store → Pinecone SaaS → Cloud Run
  • AWS: Kinesis → Glue Streaming → SageMaker Feature Store → OpenSearch k-NN → SageMaker Endpoint

⚠️ よくある落とし穴

症状 原因 解決策
Feature 再計算遅延 バッチ再実行が全量 Incremental Merge (Delta/iCEberg)
オンライン Store 同期漏れ スケジューラ分散 Feast On-Demand Feature + CDC
Vector DB メモリ爆発 Embedding サイズ大 ① 量子化 ② Top-N TTL 削除