Tableau Server のサイジング事始め!! に参加してきた

2014.03.06

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Tableau Desktopと並んで、と言うよりもTableau Desktopと併せて使うことでよりBIにおける効果を発揮するであろうプロダクト『Tableau Server』。この日はそのTableau Serverを導入する上でのキーポイントとなる『サイジング』に関する講習会が開かれたので参加して来ました。

開催場所はTableau Japan 株式会社 日本オフィス帝国ホテル インペリアルタワー(有楽町)。

こちらの建物の15FにTableau Japanのオフィスがあります。

当日は若干の雨模様でしたが、参加申込者10数名、ほぼ全員参加という出席率でした。以下写真は会場から見下ろした一枚です。

目次

0.イントロ

当日の登壇/講演はTablaeu Japan セールスコンサルタントマネージャーの並木正之氏。まず本題に入る前にガートナー社の2014年版「Magic Quadrant」に関するTableauの位置付けについて言及。

2007年頃からの位置とは大きく変わり、現在では【LEADERS】x【VISIONARIES】の領域で頭一つ抜け出た形となっております。以前はもう少し広がりがあった各社間の位置付けが2014年になると縮んで来ており、『トレンドが変わり、求められるものが変わって来ている。予測もしていない新しいビジョンが求められて来ているのでは』と並木氏は独自に分析。

1.Tableau Serverとは

まずはテーマの1つ目『Tableau Serverとは何ぞや?』について。

ここまで幾らか触って来て、DesktopからServerへのPublish(情報公開)が出来る事や、ユーザー・コンテンツ間の細やかな各種設定が行えるんだな〜位の把握度ではあるものの、それ以外に『何が出来るのか、何が必要なのか』という深いところについては今いちカバーし切れていない状況。ざっくりとその点についての解説を行って頂くところから本編はスタートしました。以下メモ。

ユーザー視点から見た『Tableau Server』の位置付け

  • まず最初に、並木さんが営業向けの説明資料を用いて、業務ユーザが社内のデータベースにアクセスし、分析を行う...という流れを解説。
  • 昨今、コンプライアンス的に"誰でも自由にアクセス出来る"…というのは御法度。また、情報の正確さ(このデータはいつ時点のもので、誰が作ったのか。"Single Verison Truth"は重要なポイントとなる。
  • Tableau Serverは上記の重要なポイントについて対応したソリューションとなっている。ITによる手助け(別途作業)が必要な部分を極力減らし、DBや統計の知識が無くても使えるような方向を目指した構成となっている。
  • シナリオその1:IT部門担当者
    • DBを起動(SQL Server)、Desktopを経由でDB接続情報を入力し、アクセス
    • Desktopから参照情報を加工(非表示にさせたい項目を選択したり、分かり易い名称に要素を変えたり)
    • Publishアクション実施でServerに情報を反映
  • シナリオその2:(その1を受けての)業務ユーザー
    • 出社後、Tableau DesktopからTableau Serverにアクセス
    • アクセス可能なDBの中から接続したいものを選択。アクセスを試み、Desktopからの接続が完了。
    • Tableau Serverにある"データサーバー"には2つの機能・役割がある。
      • データベースにアクセスする為の通り道としての役割
      • 本当にデータを持たせる役割(10億件入っていけど業務で都度アクセスするのが大変な場合、データの一時的なコピーを作成する事が出来る)
    • 分析中…何かに気付いた。そして発表したい。→そこでパブリッシュ実施。
  • Tableauは分析の道具ではあるが、他にもデータマイニングのような作業を行った結果、その内容を業務のユーザーに反映させる...というアクションも起こせる。
  • Tableau Serverにはブラウザからもアクセス可能。何も新たなプラグインの必要無く(ブラウザのみ)で閲覧可能。

Tableau Serverのアーキテクチャについて

アーキテクチャに関する解説の前に、まずは以下の用語(terminology)解説から。

  • process - タスクマネージャに於けるプロセス。独自のメモリ空間を持つ。プロセス自体は独立して動く。1つのコンピューター資源に縛られる。
  • thread - プロセスの中で並列して動くもの。ある程度の資源共有にはこちらの方が役立つ。
  • server - サービスをするための箱。

上記を踏まえた上でTableau Serverの内部を構成する要素について解説が続きました。

  • Gateway:Webサーバ。最新バージョンでは複数のプロセスで稼働させる事が可能となっている。
  • AppServer:マルチプロセスかつマルチスレッド、セッション情報を保持。複数サーバに分散可能。ラウンドロビン方式。キャッシュを持つ。キャッシュを効かせつつ最適なスケールで設定しないといけない。
  • Repository:ワークブックとかシート等の場所の問い合わせ先。ユーザーのアクセス及びアクセス内容返却を管理。
  • VizQL Server:本物のデータソースへのアクセスを司る。特許を取った技術。GUI操作をSQLに翻訳して送る。取って来たデータをグラフの形に表現して返す。VisualなSQLを内部で生成している。DBの演算部分だと思えば良い。こいつはメモリとCPUを結構食う。
  • DataSource Driver:あんま資源は食わない。
  • Backgrounder :TDE(抽出ファイル)を作成する。CPU食い。夜間に抽出ファイルを作りたい、となった場合、backgrounderを他のマシンに写して(cpuそこそこ積んだもの)処理させる事も出来る。
  • Data Server: 管理されたデータソース一覧を提供。
  • その他
    • Serverモニタリングについて
    • ダッシュボードのレンダリングとキャッシュについて:ダッシュボードのサイズを固定化(サイズ指定)しておくとImage Tile Cacheが効く。ユーザーのフィルタリング動作が必要無いようなものも同様。逆に、フィルタリングが多くなる構成の場合だとキャッシュは効かせられなくなる。
    • 何かの業務を行う際、情報を元にした確実性のある判断を行うのがBI。情報の使いこなし・活用度を上げて活用させるのがシステムとしてのゴール。活用度を上げる為にサイジングが重要となってくる。
    • BIのシステムを構築する際は、成長を前提にしたものを作るべき。キャパシティ、ITリテラシー、業務利用回数等を踏まえながら対応。
    • Tablaeu Server 管理画面ではView Performance Activityを見る事も可能。どういうユーザーが何を見たのか、利用度を見る事が出来る。利用率をレポートとして提出する企業もある。
    • Tableau Serverについても、まずは小さく始めるのが吉。シングルインスタンス、複数プロセスで良い。HAを求められるようになったらマルチインスタンス検討。

2.Tableau Serverのサイジングについて

こちらの内容については、基本的に以下の公開資料を元に解説が進められました。会員登録後ログインする事でダウンロードが可能です。英文ですがとても内容の濃いものとなっております。興味のある方は是非御覧になってみてください。

まとめ

以上、Tableau Serverのサイジングに関する勉強会レポートでした。これまで参加してきたTableau関連のイベントは実際にTableau Desktop等の環境を用いてのハンズオン形式が主でしたが、今回のような技術内容発表/解説のものも非常に得るものが多かったと思います。と言うか、TableauはDesktop/Server共に込み入った技術的なトピックも多い事ですし、こういった技術的な解説や他環境との連携についてももっと数多く技術講習会的な形で催して欲しいなぁと思いました。そしてTableau Serverについてはまだまだ知らない/触れていない部分も多いのでどんどん利用して行きたいと思います。