Jan 9, 2018

Metadata Manager For Presto

Presto向けにLentoというメタデータマネージャーを作り始めました。ソースはGitHubで公開(ebyhr/lentodb)しています。
メタデータについて簡単に説明すると「データに関するデータ」のことで”このテーブルはこういった用途”、”このカラムの値はXXを表す”といった情報のことです。企業向けの製品にはAlationというものあったりしますね。
当初dmemoを試そうとしたんですが、パッと見Redshiftしか対応していないようにも見えたので、それならレイヤーは1つ挟んでしまうものの、Prestoで多くのデータソースに対応できた方が便利かも?と思い、データソースはPrestoを選択しました。
アプリケーションはRailsで作っていて、Prestoとのインタフェース部分はtreasure-data/presto-client-rubyを使用しています。 認証はGoogle OAuth 2.0にしています。
直近で追加しようと思っている機能はリビジョン管理です(というかこれがないと同時編集した時に先にSubmitしたデータが行方不明になります)。
なお、保存するメタデータはPresto側ではなく、Rails側のDBに保存しています。
少し話は逸れますが、Presto自身でもCREATE TABLE時にコメントを定義できるのですが、現時点ではテーブル作成時のみで後から編集できないので、前にPR(presto/pull/8425)を投げました。これができるようになったら、その部分もWeb UIから編集できるようにするつもりです。カラムなんかはそっちの方が分かりやすいだろうなと予想しています。

ちなみにLentoというのは音楽用語で「穏やかに」「ゆっくりと」という意味を表しています。Prestoが「速く」なので対比させてみました。響きもなんとなく可愛いですしね。