Twitter Facebook Google+ はてなブックマーク LinkedIn

最新テクノロジーを陰で支えるデータ収集技術

株式会社NTTデータ 技術革新統括本部 システム技術本部 方式技術部 第一統括部 プラットフォームPoC担当
主任 佐々木 徹

昨今、AI,ディープラーニング,IoTといった技術が注目を集めていますが、このようなデータ活用技術の利用には、まず活用するデータを「集める」ことが必要です。本稿では、最新テクノロジーを陰で支えるデータ収集技術を、特にテクニカルな面にフォーカスを当ててご紹介します。

データ収集の難しさ

データ活用の第一歩となるデータ収集ですが、 実践するとなると考慮が必要なポイントが数多くあり、それらがデータ収集を難しいものとしています。
ここでは、考慮が必要な点として代表的なもの2つをご紹介します。

1.データをどこからどこに送るべきか
昨今のデータ活用では複数のサーバやデバイスで生成されたデータを利用することが多くなっています。また、業務処理とデータ活用など収集したデータを複数の目的で利用するケースも珍しくありません。
このとき、必要に応じてやみくもにデータの受け渡しを行ってしまうと、データの流れが複雑で全体像が掴みにくくなり、システムの管理や改修なども困難となります。

複雑になってしまったデータの流れ

図:複雑になってしまったデータの流れ

2.安定してデータを集められるか
企業活動で生じるあらゆるデータを活用しようとすると、非常に多くのデータを扱うことになります。多くのデータを安定かつ継続的に集めるには考慮すべき点が複数あります。
その中でも代表的なものが、
 ・収集の過程でデータを消失させないようにする
 ・システム拡張や事業拡大などによるデータ量の増加に対応できるようにする
 ・システムの障害時などに備え、一定期間の過去データの再取得ができるようにする
などです。

これらの観点は、IoTにおけるデータ収集では
 ・モバイル回線など通信が途切れることがある回線を利用するケースがあり、データ消失のリスクが高い
 ・対象となる端末や機器が急速に増えることがあり、システムの迅速な拡張が求められることがある
といった理由から特に考慮が必要なものとなります。

このように、技術的に難しい点を伴うデータ収集ですが、これらに対応する基盤方式や技術も既に存在しています。

データを集約する基盤方式「データハブ」

データ収集を実現する基盤方式の1つがデータハブです。
データハブはシステムやデバイスなどで生成されたデータを1か所に集約したのち、データ活用側にそれぞれ必要に応じて受け渡していく方式です。

データハブの概要

図:データハブの概要

この方式には、
 1.データの流れが明確になり、管理しやすくなる
 2.データ生成側、データ活用側の双方でデータの扱いが容易になる
などのメリットがあります。

特に2つ目のメリットについては、データ生成側/活用側それぞれのデータの扱い方について
 ・データ生成側:生成されたデータはデータハブに送信しておけばよい
 ・データ活用側:必要なデータはデータハブを介して入手することができる
とそれぞれ簡単に考えることができるようになり、各システムの設計やデータ活用を行いやすくします。

分散メッセージングシステム
「Apache Kafka」

データハブの構築に利用されるツールとして代表的なものがApache Kafka(注1)です。(以下、本稿ではApache Kafkaを単にKafkaと呼称します)

Kafkaは近年注目されている分散メッセージングシステムで、幅広い用途に用いることができます。Kafkaの用途のうちの1つが先に紹介したデータハブの基盤としてKafkaを利用するというものです。

Kafkaは複数台のサーバを利用して構成され、外部のサーバやデバイスから送られてくるメッセージ(注2)を受け取り、必要に応じて外部のサーバやデバイスにメッセージを送ります。

Apache Kafkaの概要

図:Apache Kafkaの概要

Kafkaが注目されている理由の1つが、以下のような有用な特徴の存在です。

Apache Kafkaの特徴

図:Apache Kafkaの特徴

Kafkaのこれらの特徴はデータハブの構築においてもまた有用であり、安定してデータを収集できる基盤の構築を可能にします。

  1. (注1)https://kafka.apache.org/(外部リンク)
  2. (注2)メッセージングシステムの世界では送受信するデータ1つ1つのことをメッセージと呼びます。

まとめ

本稿ではデータ収集の基盤方式「データハブ」とそこに使われるツール「Apache Kafka」を紹介しました。これらの方式やツールは強力ではありますが、適切に利用されて初めて真価を発揮します。データ活用技術の進歩や広がりにより、データ収集の重要性は今後さらに増していくと思われますが、これらの恩恵を最大限に享受するためには、方式やツールのメリットや特徴を正しく理解したうえでの利用が必要です。

Profile

佐々木徹
株式会社NTTデータ 技術革新統括本部 システム技術本部 方式技術部 第一統括部 プラットフォームPoC担当
主任 佐々木 徹

オープンソースソフトウェアを扱う担当に所属し、入社以来Hadoop、Spark、Kafkaを中心とした並列分散処理技術の技術支援やコンサルティング業務に従事している。オープンソースへの貢献や外部での講演なども行っている。Apache Spark入門(翔泳社)の共著者の1人。