メダリオンアーキテクチャを実現するDatabricksによって進化したSalesNowのデータ基盤
株式会社SalesNow / reonah
データエンジニア / 従業員規模: 11名〜50名 / エンジニア組織: 10名以下
利用プラン | 利用機能 | ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
---|---|---|---|---|
Premium | NoteBook, Workflow, SQL Warehouse | 10名以下 | 2022年7月 | B to B |
アーキテクチャ
![アーキテクチャ図](https://cdn.findy-tools.io/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbHNCIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--c2c147711fd486532232b195e0215b97f92ff362/focus_data.drawio.png?disposition=inline)
導入の背景・解決したかった問題
導入背景
会社について
SalesNowでは、従来のBtoBセールスの働き方を根本から変革し、社会の生産性の向上を実現させるべく、"SaaS + Database を軸とした企業データベース" 「SalesNow」(https://top.salesnow.jp) を展開しています。
扱うデータは"企業に関する様々な情報"で、それを独自に収集/蓄積した後、加工/価値化し、SalesNowというサービスを通じてユーザ様へ提供するというのが、おおまかなデータの流れです。
ツール導入前の課題
創業当初よりAWSを利用しており、Databricks導入以前は以下の構成でした。
- データの永続化:Amazon Aurora PostgreSQL(以降、Aurora PostgreSQL)
- データの加工:AWS EC2(以降、EC2)+ cron
データチェックのためにはAurora PostgreSQLへ接続が必要なことに加え、サービス影響がない時間を狙って分析クエリを実行する必要があるといった運用面での苦労もありました。
EC2+cronでのデータ処理においても、依存関係があるような複雑な処理ができず運用に難を抱えていました。
また、扱うデータ量や種類が増えるにつれて、EC2での処理の速度や金銭コスト面でも課題が顕在化していました。
目指していた状態
サービスの成長に伴い、扱うデータ量や種類が増えることが予測されたので、"スケーラブルなデータ基盤"を作り上げることが一番の目的でした。
また、"非構造化データ"(法的・技術的に認められる範囲で、Webクローリングし取得したデータなど)も扱うため、取得したデータの加工/価値化をできるだけシンプルに行いたい希望がありました。
選定理由
"非構造化データ"の加工/価値化をできるだけシンプルに行いたい希望に対し、Databricks社が提唱している"メダリオンアーキテクチャ"がマッチしていました。この"メダリオンアーキテクチャ"を最もシンプルに実現できるのがDatabricksだったため、採用に至っています。
導入の成果
データの永続化にAmazon S3(以降、S3)を追加し、データの加工/価値化にDatabricksの各機能を利用するように変更しています。(一部AWS Fargate for Amazon ECSも併用しています。)
どのような成果が得られたか
Databricks Warehouse/Dashboards/Notebookらにより、従前のAurora PostgreSQLで生じていた運用面での課題はクリアされました。
また、Databricks Workflowsにより、EC2+cronの構成で課題となっていたデータ加工の運用難や処理速度の課題も解決しました。
Databricksのコンピュートは柔軟にスケール可能なため、データ量や種類の増加にも対応できるようになり、金銭/運用双方の面でコストも下がっています。
導入に向けた社内への説明
上長・チームへの説明
導入にあたって、経営層と対話しました。
開発チームへの理解が深く、現状の課題等を含めた導入背景をすんなり理解してもらえたことや、データ基盤の強化等に積極的に投資していることもあり、ブロッカーなく進めることができました。
活用方法
主な使い方は以下のとおりです。
- ビジネスメンバー(1,2名)によるビジネス的指標の確認:アドホック
- エンジニアメンバー(3,4名)によるデータエンジニアリング:毎日
- ビジネス+エンジニアメンバー(3,4名)によるLLM等の検証:アドホック
よく使う機能
- SQL Warehouse/Dashboards:ビジネス/エンジニア問わず各指標(ビジネス指標やDatabricks Usage Cost)確認に幅広く使用
- Notebook:データエンジニアリングやLLM検証等で利用
- Workflow:定期バッチ処理で利用
ツールの良い点
以下の3つがありがたく感じています。
Unity Catalog によるデータ+AIに関する包括的なマネジメント(ユーザ管理、データ管理、アクセス制御らが1つにまとまっているおかげで、データの整理とアクセス管理がシンプル。)
Notebookの使用感(変数エクスプローラ、対話型デバッガ、AIアシスタント連携など開発を助けてくれる機能が豊富。)
サーバレス対応(サーバ起動時間レス、コスト管理も容易に。)
![](https://findy-tools.io/public_images/article/salesnow_insert1.png)
ツールの課題点
あえてあげるとすると、以下の2点からくる、"とっつきづらさ"のようなものはあるかもしれません。
- 機能の豊富さ
- 機能追加の速さ
例えば、「以下について知りたいけど、手を出せずにいる」という相談を受けたことがあります。
- マネージドサービスプリンシパルとは
- WorkflowsとDelta Live Tablesの違い
- Dashboards(現Legacy Dashboards) と Lakeview Dashboards(現Dashboards)の違い
相談できない、周囲に回答を持っている人間がいないケースでは、Databricks社のアーキテクトの方に相談すると懇切丁寧に教えていただけるのでオススメです。(月1程度の頻度で、オンラインQ&A会もやってくださっています。)
ツールを検討されている方へ
エンジニアだけでなくビジネスメンバーもうまく使いこなせており、データを利用した意思決定がスムーズになってきました。
機能の面で言えば、「データとAIに関することは何でもできる」と言っても過言ではないと感じます。
Apache Spark/Delta Lake/MLflow/Unity Catalogと主要な機能がオープンソースプロジェクトであるため、ロックインのリスクもあまり気にする必要がありません。
他製品との比較で困っている、課題に記載したようなとっつきづらさを感じられている場合は、ぜひDatabricks社の方に相談してみるのがオススメです。(自身も経験あり。)
今後の展望
Databricksの真価を発揮させるためにも、直近は以下のようなことに取り組む予定です。
- Delta Table Liquid Clustering、Photon導入によるコンピュートコスト削減
- Unity Catalog(データカタログ)の整備/拡充によるデータ関連の意思決定補助
- Unity Catalog(アクセスコントロール)の適正化によるガバナンス強化
蓄積している大量のデータの価値をより高めるためには、AI/MLも不可欠なので、それらの機能の活用にも取り組んでいきます。
株式会社SalesNow / reonah
データエンジニア / 従業員規模: 11名〜50名 / エンジニア組織: 10名以下
よく見られているレビュー
株式会社SalesNow / reonah
データエンジニア / 従業員規模: 11名〜50名 / エンジニア組織: 10名以下
レビューしているツール
目次
- アーキテクチャ
- 導入の背景・解決したかった問題
- 活用方法