OSSで実現する効率化・コスト削減

Presto/Trinoを活用した分散データソース連携によるデータ分析基盤の効率化とコスト削減事例

Tags: Presto, Trino, データ連携, データ分析基盤, コスト削減, 効率化

導入部:分散するデータソースとデータ分析の課題

多くの企業において、データは様々な場所に分散しています。基幹システムのリレーショナルデータベース、データウェアハウス、ログデータが保存されたオブジェクトストレージ、SaaSアプリケーションのデータストアなど、その形式も場所も多岐にわたります。これらの分散したデータを分析やレポート作成のために利用しようとすると、多くの場合、複雑なETL(Extract Transform Load)処理やデータマートの構築が必要となります。これはデータエンジニアリングチームにとって大きな運用負荷となり、データ活用のリードタイム長期化やコスト増加の原因となります。

本記事では、このような課題を抱えていたあるITサービス企業が、OSSであるPresto(現在はTrinoとして開発継続)を導入することで、分散データソースからのデータ連携を効率化し、データ分析基盤全体のコスト削減とパフォーマンス向上を実現した具体的な事例をご紹介します。

導入前の状況:複雑なデータランドスケープと増大するコスト

この企業では、長年のシステム開発を経て、オンプレミスのDWH、クラウド上のRDB、S3に蓄積された大量のログファイルなど、複数の異なるデータストアが存在していました。データ分析を行うには、各データソースからデータを抽出し、整形し、DWHや別途構築した分析用RDBにロードする必要がありました。

このデータ連携プロセスは、以下の課題を抱えていました。

技術部門責任者層は、増大するデータ関連コストと、データに基づいた迅速な意思決定が阻害されている状況を問題視しており、抜本的なデータ分析基盤の見直しを検討していました。

導入の意思決定とPresto/Trinoの選定

こうした課題解決のため、企業は複数の選択肢を検討しました。新たなDWHへの統合、商用データ連携ツールの導入、そしてOSSを活用したデータ仮想化アプローチです。複数のデータソースに物理的にデータを集約するのではなく、仮想的に統合されたビューを提供する「データ仮想化」技術に着目しました。

その中でOSSのPresto(当時)が有力候補として浮上しました。選定の主な理由は以下の点でした。

意思決定プロセスでは、まずPoC(Proof of Concept)を実施しました。既存の主要なデータソース(オンプレDWH、クラウドRDB、S3)に対してPrestoからクエリを実行し、パフォーマンスや安定性を評価しました。特に、複雑な結合クエリや大量データに対するレスポンス時間を計測しました。懸念点としては、OSSであるが故のエンタープライズサポート体制の確保や、大規模運用におけるチューニングノウハウの蓄積が挙げられましたが、これについてはコミュニティサポートに加え、必要に応じて外部ベンダーの技術支援も活用する方針を固めました。技術部門責任者としては、ライセンスコスト削減という直接的な効果に加え、データ活用の民主化によるビジネス部門の生産性向上という定性的な効果も重視し、導入を後押ししました。

具体的な導入・活用:仮想統合データレイクの構築

導入プロジェクトでは、Presto(以降、Trinoを含む概念として記述します)をクラスター構成でデプロイし、既存のデータソースへのコネクタを設定しました。概念的には、各データソースがTrinoにとっての「データレイクの一部」として機能するような、仮想的な統合データレイク環境を構築したと言えます。

アーキテクチャとしては、クエリの受付と最適化を行うTrinoコーディネーターと、実際にデータソースからデータを読み込み処理を行うTrinoワーカーのクラスターを構築しました。各ワーカーが必要に応じて適切なコネクタ(例:PostgreSQLコネクタ、Hiveコネクタ(S3上のデータを外部テーブルとして扱う)、SQL Serverコネクタなど)を通じて、オンプレDWH、クラウドRDB、S3上のデータにアクセスする構成です。

データ分析者やBIツールからは、このTrinoクラスターに対して標準SQLでクエリを発行します。Trinoはクエリを受け取ると、最適な実行計画を立案し、必要に応じて各データソースからデータをフェッチして結合処理などを実行し、結果を返します。この際、可能な限りデータソース側での処理(プッシュダウン)を行い、データ転送量を削減するような最適化も行われます。

このアプローチにより、物理的なデータ移動や複製を最小限に抑えつつ、複数のデータソースに跨る複雑なデータ分析が可能になりました。BIツールからの接続先もTrinoのエンドポイント一つに集約され、管理がシンプルになりました。

導入によって得られた成果:コスト削減と分析効率の劇的な向上

Trinoの導入によって、計画していた効率化とコスト削減を具体的に達成することができました。

定性的な成果としては、データ活用のハードルが下がり、ビジネス部門からのデータ分析リクエストに対する応答性が向上したこと、データに基づいた意思決定をより迅速に行えるようになったことが挙げられます。これは、単なるITコストの削減に留まらず、ビジネス全体の競争力強化に寄与する重要な成果でした。

直面した課題と克服:パフォーマンスチューニングと運用ノウハウ

導入・運用の中で、いくつかの課題にも直面しました。

これらの課題に対し、継続的な運用改善活動と、OSSコミュニティや外部リソースを賢く活用することで、Trinoを安定的に運用し、期待する成果を維持・拡大することが可能となりました。

まとめと今後の展望:データ仮想化による柔軟なデータ戦略

本事例は、Presto/TrinoのようなOSSのデータ仮想化技術を活用することで、分散したデータソースからのデータ連携を効率化し、データ分析基盤のコスト削減とパフォーマンス向上を実現できることを示しています。物理的なデータ集約に依存しないこのアプローチは、特にデータソースが多様化し、クラウドとオンプレミスが混在する現在のIT環境において、データ活用を加速するための有効な手段となり得ます。

この事例から得られる教訓は、以下の点に集約されます。

この企業では、今後も新たなデータソース(例:他のSaaSデータ、IoTデータなど)との連携をTrinoを通じて行うことで、データ分析基盤の柔軟性を維持しつつ、データ活用の範囲を拡大していくことを計画しています。OSSを活用したデータ仮想化は、将来の変化にも対応しやすい、スケーラブルでコスト効率の良いデータ戦略の基盤となり得ます。