異常検知はデータベースに入れるべき — StratumのSQLエンジンにSIMD加速したアイソレーション・フォレストを実装 [P]

Reddit r/MachineLearning / 2026/5/6

📰 ニュースDeveloper Stack & InfrastructureTools & Practical UsageModels & Research

要点

  • JVM向けの列指向アナリティクスSQLエンジン「Stratum」に、SQLからアイソレーション・フォレストを学習・スコアリングできるネイティブ異常検知機能が追加されました。
  • 取引を ANOMALY_SCORE のしきい値で絞り込むようなクエリを、Pythonの利用や外部の書き出し/スコアリング用パイプラインなしで実行できるとしています。
  • 実装はJavaのVector APIによるSIMD加速を用い、1取引あたり約6マイクロ秒で動作し、スコアリングをクエリ実行経路に統合すると主張しています。
  • 解説では「なぜ異常検知をデータベースに置くのか」を述べつつ、PyODやscikit-learnとのベンチマーク結果を提示しています。
  • StratumはApache 2.0でオープンソースで、ゾーンマッププルーニングやチャンクドストリーミングなどの実行最適化により性能が出る点を強調しています。

JVM 向けのカラム型アナリティクスエンジンである Stratum に、ネイティブの異常検知を追加しました。SQL だけで分離フォレスト(Isolation Forest)モデルを学習し、スコアリングします — Python も、エクスポート用のパイプラインも不要です:

SELECT * FROM transactions WHERE ANOMALY_SCORE('fraud_model') > 0.7; 

1 トランザクションあたり 6 マイクロ秒、SIMD によって高速化され、クエリエンジンの内部で動作します。全文では、なぜそれを作ったのか、分離フォレストがどのように機能するのか、そして PyOD/scikit-learn とのベンチマークについて説明しています:

https://datahike.io/notes/anomaly-detection-in-your-database/

Stratum はオープンソース(Apache 2.0)です: https://github.com/replikativ/stratum

実装に関する質問には喜んでお答えします — 分離フォレストは Vector API の SIMD を使った純粋な Java で、スコアリングはクエリ実行パイプラインに統合されているため、ゾーンマップのプルーニングとチャンク化されたストリーミングの恩恵を受けます。

投稿者 /u/flyingfruits
[link] [comments]