読者です 読者をやめる 読者になる 読者になる

トレジャーデータ(Treasure Data)公式ブログ

トレジャーデータ(Treasure Data)公式ブログです。

「データドリブン開発時代の技術とその選びかた」:デブサミレポート

はじめに

2015/10/14 にデータエンジニアのためのビッグイベント,Developers Summit Autumn が開催されました。今回のテーマは「データを巡るテクノロジーの冒険」 ,データ関連のテクノロジーにフォーカスしています。このイベントに弊社のソフトウェアエンジニアである田籠(@tagomoris)が登壇しました。今回は彼の発表内容について,多くの皆様に知ってもらうべく,解説していきます。

f:id:doryokujin:20151015103842p:plainf:id:doryokujin:20151015103721p:plain

トレジャーデータ 田籠 聡

【データドリブン開発時代の技術とその選びかた】

要旨

ビッグデータやデータサイエンスといった用語が頻繁に用いられるようになって久しくなりました。データを中心とした開発も実際に各企業で行われるようになっておりそれはますます増えていくことでしょう。

しかしその中で使われる技術やソフトウェアはまだ猛烈な勢いで進化を続けており,各々の機能や性能特性が異なる中,どういったソフトウェアを使えばよいのか戸惑うケースも少なくないかもしれません。

このセッションではデータ処理技術としてメインストリームにあるものや改善が話題になっているものを取り上げ各々の特徴について概説するとともに、実際に働く中でどのような基準でどうやってそれらの技術の取捨選択をすればよいのかについて解説します。

プラットフォームを自前で構築するべきか,サービスを利用するべきか

f:id:doryokujin:20151015104249j:plain

実際にデータ分析に着手しようと考えたとき,私達は「データソースの特定,収集,蓄積,データ処理,可視化」といういくつかのコンポーネントがあることに気がつきます。これらのステップを統合したものを「データ分析プラットフォーム」と呼ぶ事にすると,初めの問題はこのデータ分析プラットフォームをどう選定するかということになります。

f:id:doryokujin:20151015104739j:plain

分析プラットフォームの選定において,私達は3つの手段を取る事が可能です。

  1. Fully-Managed:分析のあらゆるコンポーネントの構築と運用を一気通貫して提供してくれるサービスを活用する。この場合では,サービスに払う費用コストは大きくなる替わりに,運用コストや専任エンジニアリソースを節約できます。
  2. Self-Managed:サービスとして提供される個々のコンポーネントを自身で組み合わせて活用する。こちらは費用コストを抑えることができる一方で,適切なコンポーネントを選択し,管理できるエンジニアは最低限必要となります。
  3. Own Environment:プラットフォームの構築を全て自前で行う。近年のHadoop環境も落ち着きましたので,自前でプラットフォームを構築・運用するという選択肢もありますが,多くの専任エンジニアを抱え込む必要があります。

それではこれら3つの選択肢の,どれを選ぶべきでしょうか?

f:id:doryokujin:20151015131615j:plainf:id:doryokujin:20151015131632j:plain

田籠氏は,Full Managed Serviceの選択を推奨しています。もちろん彼はそれを提供するトレジャーデータの社員である故の事なので一択なのですが,彼は前職ではプラットフォームの構築にも大きく関わっており,3種の選択肢を実際に体感した上での選択である事も忘れてはいけません。

トレジャーデータにジョインする前に書かれた彼のブログは,大反響を呼びました。自前運用を検討しているエンジニアの皆様は,是非とも一読ください。

Processing においては,"What" が "How" を決める

f:id:doryokujin:20151015132839p:plain

彼の講演で面白かったところは,データ分析コンポーネントの1つである,Processing エンジンにおいて重要なのは「What First, How Second」であると言い切ったところです,実際にデータ分析処理を行うエンジンの選択肢を問う Processing の"What"とは,

  • 「何」がしたいのか?:(レポーティング?分析?レコメンデーション?)
  • 「何」のデータを扱うか?:(長年蓄積された巨大なデータなのか?センサーデータのようにストリーミング収集されるべきデータなのか?)
  • 分析アウトプットとして「何」の形式を用いるか?:(CSV?Excel?DB?)

 そしてこれらの目的が明確された上で,手段・技術("How")が考慮されるのです。

f:id:doryokujin:20151015132908p:plain

 現在データエンジニア界隈で賑わっている Hadoop や Spark などは,それぞれに向き不向きがあります。故にProcessing エンジンの適切な選択とは,まずは目的が明確化されてから行われるべきものであると言えます。

データ分析は"Collection"から始まる

データ分析のコンポーネントの最初に置かれるのが「データ収集」の部分です。データソースにあった収集ツールを適切に選択することは重要です。また,当日リリースした「Fluentdエンタープライズサポートサービス」もサプライズとして発表されました。

f:id:doryokujin:20151015134601p:plainf:id:doryokujin:20151015134622p:plain

トレジャーデータはデータ収集から分析,可視化までをになうFull-Managed Serviceを提供

f:id:doryokujin:20151015135224p:plain

f:id:doryokujin:20151015135302p:plain

トレジャーデータにご興味のある方は support@treasure-data.com まで,ご連絡お待ちしています。