de:code 2015 レポート day2 - ARC-001

クロスワープの大鷲です。

前回に引き続き、5/26・27 に開催された de:code 2015 の参加レポートをお届けします。
ここからは、day 2(5/27日)の分となります。

参加セッション

再掲となりますが、参加したセッションは以下の通りです。
本記事では、「ARC-001 クラウド時代のデータアーキテクチャ」のレポートをお届けします。

資料はこちらで公開されています。
その他のセッション動画及びスライド資料も Channel9 で公開されています。
オープニング キーノートは Microsoft Virtual Academy のサイトで公開されています。

day 1

CODE ROOM TITLE
SNR-004 Room G デジタルテクノロジーが推進する、アプリケーション革新
SPL-001 Room C マイクロソフトが考える 5 年後を見据えた技術提言
CHK-002 Chalk Talk クラウドアプリケーションのアーキテクチャ設計を深める
CHK-003 Chalk Talk プログラミング パラダイムの知識を深める
CDP-008 Room C MS版Docker 誕生! Windows Server Containers とは?

day 2

CODE ROOM TITLE
ARC-001 Room A クラウド時代のデータアーキテクチャ
SNR-009 Room B フルスタックエンジニアとか無理!
比べてわかったAzure PaaSの勘所
DEV-019 Room F 徹底解説! プログラマーがおさえておくべき
Azure Active Directory のすべて
PBS-001 Room E ここまでできる! Office 365 API を活用したアプリ開発
~Office 365 内のデータ活用~
DEV-006 Room A ASP.NET 5 Web 開発 ~ランタイム編~
DEV-007 Room A ASP.NET 5 Web 開発 ~フレームワーク編~
DEV-008 Room A 進化は止まらない! ADO.NET Entity Framework の今

ARC-001 クラウド時代のデータアーキテクチャ

スピーカーは日本マイクロソフトの多田 典史さん。

データの爆発

データの爆発には 3 つの観点があるそうです。

  • データ容量の爆発 (Volume)
  • データ生成速度の爆発 (Velocity)
  • データの種類の爆発 (Variety)
データ容量の爆発

国内で 2005 年に流通していたデータの総量は 1.5 EB(エクサバイト、1,500,000,000,000,000,000 B=1,500,000 TB)。
2013 年には 13EB だそうです。
爆発と言うほど増えてないかな、という印象。
今後はさらに指数関数的に増えるのではないかということです。

集計方法によってばらつきはあるので、桁の話だと思ってほしいとのことでしたが、世界全体では、2000年 に 6EB、2006 年に 161EB、2011 年には 1.8 ZB(ゼタバイト、1,800 EB)、2020 年には 40 ZB という予測が出ているとのこと。
これは、データ生成側ばかりが増えているわけではなく、それを扱うインフラも整備され、大容量データを扱えるようになってきているのが要因としてあります。

データ生成速度の爆発

IoT(Internet of Things)デバイスが増えているのが主な要因とのこと。
2008 年に 70 億個だったのが、2020 年には 10 兆個のオーダーに達するのではないかと言われていました。
デバイス一つ一つが上げてくるデータ量はたかが知れていても、デバイス数が増えるために膨大なデータ量になるということです。

これまではデータを生成していても、いわば地産地消的に消費されていたものが、他のデータと同じ流れに乗るようになったというのが大きな変革です。
デバイスの数自体は先ほど言ったペースでは増えなくても、その中で、インターネットに繋がるものの割合が爆発的に増大するということなのでしょう。
2008 年頃でも、インターネットに繋がらないセンサーデバイスはもっとたくさんあったと思います。

データの種類の爆発

RDB に収められるような構造化データだけでなく、非構造化データ(自然言語や画像、動画、センサーの生データなど)が増えているということです。
これも、これまではコンピューターが分析対象としていなかったものを扱う手法が成熟してきたためで、データそのものが増えていると言うより、扱えるデータの割合が増えてきているということではないかと、個人的には思います。

これを聞いて、石油の埋蔵量の話を連想しました。
石油の可採埋蔵量とは、地底に眠っている全量のことではなく、人間が技術的、経済的に掘り出せる量のことを言うので、全量は変わらなくとも、技術が発展すれば可採埋蔵量は増えるというのと似ている話だと感じます。

データからの洞察

データを分析して何ができるかということも、時代とともに増えてきています。
これは、かつては人間がすべてやっていたものを、徐々にコンピューターに任せられる部分が増えてきたということだと思います。

  • レポーティング
    • 過去の把握
    • データを人間にわかる状態にまでサマリーする
  • オンライン分析(OLAP)
    • 過去の分析
    • データは比較的生に近い状態で置いておいて、様々な角度から見ることで意味を見出していく
  • モニタリング
    • 現在の監視
    • 過去のデータだけではなく、今まさに発生しつつあるデータをリアルタイムに見る
  • 予測
    • 未来の予見
    • 過去のデータから見つけたパターンに現在のデータを当てはめて未来を予測する
    • 機械学習(マシン ラーニング)、レコメンド、予防保守

データのライフサイクル

これまでは、データの元が業務システムから生まれた RDB(綺麗に構造化されたデータ)であることが多かったと言えます。
これからは、様々な発生源からすごい勢いで発生してくるデータを、とりあえず生の状態で溜めておく場所として「データレイク」という概念が出てきます。
また、データレイクを経由せず、生成されるそばからリアルタイムに消費していく、ストリーム処理という形態も出てきました。

これをもう少しシステム的に言うと、入力データを蓄積し分析する大容量の「コールドパス」と、連続的に入力されるデータをリアルタイムに処理する「ホットパス」に分けられます。
そして、コールドパスとホットパスを合わせて「ラムダアーキテクチャー」と呼ぶとのこと。

この中には様々な要素があります。

  • バッファ付きの入力
  • イベント処理
  • イベントの加工
  • データの評価
  • 保存・蓄積
  • 分析、抽出
  • ホットストア
  • コールドストア

最後に、データレイクという概念だけは覚えて帰ってください、これまで保存されていなかったデータが保存されるようになると何が変わるかを(小規模でもいいから)考えてみてほしい、と締めくくられました。