はじめまして。stable株式会社 代表の宮﨑一輝(@ikki_mz)です。
stable株式会社は、データエンジニアリングを専門領域として、企業のデータ活用・データマネジメントに関するあらゆるご支援をしています。
今回は「#も読」の第4回の投稿です。
これまでの回では書籍を紹介してきましたが、今回は少し趣向を変えて、最近リリースされて話題になっていたDatabricksの新機能についての記事を取り上げたいと思います。題材にするのは、Databricksの公式ブログに掲載された 「Reimagining Data Modeling in the Lakehouse: Introducing Vibe Data Modeling」という記事です。ここで紹介されている Vibe Data Modeling という機能について、内容の紹介と、それを読んで感じたことを書いていきます。
先にひとつお断りしておくと、私はこの記事を読んだだけで、実際にこの機能を触ったわけではありません。そのため、細部まで正確に理解できているわけではなく、もしかすると解釈を誤っている部分もあるかもしれません。その場合はご指摘いただけますと幸いです。その点はご了承のうえでお読みください。
なぜこの機能に注目したのか
私は普段の仕事で、dbtなどを使ってデータモデリングをしています。今回の記事のテーマであるSilverレイヤー、つまり基本的な加工を終えたデータモデルを作るという作業も、日頃からよく行っています。
データエンジニアの方であれば共感いただけると思うのですが、データモデリングというのは本当に時間がかかる作業です。人によっては業務の大部分を占めているのではないでしょうか。というのも、良いデータモデルを作ろうとすると、扱うデータそのものをきちんと理解し、さらにその事業についてもきちんと理解したうえで設計しなければ、分析のニーズに応えられるモデルにならないからです。この「データの理解」と「事業の理解」の両方が求められる点が、データモデリングに時間がかかる大きな理由だと考えています。
そんな時間のかかる領域が、AIによってある程度自動化できるかもしれない。そうした文脈でX上でも話題になっていたので、私も個人的に強く関心を持ちました。というのが、この記事を取り上げる前置きになります。
Vibe Data Modeling とは何か
それでは、Vibe Data Modelingが具体的にどのような機能なのかを、記事を読みながら整理していきたいと思います。
ざっくり言うと、「Vibe」という名前がついている通り、ユーザーがプロンプトを渡すところから始まります。渡すのは事業の説明です。「こういう事業をやっていて、こういう業界で、こういう業務フローがある」といった内容を、自然言語で説明していきます。そうすると、まずAIが一度データモデルを生成してくれる、というのが大まかな流れになります。
ここで理解しておくとよさそうなのは、この段階で生成されるのは、実際のデータが入ったテーブルではなく、あくまでサンプルデータのみが入った論理的なテーブルだという点です。カラムや外部キーといったものが定義された論理データモデル、いわば設計図のようなものが作られます。Vibe Data Modelingが担うのはこの論理的な設計までで、実際にデータを流し込むのは、その後に行う別の工程です。いきなり加工まで完了してしまうと捉えると、理解として少しずれてしまうかもしれないので、そこはこうした役割分担になっていると考えていただければと思います。
記事では、この機能が解決したい課題も書かれています。元記事によると、このSilverレイヤーのモデルを手作業でゼロから構築すると6カ月から3年ほどかかる、という課題設定がされていました。それだけ時間がかかってしまうと、社内のデータ活用を進めたいのに準備に膨大な時間を要してしまうことになります。Vibe Data Modelingは、まさにそこを高速に立ち上げる機能として位置づけられています。
また、Vibe Data Modelingでは、ちゃんと自社の事業にフィットしたモデルが作られるよう、チューニングを行うことも可能です。一度プロンプトを打って論理データモデルが生成された後は、それで終わりではなく、対話をしながら自社に最適な形へとフィットさせていくことも想定されています。元記事では、この思い通りになるまで自然言語で調整していくプロセスこそがこの機能の真骨頂だと書かれていました。つまり、自社の事業にまったく合っていないものが一方的に作られるわけではなく、自分たちの事業に合った要件もある程度反映させられそうです。
以上が、機能のざっくりとした紹介になります。ここからは、これを読んで私が感じたことを書いていきます。
良いと思った点
まず良いと思ったのは、Vibe Data Modelingが トップダウンなやり方をしている、という点です。
ここで言うトップダウンとは、事業というものがまずあって、その事業をデータで表現したらどうなるか、という考え方をしている、という意味です。具体的には、私たちがインプットするのは「事業がどういうものか」という説明であり、それを伝えるとデータモデルができあがる、というプロセスになっています。事業から逆算して設計されているからこそ、その事業を分析したいときに使いやすいテーブルになりやすいのではないか、と考えています。

一方で、普段の私の場合は、事業から考えるべきだと頭では理解しているものの、どうしてもデータソース側に引っ張られてしまい、ボトムアップ的にデータ加工を進めてしまうことも多くあります。例、「こういうテーブルがあるから、こういうユーザーテーブルを作りましょう」といった具合です。どうしても、ボトムアップ的な発想になりがちです。

なぜこうなってしまうかを自分なりに考えると、トップダウンのアプローチ、つまり「事業からデータモデルを逆算するアプローチ」は、事業理解や設計のフェーズにそれなりの時間がかかり、なかなか実装に入れないという問題があるからです。ある程度、データモデリングに期間的な余裕を確保していないと取りづらいアプローチだと言えます。もちろん、事業を正しく表しているデータモデルこそ良いデータモデルだと思うので、本来はトップダウンで考えるべきなのですが、それがやりづらいというのが実情だと思います。
その点、Vibe Data Modelingは、本当はやった方がいいけれどできていなかったこのトップダウンの部分を、高速でやってくれます。これによって、高速にイテレーションを回せるようになるのではないか、という期待があり、私はここが非常に良いと感じています。もちろん、今あるデータから見ていくボトムアップのアプローチも引き続き必要だと思いますが、ボトムアップとトップダウンの両方をバランスよく回せるようになる可能性を秘めている機能だと感じています。
懸念点
一方で、懸念点もあります。
私たちデータエンジニアは、こうしたデータモデリングを、人間が試行錯誤しながら進めていきます。先ほど述べたようにボトムアップで見ていったり、実際にユーザーからどのような分析依頼が来ているかを汲み取って、それをデータモデリングに落とし込んだりしています。
そうした反復のイテレーションを回していく過程で、私たちは事業についての理解を深めたり、発生するデータについての理解を深めたりしています。そうやって理解や認知を獲得しながら、より良いデータモデリングへと磨き上げているわけです。
ところが、あまりにAIに頼りすぎると、その理解や認知を獲得するプロセスをすっ飛ばして、「それっぽいデータモデル」だけができあがってしまう、ということにもなりかねません。最初の立ち上げがスピーディーにできるのは良い一方で、中長期で見たときに理解負債・認知負債のようなものが溜まっていき、どこかブラックボックス化したデータ基盤になってしまうのではないかと、少し懸念しています。
もちろん、人間が時間をかけてやっていることを、これからもそのまま続けるべきだとは思っていません。AIで省略できるところは、どんどん省略していくべきだと思います。ただ、これは銀の弾丸ではなく、人手で泥臭くやるべきこともまだあるのではないか、というのが現時点での正直な感覚です。とはいえ、私自身まだ実際に使っていないので、あくまで「そう思っている」という程度の話ではあります。
おわりに
以上、Databricksの新機能 Vibe Data Modeling について、記事の紹介と感想を書いてきました。
本来はやるべきだけれど時間がかかって手が回らなかった「事業からの逆算」を高速化してくれるという点に、私は大きな期待を持っています。懸念点として挙げた理解負債・認知負債には注意しつつも、ボトムアップとトップダウンを両輪で回すための強力な武器になり得るのではないか、と感じています。実際に触ってみたら、また改めて感想を書きたいと思います。
それでは最後までお読みいただきありがとうございました。データエンジニアリングに関する情報は、X(@ikki_mz)でも発信していますので、よろしければフォローしていただけると嬉しいです。

