目次


カンタン!DB2テクテク第1歩 拡張機能編

第2回 Red Brick Warehouse

Comments

コンテンツシリーズ

このコンテンツは全#シリーズのパート#です: カンタン!DB2テクテク第1歩 拡張機能編

このシリーズの続きに乞うご期待。

このコンテンツはシリーズの一部分です:カンタン!DB2テクテク第1歩 拡張機能編

このシリーズの続きに乞うご期待。

はじめに

前回は、Red Brickの特徴について説明をしましたが、今回は動作させる上での必要な情報をご紹介します。

構成

H/W の構成
Red Brick Warehouse S/W の構成

インスタンスとデータベースについて

同一のサーバーに複数のインスタンスを 起動することは可能ですが、本番機で は通常1つのみを起動し、システム毎 にデータベースを作成します。

ユーザー定義について

ユーザーはサーバーOSのアカウントに依存 せず、grant文で作成をします。但し、管 理者ユーザーsystemはデフォルトで作成 されています。
また、ユーザーの有効範囲は同一のデータベースのみとなります。

接続性(データ連係)

 Red Brickへの データInputRed Brickからの データOutput共 通
方法1: TMU(PTMU)を使用するテキスト形式のデータソースを、構築済DBにデータロードします。データソースが異なるサーバーに存在する場合、データ転送する必要があります。リモートのTMU機能は持っていません。 主にバッチで使用しますが、バージョニングや特定のセグメントのみをオフラインにしてオンラインでロードする方法もあります。他の2方式よりも高速にデータロードが可能です。TMUのUNLOAD文を外部形式で指定しデータアンロードします。 またRISQLコマンドのEXPORT文で同様な機能を提供しています。 表又はセグメント単位のデータアンロードが可能です。データソースとDBのレイアウトが異なる場合、レイアウト変更のアプリケーションが必要です。 リモートTMUは、6.20でサポート予定です。
方法2: ETLツールを使用する (例:Data Stage)DataStageはRed Brickのプラグインを用意し、容易にデータソースからデータ移行できます。(ETL内部ではODBC又はTMUを使用します)同 左データソースとDBのレイアウトが異なる場合、デザイナ機能でジョブを作成します。
方法3: ODBC、JDBCI/Fを使用するRed Brickは挿入・更新・削除処理は可能ですが、トランザクション機能を持ちません、よって1行単位の処理となります。主にオンラインで使用します。DWHやデータマートへの検索は主にオンラインでこのI/Fを使用します。
  • 主要なツール(Brio、BO等)は対応しています。
  • アプレットやサーブレットから参照できます(JDBC)。
ODBC 3.5とJDBC2.0に対応しています。
注意事項表を更新している間は、表には排他ロックがかかります。 但しバージョニングの使用によりロックを回避できます。(*1)バージョニング: データ変更とクエリ処理が同時実行できる機能です。

接続性(利用形態)

接続性利用形態図
接続性利用形態図

設定

Red Brickをインストールする際に必要です。

Red Brickに必要な情報
説明デフォルト値
最大サーバー数想定される同時接続数の最大
ロケールの決定JapanEUC、MS932、Shift_JIS、UTF−8、IBM930のいずれから選択します(言語系を日本語を選択した場合)US_ASCII
ウェアハウスの論理名データベースのインスタンス名で、共有メモリセグメントとのプロセス間通信で使用しますRB_HOST
TCP/IPのポート番号ODBC及びJDBCで使用する2つのポート番号です5050,5051
シリアル及びライセンスキーインストールメニューで入力します

Red Brickのインストール

Red Brickのインストールは非常に簡単です。データベースのインストールのアプリケーション(UNIX版はinstall.iso、Windows版はsetup.exe)を起動し、必要な情報をセットするのみです(Windowsクライアントもsetup.exeを起動するのみ)。但し、UNIX版はマシンプラットフォーム毎にシステムパラメータを変更します。

環境変数の指定

データベースのインストール、データベースに接続する際に必要です、UNIXではシェル(exp : setenv)、Windowsでは「システム」−>「詳細」でセットします。

環境変数名内容必須
RB_CONFIGインスタンス起動時に読込むコンフィグレーションファイル (rbw.config)が存在するディレクトリー
RB_HOSTデータベースのインスタンス名
RB_PATHデータベース未指定時の接続先データベース
RB_DSNDSNでパスワード未指定時のパスワード
RB_HOMERed Brickがインストールされているホームディレクトリー (Windowsのみ)
RB_EXEインスタンスサービスの実行ファイル (Windowsのみ)

よく使用するコマンド

よく使用するコマンド一覧です。OSコマンド、RISQLコマンド、TMUコマンドから起動する3種類に分類されます。

分類コマンドの内容OSコマンドrisqlコマンドTMU中コマンドUNIXの場合Windowsの場合
システム管理インスタンスを起動しますrbw.start「管理ツール」->
「サービス」
 インスタンスの状況を確認しますrbw.showrbshow
 インスタンスを停止しますrbw.stop「管理ツール」->
「サービス」
 稼動ログを確認しますrbwlogviewlogdview
 表の整合性をチェックし、修復もできますcheck table同左
 索引の整合性をチェックしますcheck index同左
 索引を再作成しますreorg同左
SQLの実行SQLを実行しますrisql同左
 データベースへのアクセスプランを出力します。実行はされません。explain同左
 実行情報(結果、IO回数、IO時間等)を出力しますset stats同左
データ ロード表にデータロードをします。TMUはシングルプロセス、PTMUはマルチプロセスです。rb_tmu rb_ptmu同左

インスタンス起動から停止まで

インスタンスの起動から停止までの一連の流れをUNIX環境をもとにまとめました。

環境変数の設定

環境変数の設定setenv RB_CONFIG /export/home0/rb611fc1補足:
RISQLの起動
risql -d aroma(1) system(2) manager (3)

(1)データベース名
(2)ユーザー名
(3)パスワード

RISQL> select count(classkey) from product;
59
RISQL>quit;
setenv RB_HOST rb611fc1
setenv RB_PATH aroma
set path=($RB_CONFIG/bin $RB_CONFIG/util/service $path)
 
インスタンスの起動
rbw.start $RB_CONFIG (1)
$RB_HOST(2)
 
(1)コンフィグレーションファイルが存在するディレクトリー
(2)インスタンス名
 
インスタンスの状況確認
rbw.show
(出力例)
RB_HOST RB611FC1
API Daemon 29793
Number of active connections 0
Number of active database 0
ADMIN Daemon 29792
LOG Daemon 29790

インスタンスの停止

rbw.stop $RB_HOST(1)

(1)インスタンス名

チューニングのポイント

Red Brickのチューニングのポイント

  • スタースキーマ構成

    STAR indexやTARGET indexは、スタースキーマ構成で最も有効です。
  • ローディング

    ローディングの処理はPTMUを使用し、オプティマイズをONとします。データのクレンジングを行い、最も大きい索引でソートします。
  • クエリー

    複数の索引を多用し(非定型アプリケーションに有効)、定型アプリケーションで集約処理に時間がかかるものはVistaを使用します。
  • セグメント化

    ファクトテーブルを検索条件やデータの保持期間に応じてセグメント化します。単一セグメントのみをスキャンするスマートスキャン機能、高速な データ消去(セグメントのオフライン、デタッチ)、対象セグメントのみデータロード(他セグメントはオンライン化) を利用できます。

コンフィグレーションファイルrbw.config設定を行ないます。(一部のパラメータは実行時にセット文で指定可能です)
Red Brickのチューニングすべきパラメータ数は少なく専任のDBAを必要としません。

RedBrickのコンフィグレーション
コンフィグレーションする項目コンフィグレーションパラメータ名推奨(チューニング開始値)
(1)1クエリーあたりのメモリ使用量QUERY_MEMORY_LIMITディスクへのスピルを監視
(2)パラレル度の指定
・RedBrick全体での最大プロセス数
・単クエリーあたりの最大パラレルプロセス数
・パラレルあたりの処理行数
(リレーションスキャン)
・パラレルあたりの処理行数
(STARjoin)
・パラレルあたりの処理行数
(STARjoinのデータフェッチ)
TOTALQUERYPROCS
QUERYPROCS
ROWS_PER_SCAN_TASK
ROWS_PER_FETCH_TASK
ROWS_PER_JOIN_TASK
CPU数*4
CPU数
推奨値の最低は5000 設定値が低ければ並列度が高まります
(3)物理ディスクの適度なプロセス数
・ディスクグループ
・ディスクグループあたりのプロセス数
FILE_GROUP
GROUP
PSUのファイルグループを指定
ファイルグループあたりの物理ディスク数
(4)TMUの指定
・オプティマイズ方式の指定
・インデックス作成時のテンプスペースディレクトリー
・インデックス作成時のメモリ使用量
・インデックス作成時のディスク使用量
・データ読込み時のメモリバッファー
TMU_OPTIMIZE
INDEX_TEMPSPACE_DIRECTORY
INDEX_TEMPSPACE_THRESHOLD
INDEX_TEMPSPACE_MAXSPILL
TMU_BUFFER
on
/tmp以外のディレクトリー
10(MB)~システムメモリ/3
1(GB)~システムメモリ+1(GB)
1024または2048

終りに

2回にわたりRed Brickのご紹介をしました。Red Brickは検索性能とローディング性能のみを追求(情報系に特化)し、他に例をみない製品であると思います。市場のお客様からRed Brickが受け入れられている理由は、7点に集約されます。

  • 検索に特化したリレーショナルデータベース
  • シンプルな構造だからDBA作業が少ない
  • パイプラインパラレルで高速なローディングを実現
  • ROLAPによる大量データへの非定型クエリーを高速に処理可能
  • Vistaで定型クエリーも瞬時に応答可能
  • オープンなAPI(ODBC/JDBC)で自由に組み合わせ可能
  • 標準SQLと分析用拡張SQLをサポート

最後にクイズを載せますので、挑戦してみてください。次のうち、正しいものには○、間違ったものには×をつけてください。

  1. 検索に特化したリレーショナル型のデータベースです。SQLを使用しての挿入・更新・削除処理はできません。
  2. 製品構成は、Red Brick Warehouse、 Client Connector Pack、 Administratorの3つから構成される。
  3. 索引を使用したジョインは、STAR join、 TARGET join、 ハッシュ joinの3種類です。

答え:1 × 2 ○ 3 ×

解説:1について SQL92に対応をするデータベースであり、検索・挿入・更新・削除処理は可能です。ただし、トランザクション(ロールバック、コミット)はできません。

解説:3について

索引を使用したジョインは高速な順番に、STAR join、TARGET join、 Btree joinとなります。索引を使用しないジョインは、ハッシュ Join、クロス Joinとなります。


ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Information Management
ArticleID=320551
ArticleTitle=カンタン!DB2テクテク第1歩 拡張機能編: 第2回 Red Brick Warehouse
publish-date=12162005