【ITニュース解説】From Weeks to Days: Atome’s Real-Time Feature Engineering with RisingWave
2025年09月13日に「Dev.to」が公開したITニュース「From Weeks to Days: Atome’s Real-Time Feature Engineering with RisingWave」について初心者にもわかりやすく解説しています。
ITニュース概要
金融サービスのAtomeは、従来の遅いデータ処理がリスク管理や新機能開発の課題だった。SQLベースのリアルタイムストリーミングデータベースRisingWaveを導入し、データ処理を高速化。これにより、リスク評価の精度向上と開発期間の「数週間→1日」への大幅短縮を実現した。
ITニュース解説
Atomeという東南アジアで主要な金融サービスプラットフォームは、信用承認や支払い監視をリアルタイムで行うことを事業の根幹としている。顧客の信用リスクを正確に評価するためには、非常に短い時間で大量のデータを処理し、必要な情報(特徴データ)を算出できる堅牢なシステムが不可欠だ。この「特徴データ」とは、たとえば過去の取引履歴、支払いパターン、利用頻度など、ある個人や取引のリスク度合いを判断するための具体的な指標となる情報のことを指す。
しかし、Atomeが以前使用していたシステムは、このようなリアルタイム処理において大きな課題を抱えていた。そのシステムはFlinkという技術をベースに構築されていたが、いくつかのボトルネックがイノベーションや迅速な対応を妨げていたのだ。
まず、新しいリスク評価のルールや機能(特徴データ)を開発し、システムに導入するまでの「開発サイクル」が非常に長かった。Flinkは強力なツールだが、その開発には専門的なスキルが求められるため、新しい機能を追加するたびに数週間もの時間が必要だった。これは、市場の変化や新しい詐欺の手口が次々と現れる金融業界において、致命的な遅延となり得る。
次に、特徴データを参照する際に、主にOLTP(オンライントランザクション処理)データベースに対して頻繁にクエリを実行していたことが問題だった。OLTPデータベースは、日々のトランザクション処理(例えば、支払い処理や口座残高の更新など)に最適化されているが、分析や多数のデータ参照には向かないことが多い。特に取引が集中するピーク時には、データベースへの負荷が非常に高くなり、クエリの処理コストが増大したり、データ処理のスループット(単位時間あたりの処理量)が低下したりする原因となっていた。これは、リアルタイムでの迅速なリスク評価を妨げる要因だった。
さらに、Flinkのジョブ(データ処理のプログラム)をパッケージ化し、システムにデプロイし、過去のデータを使って新しいジョブの状態を初期化する「バックフィル」といった運用作業が非常に煩雑だった。これにより、リスク管理チームが新たな詐欺パターンに迅速に対応することが困難になっていたのである。
これらの課題を解決するため、AtomeはRisingWaveという新しい技術の導入を決定した。RisingWaveはSQLベースのストリーミングデータベースであり、データの流れ(ストリーム)をリアルタイムで処理することに特化している。
RisingWaveの最大の利点の一つは、Postgres(PostgreSQL)に似た標準的なSQLを使って、ストリーミングデータ処理における複雑な操作を記述できる点にあった。ストリーミングデータでは、時々刻々と流れてくるデータをリアルタイムで結合したり、一定期間ごとの集計(ウィンドウ処理)を行ったり、グループごとの合計を計算したりする必要がある。従来のストリーム処理技術では、これらの操作のために専門的なコードを書いたり、特殊なオペレーターを開発したりする必要があったが、RisingWaveでは馴染み深いSQLを使うだけで、これらすべてが可能になったのだ。これにより、特定の専門スキルを持つエンジニアだけでなく、より多くのメンバーがデータパイプラインの開発に参加できるようになり、開発の効率が劇的に向上した。
もう一つの重要なメリットは、「カスケード式マテリアライズドビュー」の活用だ。マテリアライズドビューとは、データベースに保存されたクエリ結果を事前に計算しておき、その結果を物理的に保存しておくことで、実際のクエリ実行時に高速にデータを取得できるようにする仕組みのことである。RisingWaveでは、このマテリアライズドビューをストリーミングデータに対して適用し、データが流れてくるたびにビューの内容を継続的に最新の状態に更新する。これにより、リスク評価に必要な特徴データや集計結果が常に最新の状態で維持され、以前のようにOLTPデータベースに頻繁にクエリを発行する必要がなくなった。結果として、データベースへの負荷が大幅に軽減され、データの取得も高速化された。さらに、このマテリアライズドビューは履歴が追跡可能で、問題発生時にはデバッグしやすいというメリットもあった。
Atomeでの実際の導入では、MySQLのCDC(Change Data Capture)とKafkaという技術を使って、さまざまなシステムからリアルタイムでデータを取得した。CDCはデータベースの変更履歴を捉える技術、Kafkaは大量のデータを効率的に伝送するためのメッセージングシステムである。これらのデータは、RisingWaveによってSQLを使って正規化(データの整形や形式統一)され、速度チェック(例えば、短期間に大量の取引が行われていないか)や、異なるデータストリーム間での結合といった複雑な特徴データ生成処理が行われた。そして、最終的に算出されたリスク関連のデータは、オンラインリスクエンジンが参照するMySQLテーブルに書き込まれた。
RisingWaveの導入は、Atomeに目覚ましい成果をもたらした。最も顕著なのは、新しいストリーム機能を追加する開発期間が、数週間からわずか1日程度にまで劇的に短縮されたことだ。これは、複雑なジョブのパッケージングや、専門的なオペレーター開発が不要になり、SQLの定義(DDL)とマテリアライズドビューの作成だけで済むようになったためである。
技術的なパフォーマンスも大幅に向上した。システムは1秒あたり1万行ものデータを処理源から取り込み、1秒あたり2千行のデータを最終的な出力先へ書き込む高スループットを実現した。さらに、データの取り込みから最終的な特徴データが書き込まれるまでのエンドツーエンドの平均遅延は、常に1秒未満という超低遅延を達成した。ピーク時の負荷がかかっても、データ処理が滞ることがなく、安定した運用が可能になったのである。
これらの技術的な成果は、Atomeのビジネスと運用に直接的な好影響を与えた。運用の面では、トランザクションデータベースにかかるピーク時の負荷が大幅に軽減された。リアルタイムでの信用承認やリスクフラグ付けが可能になったことで、業務プロセス全体の遅延が安定し、スムーズな運用が実現した。また、リスクチームは新しいルールや実験的な機能をわずか1日から3日でデプロイできるようになったため、変化に迅速に対応する能力が飛躍的に向上した。
ビジネスの面では、意思決定を行う時点で利用できる特徴データが増え、かつそのデータが低遅延で提供されるようになったため、信用承認の判断精度が大きく向上した。これにより、より信頼性の高い承認プロセスが実現した。また、大規模なOLTPクラスターや、緊急時にデータの読み込みを分散するための読み取りレプリカを増設する必要性が減ったため、コスト削減にもつながった。さらに、このリアルタイムデータパイプラインのパターンは、CRM(顧客関係管理)のパーソナライゼーションなど、他のさまざまなユースケースにも応用できるようになり、組織全体の価値創出までの時間(Time-to-Value)を加速させている。
Atomeの事例は、リアルタイムデータ処理基盤がいかに企業の競争力を高め、イノベーションを推進するかを示す良い例である。特に金融サービス業界では、リスク管理や詐欺検出、レコメンデーションシステムにおいて、リアルタイム処理の重要性がますます高まっており、RisingWaveのようなプラットフォームがその中核を担う存在となっている。信頼性の高いストリーム処理プラットフォームは、特徴データが増え、より複雑なリアルタイムの意思決定が必要とされる現代において、企業が進化し続けるための強力な基盤となるのだ。