開発事例

センサー系データの並列分散処理

本プロジェクトでは、日本全国に配置されたセンサーからのバイナリーデータ(ビッグデータ)を評価しました。 システムは専用線を介して毎分データをsocketで受信し、ファイルシステムに記録します。 同時に、ファイルシステムへのデータ記録を検知すると、即座にデータを分割し、分析、集計を行い、結果をインメモリ・データストア(Redis)に保存する処理を並列分散で実行しました。 また、インメモリ・データストアに保存されたデータはAjax通信を通じて取得し、ブラウザ上でリアルタイムにグラフ化してモニタリングを行います。

オンプレミスからクラウド仮想基盤へのインフラ移設に伴い、プロジェクトでは主に以下の対策を行いました。

専用線を用いたsocketによるデータ受信
Stormを利用した並列分散処理によるファストデータアプローチ
Redisを用いたインメモリ・データストアへのデータの読み書き
ブラウザ上でのリアルタイムなグラフ描画

プロジェクトは、試行と評価を重視したアプローチで進められ、テーマ設定、実装、検証(処理速度、スケーラビリティ、データ評価など)のサイクルをスプリント形式で繰り返し、試行結果を評価レポーティングしています。

主要技術

Java, JavaScript, XML, SQL, HTML
Spring Web MVC, Storm, Jedis, jQuery, Node.js
Apache, Tomcat
Redis, mongoDB, MariaDB, Git, Jenkins
バイナリーデータ配信サービス(外部サービス)

担当工程

プリセールス
プロジェクト・マネジメント
要件定義
各種設計
製造(実装)
各種テスト
導入リリース
評価レポーティング