[2023年11月1日号]個人的に気になったModern Data Stack情報まとめ

2023.11.01

さがらです。

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

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

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

Modern Data Stack全般

The True Cost of Data Debt

よく「データ負債」といった形で、溜めたデータや構築したパイプラインやダッシュボードが負債化してしまうという話を聞きますが、このデータ負債についてなぜ起きるか、どのように対処すべきか、ということがまとめられた記事が出ていました。データ負債が起因で企業の破産や損失に繋がってしまった事例についても述べられています。

データ負債に対する対策として本記事では、GDPRなどの規制要件を満たすためのData Governance、データの品質を定期的・定量的に観測するためのData Observability、既存のデータソースの急なスキーマ変更に対処するためのData Contracts、という3つが述べられています。

Why data integration will never be fully solved, and what Fivetran, Airbyte, Singer, dlt and CloudQuery do about it

オーケストレーションのサービスであるKestraのブログにおいて、data ingestion(データロード)における課題はどういったものがあるか、そしてFivetran、Airbyte、Singer、dltなどのサービスがどのようにdata ingestionに取り組んでいるか、がまとめられた記事が出ていました。

Singer、CloudQuery、dltHubなど、まだ日本ではあまり聞かないOSSについても言及がされているので、最近のOSSのdata ingestionはどういったものがあるのかを知る上でも参考になると思います。

Data Extract/Load

Fivetran

Fivetranがdbt LabsのTechnology Partner of the Yearに選出、dbt Cloudとの連携機能も発表

10月に行われたdbt Labs社の年次イベントCoalesceで、FivetranがTechnology Partner of the Yearに選ばれたと発表がありました。 Fivetranは多くのdbt用のパッケージを提供しておりますし、個人的にも納得です!

加えて、dbt CloudとFivetranを組み合わせる機能についても発表がありました。下記のブログの内容を見る限り、dbt CloudのジョブをFivetranのロード直後に実行することができそうです。

Data Warehouse/Data Lakehouse

Snowflake

Snowday 2023が現地時間2023年11月1日~11月2日に開催

Snowflake Summitとは別に、年次で開催されて新機能の発表などがあるSnowdayが2023年11月1日~11月2日に開催されます。

下記のHPのアジェンダを見る限り、Generative AIやアプリケーション開発周りについての言及があるため、新しい発表に期待したいですね!

SnowflakeがPonderを買収したことを発表

Snowflakeが「Ponder」という、PythonのOSSであるModinを管理している会社を買収したことを発表しました。

Modinですが、PandasやNumpyで開発したワークフローをSnowflakeやBigQueryなどのDWH上で動かすことができるようです。詳細なアーキテクチャは私もわかっていないですが、Snowpark for PythonやBigQuery Dataframesなどと何が違うかは気になりますね。

SnowflakeからExternal Network Accessを用いたSlackへメッセージを送る例

SnowflakeからExternal Network Accessを用いたSlackへメッセージを送る手順がまとめられた記事が出ていました。

実はSummit直後にSnowflake社の高田さんも同様の記事を書かれています!こちらも参考にしてみてください。

MotherDuck/DuckDB

DuckDBのCSVのファイル構成・スキーマ自動検出機能についての解説記事

DuckDBにはCSVをスキャンする時、CSVの区切り文字や引用符の自動識別、データ型の自動検出、ヘッダーの自動検出を行う機能が備わっており、その機能を用いた際の動作速度や今後の改善したい点についてまとめられた記事が出ていました。

Data Transform

dbt

dbt Coalesce 2023が開催

現地時間10月16日~10月19日で、dbt Coalesceが開催されました。

基調講演で発表された新機能については、下記のブログが参考になります。

また、dbt Labs社のCEOであるTristan氏も「The Analytics Engineering Roundup」で、Coalesceでの発表内容についての補足やdbt Labs社がOSSから商用化に移行するにあたっての歩みについてまとめてブログにしています。

MetricFlow統合後のdbt Semantic Layerが一般提供となり、Tableauやスプレッドシートからの参照もBeta版として提供開始

個人的に一番Coalesceの発表で嬉しかったのが、MetricFlow統合後のdbt Semantic Layerの一般提供です!

早速私も、MetricFlowの定義から、Tableauとスプレッドシートからの参照も試しています。

VersionsやContractsでガバナンスを効かせつつ複数のdbt project間でModel参照が可能となる「dbt Mesh」の発表

dbtの利用が拡大するにつれて複数dbt projectの運用が避けられない企業も増えてきたことを受けてか、VersionsやContractsでガバナンスを効かせつつ複数のdbt project間でModel参照が可能となる「dbt Mesh」の発表がありました。

併せて「dbt Explorer」という、dbt Cloud上でdbt projectを横断して各種オブジェクトの情報を検索・閲覧できる機能も追加されています。

私も試しているので、こちらもぜひ併せてご覧ください。

dbt Core 1.7に関する情報

まもなくリリースされるdbt Core 1.7について、dbt公式Docにおいてどのような変更があるかが書かれた記事が出ていました。

一番の目玉は、sourcefreshnessを用いたデータ鮮度を定義する際、loaded_at_fieldを定義しなくてもよくなる機能アップデートかと思います。(補足として、直近はSnowflakeのみテーブルのメタデータを参照してfreshnessを確認するようになり、他のDWHについてはテーブル更新のメタデータを管理する別テーブル参照させる機能の追加も予定しているようです。)

MetricFlowについても、measure定義後自動でmetricsを追加してくれるcreate_metric: trueオプションや、表示名を変更できるlabelオプションの追加などがありそうです。

Business Intelligence

Sisu Data

SisuがSnowflakeと協力することと、standaloneでの販売を停止することを発表

集計結果に対するドリルダウン分析を自動で行ったりと、詳細な分析をサポートしてくれる「Sisu」がSnowflakeと協力することと、standaloneでの販売を停止することを発表しました。(SnowflakeがSisuを買収したかどうかは明確な情報が出ていない状況です。)

Sisuは個人的にも気になっていた製品なので、今後の動向が気になりますね!!

Sisuについて知りたい場合は下記の動画が参考になります。

Lightdash

MetricFlow統合後のdbt Semantic LayerにLightdashが対応したことを発表

MetricFlow統合後のdbt Semantic LayerにLightdashが対応したことを発表しました。

下記のブログでは実際の手順やGifも掲載されているため、こちらぜひご覧ください。

Data Catalog

Select Star

dbtのModelを変更した時、影響のある下流のModelやダッシュボードを確認できる「dbt Impact Report」を発表

dbtでModelを変更した時、Pull Request発行時に影響のある下流のModelやダッシュボードを確認できる「dbt Impact Report」を発表しました。

この機能はGitHub Actionsを用いており、下記の公式Docから設定手順を確認することができます。

テーブルのスキーマ変更があったときに画面上で通知してくれる「Schema Change Detection」を発表

テーブルの作成・削除、カラムの新規作成・削除、カラムのデータ変更、といったスキーマ変更を検出し、Select Starの画面上で通知を行ってくれるSchema Change Detection」を発表しました。

下図のような形式で、スキーマ変更があったときにSelect Star上で通知をしてくれるようです。

OpenMetadata

OpenMetadataが1.2.0をリリース

OpenMetadataの最新バージョンとして、1.2.0がリリースされました。

個人的に気になったのは以下の機能です。

  • ElasticsearchやOpensearchのコネクタが新しくリリースされSearch IndexのメタデータをOpenMetadataに取り込めるように
  • 各種DWHのストアドプロシージャのメタデータをOpenMetadataに取り込めるように
  • Markdown形式でアセットに関するナレッジを蓄積・管理できるKnowledge Center機能のリリース(SaaS版のみ)
  • 使用されているアセットと使用されていないアセットの一覧を視覚化して分析できるCost Analysis Report機能のリリース(SaaS版のみ)

Data Activation (Reverse ETL)

Hightouch

Streaming Reverse ETLの発表

データが発生したらすぐにストリーミングによる取り込み・変換処理が行われ、Reverse ETLまでつなぐことができる「Streaming Reverse ETL」を発表しました。

Hightouchは「Events」というイベント収集の機能も提供しているためStreaming Reverse ETLと併せることで、リアルタイムにイベントデータを収集し、そのデータを元にHightouchのReverse ETLの機能でメール配信やMAツールでの配信などを即座に行うことが可能になります。

現時点ではSnowflakeのみで利用可能とのことですが、他のDWHでも近々提供が行われるようです。

Census

Live Syncの発表

Censusから「イベントデータのストリームが発生するKafka」あるいは「Snowflakeなどのストリーミング機能を備えるDWH」に直接接続し、収集したイベントデータを即座にCensusのReverse ETLの機能でメール配信やMAツールでの配信などを即座に行うことが可能になる、「Live Sync」を発表しました。

補足

Hightouchは「Streaming Reverse ETL」、Censusは「Live Sync」ということで類似した機能を同日に両企業が発表していますが、ブログを読む限りこの2機能には接続先に大きな違いがあります。

  • Hightouchの「Streaming Reverse ETL」
    • 接続先はSnowflakeなどのDWH
  • Censusの「Live Sync」
    • 接続先はストリーミングデータ処理を行うKafka、あるいはストリーム処理の機能を持つSnowflakeなどのDWH