データ収集の難しさ
データ活用の第一歩となるデータ収集ですが、 実践するとなると考慮が必要なポイントが数多くあり、それらがデータ収集を難しいものとしています。
ここでは、考慮が必要な点として代表的なもの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の概要
Kafkaが注目されている理由の1つが、以下のような有用な特徴の存在です。
図:Apache Kafkaの特徴
Kafkaのこれらの特徴はデータハブの構築においてもまた有用であり、安定してデータを収集できる基盤の構築を可能にします。
- 注1 https://kafka.apache.org/(外部リンク)
- 注2 メッセージングシステムの世界では送受信するデータ1つ1つのことをメッセージと呼びます。
まとめ
本稿ではデータ収集の基盤方式「データハブ」とそこに使われるツール「Apache Kafka」を紹介しました。これらの方式やツールは強力ではありますが、適切に利用されて初めて真価を発揮します。データ活用技術の進歩や広がりにより、データ収集の重要性は今後さらに増していくと思われますが、これらの恩恵を最大限に享受するためには、方式やツールのメリットや特徴を正しく理解したうえでの利用が必要です。