[2024年3月27日号]個人的に気になったModern Data Stack情報まとめ

2024.03.27

さがらです。

Modern Data Stack関連のコンサルタントをしている私ですが、Modern Data Stack界隈は日々多くの情報が発信されております。

そんな多くの情報が発信されている中、この3週間ほどの間で私が気になったModern Data Stack関連の情報を本記事でまとめてみます。

※注意事項:記述している製品のすべての最新情報を網羅しているわけではありません。私の独断と偏見で気になった情報のみ記載しております。

Modern Data Stack全般

Data Council Austin '24

現地時間2024年3月26日~3月28日で、Data CouncilがAustinにて開催されます。

各Modern Data Stackに関わる企業のCEOやCTOが多く登壇されます。

例年通りであれば数カ月後にセッションの録画も公開されるはずですので、気になる方はこちらのチャンネルを確認することをおすすめします。

MDS Fest 2.0

Secoda社主催で、MDS Fest 2.0が現地時間2024年4月8日~12日に開催されます。

Secoda社のブログでも、どのようなセッションが行われるか言及がされています。

Data Extract/Load

Fivetran

FivetranがAzure Tokyoリージョンで使用できるように

FivetranはこれまでAWSとGoogle CloudのみTokyoリージョンで処理を行うことができましたが、新しくAzure Tokyoリージョンに対応するようになりました!

参考までに、下記ブログはAWSのTokyoリージョンに対応したときのブログですが、Fivetranでのリージョンの切替方法も載せておりますので、参考になると嬉しいです。

Fivetranのdbt TransformationでTargetを自由に切り替えられるように

Fivetranのdbt TransformationではこれまでTargetを1つしか設定できませんでしたが、Targetを事前に定義してスケジュール設定の際に任意のTargetを選択できるようになりました。

Fivetran・GPT-4・LangChain・Streamlit・ChromaDBによるRAGを用いたAIチャットボットの実装例

Fivetranの公式ブログにて、Zendeskのデータを用いてチケットの内容に質疑応答できるAIチャットボットの実装例が公開されていました。

技術スタックとしては、Fivetran・GPT-4・LangChain・Streamlit・ChromaDBを使用しているようです。下記のリポジトリからコードも確認できるため、気になる方はぜひご覧ください。

Data Warehouse/Data Lakehouse

全般

「はじめようApache Icebergハンズオン」が公開

@_Bassariさんにより、Apache Icebergの初学者向けのチュートリアルとして「はじめようApache Icebergハンズオン」が公開されました。

コンテナを動かせる環境であればすぐにトライすることが可能です、興味がある方はぜひ取り組んでみてください。

SnowflakeとDatabricksの比較記事

SELECT社により、SnowflakeとDatabricksを各ワークロード別にどういった機能が提供されているか、まとめられた記事が出ていました。

私もDatabricksのことは正直そこまで詳しくないため、Snowflakeのどの機能がDatabricksでいうどの機能に該当するのかをざっと理解するのにはとても役立つ記事だと感じました。

Snowflake

Snowflake CLIがパブリックプレビュー

Snowflake CLIがパブリックプレビューとなりました。Snowflake CLI を使用すると、開発者はSnowflakeのStreamlit、Snowflake Native App Framework、Snowpark Container Services、Snowparkなどのワークロード全体で、Snowflake上で実行されるアプリを作成、管理、更新、表示できます。

「あれ、SnowflakeのCLIってSnowSQLあったよね?」となる方もいるかもしれません。下記は公式Docからの引用ですが、「SnowSQLはテーブルに対するDDL・DMLに特化」「Snowflake CLIはSnowparkやアプリケーション開発に関わるワークロードに特化」という違いがあります。

SnowSQL is the command-line client for connecting to Snowflake to execute SQL queries and perform all DDL and DML operations, including loading data into and unloading data out of database tables.
The Snowflake CLI command-line client, in contrast, focuses primarily on managing workloads and applications that connect to Snowflake. Snowflake CLI lets you locally run and debug Snowflake apps, with the following benefits:

Snowflake CLIについてはQuickstartも用意されているため、気になる方はこちらもぜひお試しください。

SnowflakeでのRAGを用いたアプリ開発のアーキテクチャとQuickstart

Snowflakeの公式ブログにおいて、SnowflakeでRAGを用いたアプリ開発のアーキテクチャについて説明された記事が出ていました。

あわせて、RAGを用いたAIチャットボットを構築するQuickstartも公開されています。(2024年3月27日時点では、VECTOR型などプライベートプレビューの機能も使っているためご注意ください。)

Snowflakeでの新しいIaCツール「Titan」

Snowflakeでの構成管理用のIaCツールとしてはTerraformやschemachangeなどがありますが、新しくTitanというサービスが公開されています。

このTitanですが、Y CombinatorのW24で採択されていることもあって注目度が高まっています。

Snowflakeの使用状況に対して機械学習を用いた異常検出を行えるOSS「SnowPatrol」

Astronomer社が、Snowflakeの使用状況に対して機械学習を用いた異常検出を行えるOSS「SnowPatrol」を公開しました。Airflowを用いたMLOpsの実装例としても使えると言及しています。

今後、3つのブログに分けてSnowPatrolについての使い方を紹介するようです。気になる方はぜひチェックしましょう。(下記リンク先は1本目です。)

Iceberg Tablesの解説・構築記事

phData社により、Iceberg Tablesの解説と、実際にIceberg Tablesの定義を行いPySparkやDatabricksを介して参照する方法についてまとめた記事が出ていました。

Snowpark ML Model Registryを用いたSnowflakeでのMLOpsに関するブログ

弊社のブログとなりますが、パブリックプレビューとなったSnowpark ML Model Registryを用いてMLOpsがどのように実践できるかをまとめた記事が出ています。

Snowflakeはこれまで学習したモデルの管理が辛いところがあったのですが、Snowpark ML Model Registryのおかげでかなり楽になったと思います!

Snowday 2023でデモされたSPCSを用いたアプリのコードが公開

Snowday 2023では、Snowflake Cortex LLM functionsを取り入れたReactアプリをSnowpark Container Servicesで動かしているデモが行われていました。

このデモに関するコードが公開されていました!これで誰でもすぐに試すことができますね。

BigQuery

増分マテリアライズドビューでLEFT OUTER JOINとUNION ALLをサポートするように ※パブリックプレビュー

BigQueryの増分マテリアライズドビューで、新しくLEFT OUTER JOINとUNION ALLをサポートする機能がパブリックプレビューとなりました。

Databricks

2023年のPySparkのアップデートまとめ記事

Databricks社のブログにおいて、2023年のPySparkのアップデートをまとめた記事が出ていました。

主にApache Spark 3.4および3.5で追加された機能についてまとめられています。

MotherDuck/DuckDB

Differential Storageの発表

MotherDuckがDuckDBベースのサーバーレスなDWHを構築するために、新しいストレージソリューションとして「Differential Storage」を発表しました。

複数のSnapshotをレイヤー分けして管理するアーキテクチャとなっており、これによりゼロコピークローンやタイムトラベルが実現できるようになるとのことです。(ゼロコピークローンはリリース済)

MotherDuck/DuckDBとdbtを用いたデータエンジニアリングのサンプル

MotherDuck/DuckDBとdbtを用いたデータエンジニアリングのサンプルプロジェクトがブログを介して公開されていました。

個人的に「DevはS3に出力し、ProdではMotherDuckに出力する」というTargetの切り分けが他のDWHではない考えだったので、印象的でした。

Data Transform

dbt

Tokyo dbt Meetup #8が開催

2024年3月19日にTokyo dbt Meetupが開催されました。

incremental modelの詳解、dbt testを実際に現場で運用する際の取り組み、Elementaryとdbtを連携させたデータ品質可視化と運用改善、という3つのトピックについて発表がありました。

以下、私が確認できた範囲で登壇資料へのリンクを載せておきます。

私の中では特に「incrementalモデルの理解を深める」のセッションでの、incremental modelのCI実行時にcloneを用いるテクニックは大変参考になりました。このCI実行時のcloneに関する公式ドキュメントとしては下記のリンクが該当します。

dbt Cloud CLIのメリットと今後のロードマップ

dbt公式ブログより、dbt Cloud CLIのメリットと今後のロードマップについてまとめられた記事が出ていました。

メリットとしては、deferを用いた差分Build、dbt Meshを用いた別プロジェクトのModel参照、dbtのバージョン管理をdbt Cloud側で行える、といった言及がされています。

今後のロードマップとしては、dbt Cloud CLIからProd環境のジョブの呼び出し、VS Code拡張機能のサポート、dbt Expoloerで開発ブランチの内容を表示、といった機能アップデートについて言及されています。

dbtを用いたData Quality Frameworkの構築

dbt公式ブログより、「Building a data quality framework with dbt and dbt Cloud」というタイトルでdbtとdbt Cloudを用いてどのようにデータ品質を保持していくかがまとめられた記事が出ていました。

dbt-core 1.8でリリースが予定されているUnit Testsについても言及があります。

dbt上でのSnowflake Cortex LLM Functionsの活用例

dbtのブログより、dbt上でのSnowflake Cortex LLM Functionsの活用例について書かれた記事が出ていました。

Snowflake Cortex LLM Functionsを使うことで、簡単にテキストの要約や翻訳をSQLの関数ベースで行うことができます。私もSnowflake Cortex LLM Functionsについては一度試していますので、こちらの記事もぜひご覧ください。

dbt projectの情報をRAGを用いて生成AIに渡すことができる「Ragstar」

dbtのレポジトリ(dbt project)をドキュメントとして探索し、マッチした情報をプロンプトとして生成AIに渡すことができるRagstarというOSSがあることを以下の検証記事で知りました。

Business Intelligence

Looker

Looker 24.4のリリースノート

Looker 24.4のリリースノートが公開されました。

今回も細かな修正が多いリリースとなっています。

Data Catalog

Atlan

Atlanが2023年にリリースした機能まとめ

Atlanが2023年にリリースした機能をまとめた記事が出ていました。

Atlan AI、Atlan Mesh、Snowflakeとのタグの双方向管理、人気のあるアセットの可視化、Metadata CI/CD、Excel及びスプレッドシートでのメタデータ管理、Microsoft Teamsとの連携、Monte CarloやSodaとの統合機能、など多くの機能がリリースされていることがわかります。

Data Activation (Reverse ETL)

Hightouch

新機能「Campaign Intelligence」を発表

Hightouchが新機能として「Campaign Intelligence」を発表しました。

私も下記のブログと動画を見ただけですが、マーケティングキャンペーンに関する分析をHightouch上で可能になる機能のようです。具体的には、可視化しての分析、LLMを用いたチャットベースで問い合わせての分析、ということが出来そうです。

Data Quality・Data Observability

Monte Carlo

Monte Carloの外部評価まとめ

Monte Carloが、Gartner、G2Crowdなどの第三者組織・ユーザーから高く評価されていることをまとめた記事が出ていました。

Data Contracts

全般

Data Contract Specification

私も@tall_tree_desuさんの投稿で知ったのですが、「Data Contracts Specification」という形で公開されたData ContractsのYAMLの仕様と、このData Contractsを使うためのツール「Data Contract CLI」「Data Contract Studio」「Data Mesh Manager」について、まとめられたサイトが公開されています。

「Data Contract CLI」はOSSとして公開されており、上述のData Contracts Specificationに沿っているかテストを行えるツールとなっています。

「Data Mesh Manager」が商用のツールで、Data ProductsとData Contractに特化してData Meshを構築する際の管理に役立つツールとなっています。以下のサイトからデモサイトを触ることもできますので、ぜひお試しください。

Data Orchestration

全般

MWAA、Prefect Cloud、Dagster Cloudについての価格体系の違いをまとめたブログ

Orchestra社が、MWAA、Prefect Cloud、Dagster Cloudについての価格体系の違いをまとめたブログを公開していました。

Orchestra社のブログですのでOrchestra自体に関する言及には注意が必要ですが、各製品の価格体系をざっと知る上では参考になると思います。

Dagster

「next generation of Dagster Cloud」に関するウェビナーを2024年4月に開催

Dagster社が、「next generation of Dagster Cloud」に関するウェビナーを現地時間2024年4月17日に開催予定です。

内容としては、Dagsterに関する新機能を中心に発表されるようです。

Orchestra

Free Tier版を公開

Orchestraが、Free Tier版を公開しました。Orchestraはブログも頻度高く更新されており連携可能な製品も日々増えているため、個人的にもどこかで試してみたい製品です。

ECSで立てたdbt-coreの実行環境をOrchestra経由で実行する方法

Orchestraのブログで、ECSで立てたdbt-coreの実行環境をOrchestra経由で実行する方法が紹介されていました。

実行結果をリネージとして見るためにrun_results.jsonにサフィックスをつけてS3にアップロードするなど結構凝ったことをしていますが、ECSでdbt-coreの実行環境を立てる際の参考にもなりそうです。