dbtとGUIで実現するデータ処理の未来を考えてみた

この記事は10Xアドベントカレンダー2023の4日目の記事です。
🎄10X プロダクトアドベントカレンダー2023

データの重要性とdbtの役割

現代のビジネス環境では、大量のデータが毎日生成されており、これらのデータを効果的に管理し活用することが企業の成功に不可欠です。しかしながら、データはしばしば複数の形式やソースから来るため、整理し、分析に適した形に変換する作業は複雑です。この複雑な課題を解決するために、dbt(Data Build Tool)のようなツールが注目されています。
dbtはSQLベースのデータモデリングツールであり、データをステージング、ベース、インターメディエイト層においてクレンジング(洗浄)やSSOT(Single Source of Truth:単一情報源)処理を容易にし、最終的にマート(利活用)を目的としたビジネスエンティティのデータの生成を開発・管理します。これにより、異なるデータソースを一元化し、整合性を保ちながら分析可能な形式に変換することが可能になります。

データクレンジングの複雑さ

dbtの導入はビジネスにおけるデータ処理を革命的に変えましたが、それでも多くの課題が残ります。特に、異なる事業ドメインからのデータを正確にクレンジングし、統合するためには専門的なドメイン知識が不可欠です。dbtはSQLベースであるため、事業ドメインの専門家が直接データ処理を行うためには、SQLの理解とモデリング技術が必要となります。

GUIによるイノベーション

この問題を解決するために、dbtのプロセスをさらに簡素化するアプローチを考案しました。それは、ステージング、ベース、インターメディエイト層でのデータ処理をGUI(グラフィカルユーザーインターフェース)ベースで実行可能にすることです。このアプローチにより、専門性の要求を低下させ、非専門家でもデータモデルの開発に参加できるようになれればと考えました。

モックを簡単に作ってみた

今回、特定の生データのテーブルに対してカラムのリネームや重複排除などの基本的な処理を行う機能を実装しました。この実装により、データ処理のプロセスがより簡単に、そして迅速に行えるようになりました。さらに、GUIが提供する直感的なインターフェースにより、処理がより明確になり、より多くのチームメンバーがデータモデルの開発に参加できるようになれそうだと感じました。

今後の展望

今後の目標は、基本的な処理に加えて、複数のデータソースを結合するような複雑な処理も管理できるようにすることです。また、dbtのモデルクエリをユーザーから隠蔽し、プロセスをさらに自動化するのも良さそうです。たとえば、保存を行った際に裏側でGitHubにコミットしできたり、ユーザーはより簡単にデータ変更を管理できるようになります。
 
  • 多段な変換処理も実装できる
    • 1段階目はリネームや重複排除といった処理を行い、2段めで複数のデータソースを結合するような複数の流れを管理できるようにする
  • Githubとの連携強化
    • 現在はdbtのモデルクエリを露出させてしまっているが本来的には隠蔽して、保存をしたら裏側でgithubにコミット、そしてPRを作れると良さそう
  • 変換のコンポーネントの拡充
    • 結合
    • 集計・計算
    • 集約

まとめ

dbtとGUIベースのデータ処理実装により、データモデリングとクレンジングのプロセスを大幅に簡素化し、より多くの人がデータに触れ、価値を創出できるようにすることを目指しています。これは、データを活用するすべてのビジネスにとって、大きな一歩を意味すると考えています。

お誘い

そんな自分が所属している10Xのデータサイエンス&エンジニアリング部(通常DSE)で一緒に働きませんか?データ基盤やデータプロダクト作りをしてみたいという方ぜひカジュアル面談からでもOKなので応募お待ちしています。
このエントリーをはてなブックマークに追加