2017年5月9日

Hecatoncheir: The Data Stewardship Studio 0.8を公開しました

本日、「Hecatoncheir: The Data Stewardship Studio」という最近開発していた新しいツールをOSSとして公開しました。
本ツールは、データベースのメタデータおよび実データの統計情報やプロファイルを用いることで、データ品質マネジメントおよびデータガバナンスを実施するデータスチュアードを支援することを目的としたソフトウェアです。

既に某所のデータウェアハウスのシステムの周辺で稼働しています。

本エントリでは、このツールの紹介をさせていただきます。(本ツールはPostgreSQLにも対応しております)

■本ツールを開発した背景


最近は、データウェアハウスの設計から構築、データマネジメント(ガバナンスやスチュアードシップと呼ばれることもありますが)を手掛けることが多くなってきました。

データベースエンジニアですから、新しい情報系システムの領域であってもテクニカルな作業もそれなりにこなせるのですが、いくつかの案件を手掛ける中で気付いたことがありました。

それは、どのような局面であっても、データの調査や確認のために同じような作業(クエリの実行など)を何度も何度も繰り返して行わなければならない、ということです。そして、データは日々変化していくため、そのタスクを毎日のように繰り返さなければなりません。

また、データについて、他人に説明する時にもこのような調査や確認の作業が常に付きまとってきます。

それに加えて、データに何か問題が発生する可能性があるのであれば、それをできるだけ速やかに検出したくなります。

しかし、そのような調査や確認作業に日常的に忙殺されていると、もっと本質的な作業に手を回すことができなくなってしまいます。

そのため、このような「ルーティンで何度も行わなければならないタスク」を自動的に実行することでデータの状態の把握・可視化を容易にし、またデータの品質問題の早期検知を実現するためのツールを開発することにしました。

このツールを使うことによって、データの面倒を見ている人たち(データスチュアード)が「当たり前のことを手間をかけずに行い、もっと新しいこと、本質的なことに安心して時間をかけられる」ようになります。

■本ツールでできること


本ツールでできることは以下の通りです。
  • データベースディクショナリ(カタログ)からメタデータを取得する
  • テーブルやカラムのプロファイリングを行う
  • あらかじめ定義したビジネスルールに則ってデータ検証を行う
  • タグ付けおよび補足的なメタデータを取り込むことでデータセットをカタログ化する
  • ビジネス用語集を構築する
  • データの開発者と利用者が必要とする情報をキュレーション・共有する
いくつかスクリーンショットを貼っておきます。

■本ツールの仕組み


本ツールは、コマンドラインで動作するツール類と、ツールからの入力を保存・統合するレポジトリ(SQLiteファイル)から構成されています。
  • ①まず、データディクショナリからメタデータを取得してレポジトリに保存する
  • ②補足的なメタデータをCSVファイルからレポジトリに取り込む
  • ③実データに対するプロファイリングやデータ検証を行い、結果をレポジトリに取り込む
  • ④レポジトリにあるデータをHTMLとしてエクスポートする
というのが基本的な仕組み、動作の流れになります。

■動作環境・対応プラットフォーム


動作環境・対応プラットフォームについては、READMEを参照してください。

■本ツールの使い方


ソースコードはGithubレポジトリから入手できます。
クイックスタートガイドを用意していますので、興味のある方はこちらをご覧ください。 リファレンス的な情報もまとめてあります。

■名前(Hecatoncheir)の由来


ご存じの方も多いと思いますが、Hecatoncheir(ヘカトンケイル)というのは、ギリシャ神話に出てくる神様の名前です。
50の頭と100の手を持ち、戦いに当たってはその怪力と多くの腕で次々と大きな岩を投げつけて勝利に導き、戦いが終わると今度は100の眼で奈落の出入口で監視をするという役回りが、このツールのイメージとピッタリのように感じたため、この名前を選びました。

■まとめ


本エントリでは、今回公開した Hecatoncheir の紹介をしました。

まだまだ対応DBMSも増やしていきたいですし、いろいろと機能開発や改良もしていきたいと思っています。

興味のある方は、ぜひGithubのIssueなどでご意見、コメントを頂ければと思います。

では。

0 件のコメント:

コメントを投稿