データベース検査ツール、Talend Open Profiler
データベースシステムの複製・移行・変更を繰り返しているとデータの品質管理がなおざりになるものだ。やがて、不正あるいは破損したデータや古いデータのためにアプリケーションが正常に動かなくなってくる。そんなときは、Talend Open Profilerで検査してみよう。これはデータアナリストやデータベース管理者(DBA)だけでなく一般の利用者にも使えるデータベース検査ツールで、GPLライセンスの下で配布されており無償だ。データ構造の調査やデータ品質の改善に使えるほか、データとアプリケーション間の不整合を発見することもできる。こうしたデータ解析は、利用者と専門家がデータ構造やコンテンツの必要性について話し合う際の共通言語にもなる。
Talend Open Profilerは専門家にも一般利用者にも役立つツールだ。手軽に統計を取ってデータベース表にある情報の可用性を調べることができ、データの破損や不整合があればデータベースから不正な情報を取り除くこともできる。また、統計解析は反復が多いため手間がかかり、また間違いやすいものだが、このツールを使えばそうした問題も解消できる。
Talend Open Profilerの使い方
使い方は、概して簡単だ。しかし、解説書を見てもよくわからない点もあった。たとえば、メタデータリポジトリーにはプロファイル履歴があるようだが、いくら調べてもどう使うのかはわからなかった。
データをプロファイルする手順は簡単で、必要なのは数種の簡単な操作だけだ。実行形式が提供されているので、まず、適切なモジュールを入手し実行する。Windows、Solaris、Mac OS X、Linux、AIX用のものがあるが、筆者はLinuxを使っているのでコマンドプロンプトからTalendOpenProfiler-linux-gtk-x86を実行した。起動すると横に3つのパネルが並ぶ画面が表示される。左のパネルには簡易なツリーがあり、過去のデータプロファイルや接続したデータベースの情報が並ぶ。中央のパネルは作業用で、ここでデータベースやオブジェクトを選択して解析しデータをプロファイルする。右のパネルは操作を支援してくれるところで、データベースへの接続と解析の仕方を設定するウィザードになっている。
まず、データベースへの接続を定義する。左パネルのツリーを見てほしい。「Metadata」と、その下に「DB Connections」があるはずだ。それを右クリックし開いたメニューから「Create a new connection」を選ぶ。接続を設定するための画面が現れるので、ここでデータベースへの接続に必要な情報、Oracleならログイン、パスワード、ホスト名、ポート、システムID(SID)を入力する。これで、データベースへのアクセス特権に応じてデータベースの情報がツリーに表示される。たとえば、所有者、表、欄、属性、ビューなどだ。
さて、いよいよメインイベント、接続したデータベースの表にあるデータを解析してみよう。左パネルのツリーから解析したい表を探し、展開してその表にある欄を表示し、その中から解析したい欄を選択する。右クリックして「Create New Analysis」画面を表示し、実行する統計の種類を指定する。具体的には、欄ごとに統計のタイプ(Simple、Text、Summary、Advanced)を指定していく。そして、解析を実行する。こうした操作を解説したOpen Profiler Getting Started Guideが用意されており、手順に従ってオプションが説明されている。もう少し詳しく説明してほしいとは思うが、ともあれ、これを見ながら使い始めることはできる。
筆者はCentOS 5システム、Javaバージョン1.6.0_06、Perl v5.8.8、Oracle 11gデータベースという環境で試用したのだが、ダウンロードとインストールは簡単、かつ、すぐに終わった。Downloadページを開いてから起動して画面が表示されるまで、10分ほどしかかからなかった。
最後に、この試用で見つけた課題をいくつか指摘しておこう。リフレッシュ頻度はもう少し高い方がよいと思われる。表、ビュー、欄の各種件数が表示されるが、ツリーを一旦出て再び戻るまで更新されないものがあるようだ。今後への希望として、OracleとMySQL以外のデータベースのサポートを挙げておこう。
データアナリストやDBAや業務の専門家は定期的にデータの妥当性を調べる必要があるが、通常、その調査には特殊なスキルだけでなく、料金の高い専門家や高価なツールが必要だ。しかし、Talend Open Profilerを利用すれば、一般の利用者とアナリストやDBAが一緒にデータについて考えることができる。