Tableau Server: ディスクスペースにまつわるあれこれをまとめてみた|Tableau Software Tips&Viz Advent Calendar 2014 #03 #tableau

2014.12.03

2014年アドベントカレンダー『Tableau Software Tips&Viz(全部俺) Advent Calendar 2014』2日目です。Tableau Softwareに関する機能紹介、便利ネタや可視化ネタ等を毎日1本ずつ計25本、『1人(全部俺)』で担当してお届けしています。

昨日2日目の投稿ネタは『『集計』を理解する』でした。

本日3日目はTableauに於けるストレージ容量・ディスクスペースの見積もりに関するトピックについて、幾つかまとめたものをご紹介してみたいと思います。Tableau Server構築の際にはその利用人数や状況から、OSのCPU性能やメモリに関するスペックを見積もる必要がありますが、同様に『ディスクスペース(OSのストレージ容量)』についてもその利用状況に応じてスペックを見積もって行く必要があります。当エントリはその見積時に利用出来そうなトピックを幾つかまとめてみました。

目次

技術仕様(Technical Specification)によるTableau Serverの要求スペック

Tableau Serverを含む全てのTableau製品に関する技術仕様は上記ページにその情報が記載されています。その内容に拠れば、『ハードウェアに関するガイドライン』として以下の数値がそれぞれ掲げられています。(※以下、内容を抜粋)

規模 推奨CPU 推奨Memoly 必要な空き ディスク領域
非常に小規模な導入(※1) 64ビット版:4コア、2.0GHz 以上 (32 ビット版: 2コア、2.0GHz以上) 8GB以上のシステムメモリ 32 ビット版: 4GB以上 1.5GB以上
小規模な導入(※2) 4コア、2.0 GHz以上 8GB以上 5.0GB以上
中規模な導入(※3) 8コア、2.0GHz以上 32GB以上 50.0GB以上
  • ※1 概念実証または事前評価、同時にアクセスするユーザー数が1~2 の場合
  • ※2 小規模な導入:同時にアクセスするユーザー数が25未満の場合
  • ※3 中規模な導入:同時にアクセスするユーザー数が100未満の場合

抽出ファイルや格納するファイル数に関するトピック

TableauにおけるKB(Knowledge Base)資料を調べてみると、以下の情報が引っ掛かりました。抽出(Extract)を利用する場合、また多くの成果物(ワークブック等)をServerで管理する際のポイントがまとめられています。ざっくり読んでみましょう。

概要

Tableau Serverのインストール及び実行に必要な最小限のディスクスペースは500MBです。Tableau Serverを日々利用して行く上で必要となるディスクスペースを見積もる場合は、抽出ファイルをTableau Serverにパブリッシュ(Publish:公開)するかどうかを考慮に入れる必要があります。

もし抽出を使うのであれば、Tableau Serverを導入する環境のストレージ容量は数百GB単位で始める事をお勧めします。 抽出の利用を想定していない環境であれば、日々の利用ニーズを満たす為におよそ50GB程あれば足りると思われます。

利用シナリオについては劇的に変化する事も考えられますので、必要なディスクスペース要件を理解する為にも以下内容についても確認してみてください。

Tableau Serverへの抽出(Extracts)のパブリッシュ

抽出を利用する場合、Tableau Serverにパブリッシュ(公開)される抽出物の数と、それぞれの抽出ファイルのサイズを考慮に入れる必要があります。

Tableau Serverに幾つかの抽出ファイルをパブリッシュしてみて、それらの抽出物がどれ位のディスクスペースを消費しているかを確認してみる必要があります。

これらを調べてみる事で、抽出ファイルのパブリッシュを継続して行くとどれ程のペースでディスクスペースを消費し、現在利用可能なディスクスペースの総量を把握する事が出来るでしょう。

Tableau Serverにおける抽出ファイルのサイズ確認方法

では、実際にそのサイズを確認する方法についてサンプルを交えて見てみたいと思います。まずはデータの用意。先日AWS Lambdaのアドベントカレンダー用に投稿したデータがそこそこの件数(約40万件)あったので、これをそのまま使ってみたいと思います。

まずはデータソースの抽出から。接続を確立した後、データソースを右クリックして抽出処理を行います。ここでは全件対象としています。

TableauServerFileSizeCheck00-00

抽出が完了したら、Tableau Serverに事前にログインをしておきます。メニューの[サーバー]→[サインイン]を選択。

TableauServerFileSizeCheck01

必要事項を入力し、認証を済ませておきます。

TableauServerFileSizeCheck02

認証完了後、データソースを右クリックして[サーバにパブリッシュ]を実行。

TableauServerFileSizeCheck03

必要事項を入力してパブリッシュを実行します。

TableauServerFileSizeCheck04

データソースの抽出ファイルと併せて、ワークブックもパブリッシュしてみましょう。上記データソースを使い、以下の様なワークブックを作成してみました。

TableauServerFileSizeCheck00-01

成果物は『パッケージドワークブック(*.twbx)』として保存。

TableauServerFileSizeCheck06

メニューの[サーバー]から、[ワークブックのパブリッシュ]を選択し、

TableauServerFileSizeCheck07

必要事項を入力後、パブリッシュ実行。

TableauServerFileSizeCheck08

完了しました。

TableauServerFileSizeCheck09

ちなみにこの時点ではパブリッシュ元のファイルもあるので、実サイズを確認してみましょう。およそ26MBのサイズとなっています。

TableauServerFileSizeCheck10

Tableau Server上では、管理者権限を持っていればメニューからの情報として内容を確認する事が可能となっています。[管理者]→[メンテナンス]から[スペース使用率]をクリック。

TableauServerFileSizeCheck11

すると、以下の様にTableauのビュー形式でその内容を確認する事が出来ました。数字上はデータソース、ワークブック共に24MBとなっています。概ね、ローカル上で作成したものと同じサイズでTableau Serverにも格納されているという理解で良さそうです。

TableauServerFileSizeCheck12

ちなみにこちらの点について、『Tableau Serverインストールディレクトリ配下のどこかに、そのままブツが格納されてるんじゃないか』と思って調べてみたところ、以下のフォーラムでのやり取りを見つけました。

トピック的には『Tableau Serverから直でファイルをダウンロードしたいんだけど』と言ったものですが、やり取りを追って行くと、以下コメントが。内部で管理されているPostgreSQLデータベースにバイナリオブジェクトとして格納されているようです。そのままでは見ることが出来ないんですね。

TWB files are not stored on the file system of Tableau Server like extracts are - that's why you can't see them. They are stored as binary objects inside the PostgreSQL database. You won't be able to get at them via the tsbak file.

抽出ファイルの更新

抽出ファイルを使用している場合は、抽出ファイル更新時に用いる一時ディレクトリが必要となるという点を考慮に入れておいてください。

抽出ファイルを更新する間に利用する格納場所となる一時ディレクトリでは、抽出ファイルの最終的なサイズの二乗分、ディスクスペースが必要となる場合があります。例えば、12GBの抽出ファイルがあった場合、そのファイルの更新には144GBのディスクスペースを必要とする場合があります。

数多くのワークブックを作成する場合

ワークブックを使用している場合は、Tableau Serverにパブリッシュされるワークブックの数についても考慮しておく必要があります。個々のワークブックは少量のディスクスペースを取る傾向あります。ですので数千ものワークブックを公開する、といったケースの場合は、それらに対応する為に別途追加領域を割り当てる必要があるという点に気をつけてください。

Tableau Serverで生成されるログファイルについて

Tableau Serverでは内部で各種実行ログが出力されるようになっており、不具合が発生した際にはそのログをまとめてTableauサポートに投げるオペレーションも用意されていたりと、非常に便利な構成が用意されています。一方で、ログファイルの出力量もそれなりにあり、塵も積もれば何とやらでそのままにして置くと少なくないボリュームでディスクスペースを圧迫する状況にもなりえます。

Tableau Serverのログファイルについては、特に問題・障害が無ければ削除しても差し支えないファイルとなっています。そのまま削除してしまうのもアレなので、一旦ログファイルのアーカイブを取得しておきそのアーカイブをS3にバックアップとして退避した上でTableau Server上の不要なログファイルを削除する、というオペレーションを定期的に実行する事でディスクスペースの消費を抑える事が出来るでしょう。詳細な内容については以下公式ドキュメントを御参照ください。

Tableau Serverのデータバックアップについて

『ディスクスペースの管理』とは若干トピックがズレますが、ログファイルの削除と併せてTableau Serverコンテンツの定期的なバックアップについても考慮に入れておいた方が良いでしょう。バックアップについてはTableau Serverで提供されているtabadminコマンドで生成する事が出来ます。詳細は以下公式ドキュメントを御参照ください。

まとめ

以上、Tableau Serverにおける『ディスクスペース』見積に関する関連トピックのご紹介でした。開始時の要件にも拠ってきますが、まずは可能であれば50GB〜100GB辺りの構成でTableau Serverを立ち上げ、サンプルで幾つかファイルをパブリッシュした後、その頻度やファイルサイズを考慮に入れつつディスク領域を適宜増やしていく、という方法が良いのではなかろうか、と言うのが今回情報を漁ってみての感触でした。AWSであればディスク領域の拡大も容易ですし、この辺りは臨機応変に対応出来ますね。ストレージ容量のチェックについても、CloudWatchを用いて対応しておく事で確認の負荷も軽減可能です。

トピックでご紹介した中でさらっとネタ紹介に留めた箇所も幾つかありましたので、その辺についても機会を見つけてどこかで深堀りしてご紹介出来ればと思います。

では明日もお楽しみに!