[D] レガシーOSSにおけるテレコムの近代化、MLデータ抽出で実際に機能したもの

Reddit r/MachineLearning / 2026/3/14

💬 オピニオンDeveloper Stack & InfrastructureIdeas & Deep AnalysisTools & Practical Usage

要点

  • 著者は APIがなく実運用のテレコムOSSスタックへMLを本番適用するのに1年間を費やした取り組みを説明し、中心的な課題はMLモデリングではなくデータ抽出であると強調している。
  • チームは、アプリケーション層のログ解析のドリフト、レガシー C++ バイナリの直接計測がブロックされたこと、ETLがデータベースをポーリングしてピーク時の負荷パフォーマンスを低下させたことなどの障害に直面した。
  • 成功したアプローチには、MySQL binlog に対する Debezium を用いた CDC(アプリケーション層の変更ゼロ、クリーンなイベントストリーム)、Perl層の DBI フックを用いたデータ傍受(侵襲的な変更を伴わず)、および DBI フックと eBPF の組み合わせによるデータ取得が含まれる。
  • 正規化レイヤーは 15 年分のフォーマットのドリフト、黙って再利用されたカラム、2011 年の移行に伴うタイムゾーンの混乱を明らかにし、こんなに古いスタックでの ML 特徴量設計を複雑化させ、古いカーネルでの eBPF サポートに関する疑問を投げかけている。

過去1年を費やして、2000年代初頭から稼働しているテレコムOSSスタックにMLを本番運用させる取り組みを行ってきました。C++コア、Perlの結合、APIなし、イベントフックなし。実際のテレコムの近代化プロジェクトです。新規開発ではなく、触れられないライブのミッションクリティカルなシステムです。

モデル作業は、データをきれいに整えた後は難しくありませんでした。データを取り出すこと自体が全体のプロジェクトでした。

うまくいかなかったこと:

  • アプリケーション層でのログ解析。ソフトウェアバージョン間のフォーマットのドリフトにより、数週間で保守不能になった。
  • レガシーC++バイナリを直接計測すること。承認が得られず、ブロックしたのは正しかった。
  • ETLがデータベースを直接ポーリングすること。ピーク負荷の窓でパフォーマンスを低下させた。

うまくいったこと:

  • MySQL binlog に対する Debezium を用いた CDC。アプリケーション層の変更ゼロ、クリーンなイベントストリーム。
  • C++ 関数呼び出しに対する eBPF uprobes。DBを触れない。しかし調整には時間を要したが、本番で信頼性が高かった。
  • Perl 側の DBI フック。適切な介入点を見つければ、想定以上にクリーンだった。

正規化レイヤーの上部は抽出自体よりも時間がかかり、15年分のフォーマットのドリフト、黙って再利用されたカラム、2011年の移行に伴うタイムゾーンの混乱を明らかにした。

このような古いスタックでMLの特徴量エンジニアリングに取り組んだ人が他にもいるのか興味があります。特に、古いカーネルでの eBPF のサポートが一貫していない状況でどう扱われるかに関心があります。

投稿者: /u/Davijons
[リンク] [コメント]