Slide 1

Slide 1 text

© Finatext Holdings Ltd. What's New about Data Engineering 高橋 裕人 2025年6月25日

Slide 2

Slide 2 text

© Finatext Holdings Ltd. ● DataEngineering関連 新機能/追加機能紹介 ● Snowflake Workspace & dbt Projects on Snowflake ● Standard Warehouse – Generation 2 (Gen2) & Snowflake Adaptive Compute ● Snowflake Openflow ● まとめ 2 アジェンダ

Slide 3

Slide 3 text

© Finatext Holdings Ltd. 今回の発表内容には、Private Preview中の機能も含まれているため、 実際に一般公開されるまでに 発表内容とは異なる仕様に変更される可能性があります。 3 Announce

Slide 4

Slide 4 text

© Finatext Holdings Ltd. 4 DataEngineering関連の新機能・機能追加 ● Snowflake Workspace ● dbt Projects on Snowflake ● Standard Warehouse – Generation 2 (Gen2) ● Snowflake Adaptive Compute ● Snowflake Openflow ● pandas on Snowflake with hybrid execution ● Snowpipe Streaming with high-performance architecture ● Dynamic Tables enhancements ● Snowflake infrastructure management using Terraform ● Snowflake Data Project

Slide 5

Slide 5 text

© Finatext Holdings Ltd. 5 DataEngineering関連の新機能・機能追加 ● Snowflake Workspace ● dbt Projects on Snowflake ● Standard Warehouse – Generation 2 (Gen2) ● Snowflake Adaptive Compute ● Snowflake Openflow ● pandas on Snowflake with hybrid execution ● Snowpipe Streaming with high-performance architecture ● Dynamic Tables enhancements ● Snowflake infrastructure management using Terraform ● Snowflake Data Project

Slide 6

Slide 6 text

© Finatext Holdings Ltd. 6 Snowflake Workspace & dbt Projects on Snowflake

Slide 7

Slide 7 text

© Finatext Holdings Ltd. 7 Snowflake Workspace

Slide 8

Slide 8 text

© Finatext Holdings Ltd. Snowsightに導入された新しいファイルベースの統合開発環境(IDE) 8 Snowflake Workspaceとは? 2025年6月にPreview機能としてリリースされたSnowsightで利用できるIDE ユーザーが初めてWorkspaceにアクセスすると、Snowflake内部でユーザー固有のデータベースを自動的に作成される 【機能】 ● ファイルベースのコンテンツ管理 ○ SQL、ノートブック、Python、パイプラインプロジェクトなど複数のファイルタイプにおけるコードの作成・ 管理が可能 ● Git連携 ○ 既存のGitリポジトリと直接連携して、ファイルの追加、変更、削除、ブランチ操作が可能 ● Query History ○ クエリ履歴をエディタ上で確認することができ、特定のファイルごとにフィルタリングして検索することも可能 ● Secondary roleを有効にしないと利用できない

Slide 9

Slide 9 text

© Finatext Holdings Ltd. 9 Snowflake Workspaceとは? ファイルベースの コンテンツ管理 クエリの編集 アカウント内の オブジェクトの検索 ワークシートの参 照・編集 結果の表示・比較 クエリの履歴表示

Slide 10

Slide 10 text

© Finatext Holdings Ltd. 10 dbt Projects on Snowflake

Slide 11

Slide 11 text

© Finatext Holdings Ltd. 11 dbt Projects on Snowflakeとは? Snowflake Workspace上で直接dbtプロジェクトの構築・実行・監視が可能になります! What's New: Scaling Data Pipelines with SQL, dbt Projects, and Python から拝借

Slide 12

Slide 12 text

© Finatext Holdings Ltd. dbt Projects on Snowflakeとは? Snowflake Workspace上で直接dbtプロジェクトの構築・実行・監視が可能になります! What's New: Scaling Data Pipelines with SQL, dbt Projects, and Python から拝借

Slide 13

Slide 13 text

© Finatext Holdings Ltd. dbt Projects on Snowflakeの機能 13 dbt Projects on Snowflakeとは? ● dbtコマンドの実行 ○ dbt deps, dbt compile, dbt run, dbt testなどのdbtコマンドをWorkspace環境から直接実行できる ■ compile, test, deps, show, list, run, build, seed, snapshot, run-operation ● Compiled SQLの表示 ● DAG(Directed Acyclic Graph)によるモデル間の依存関係の可視化(リネージュ表示) ● Snowflakeオブジェクトとしてデプロイ ○ dbtプロジェクトをSnowflakeオブジェクトとしてデプロイすることができ、スケジューリングやガバナン ス管理(権限管理)が可能 ● dbtの実行ログ、トレーシングの表示

Slide 14

Slide 14 text

© Finatext Holdings Ltd. 14 UIイメージ(Workspace) What's New: Scaling Data Pipelines with SQL, dbt Projects, and Python から拝借

Slide 15

Slide 15 text

© Finatext Holdings Ltd. 15 UIイメージ(Compile) What's New: Scaling Data Pipelines with SQL, dbt Projects, and Python から拝借

Slide 16

Slide 16 text

© Finatext Holdings Ltd. 16 UIイメージ(Workspace) What's New: Scaling Data Pipelines with SQL, dbt Projects, and Python から拝借

Slide 17

Slide 17 text

© Finatext Holdings Ltd. UIイメージ(Logging & Tracing) What's New: Scaling Data Pipelines with SQL, dbt Projects, and Python から拝借 Snowflake Trailによる telemetry機能

Slide 18

Slide 18 text

© Finatext Holdings Ltd. 18 Snowflake Workspace & dbt Projects on Snowflake:まとめ 開発者がデータモデリングやデータ品質向上といった本質的な業務に集中できるように! ● Snowflakeネイティブの環境でdbtの開発・実行・監視ができるようになり、開発環境のセットアップが容易になる ○ 新規プロジェクト参画者の初期の環境セットアップにかかる工数も削減される ○ ローカル環境の環境セットアップでアレルギーが出てしまう開発者に対するdbt活用のハードルが下がると思う (願望) ● dbtの実行を制御するために、Stepfunctionsなどの外部のオーケストレーションサービスを利用していたが、 Snowflake内でスケジュール実行を行うことができる ● これまで、リネージュを確認するために、dbt docsを生成したり、ホスティングしたdbt docs HTMLを参照していた が、SnowsightのUI上で画面遷移することなくリネージュを確認することができる

Slide 19

Slide 19 text

© Finatext Holdings Ltd. Standard Warehouse – Generation 2 (Gen2) & Snowflake Adaptive Compute

Slide 20

Slide 20 text

© Finatext Holdings Ltd. Standard Warehouse – Generation 2 (Gen2)

Slide 21

Slide 21 text

© Finatext Holdings Ltd. 2025年5月5日にGeneral availabilityされ、アナリティクスとデータエンジニアリングワークロードのパフォーマンス向 上に焦点をあてて、より高速なテーブル操作が可能になった ※ AWSとAzureの一部の商用リージョンでのみ利用可能(AWS Asia Pacific (Tokyo)は利用可能) 【パフォーマンス報告】 ● 2025年5月2日までの過去12か月間で、スループットが2.1倍高速化 ● 特にDelete/Merge/Updateといった処理においては4.4倍高速化 ● 特にスキャン量が多く、集計処理が多いクエリで顕著な性能向上が見られる 【コスト】 ● 従来のウェアハウスと比較して、AWSでは1.35倍、Azureでは1.25倍のコストがかかる ● パフォーマンスの向上により、クエリの実行時間が大幅に短縮されるため、コスト効率が向上する可能性もあり 21 Standard Warehouse – Generation 2 (Gen2)とは? 現在のSnowflake標準仮想ウェアハウスのパフォーマンスアップグレード

Slide 22

Slide 22 text

© Finatext Holdings Ltd. 22 Standard Warehouse – Generation 2 (Gen2)とは?

Slide 23

Slide 23 text

© Finatext Holdings Ltd. 23 Standard Warehouse – Generation 2 (Gen2)とは? 設定方法 ● CREATE WAREHOUSEまたはALTER WAREHOUSEコマンドでRESOURCE_CONSTRAINT = STANDARD_GEN_2を 指定することで設定(2025/6/24時点では、Snowsight上で実行できないため、SQLコマンドでの実行が必要) ● 既存のWarehouseをGen2に変換するには、WarehouseをSuspendする必要がある

Slide 24

Slide 24 text

© Finatext Holdings Ltd. Snowflake Adaptive Compute

Slide 25

Slide 25 text

© Finatext Holdings Ltd. 25 Snowflake Adaptive Computeとは? Snowflakeが自動で最適なWarehouseのサイズでクエリを実行してくれます!

Slide 26

Slide 26 text

© Finatext Holdings Ltd. 26 Snowflake Adaptive Computeの概要 Snowflakeが自動的に最適なリソースを選択し、クエリを適切なサイズのクラスターにルーティングしてくれる 2025/6月現在プライベートプレビューで提供されている 【利点】 ● 運用の簡素化 ○ ユーザーがWarehouseのサイズ、クラスター数、自動サスペンド/レジューム期間といったインフラの選択 について考える必要がない ○ 基盤管理者によるWarehouseの作成・変更の作業リードタイムがなくなる ● クエリ内容に基づいたリソースのルーティング ○ オプティマイザーが各クエリプランに必要十分なCPUとメモリを割り当てる ● コスト効率 ○ ウェアハウスの余剰リソースを最大限に活用し、コストを抑えつつパフォーマンスを向上させる ○ ただ、一部の顧客のプレビュー体験ではコスト削減が見られず、むしろ増加する可能性が示唆された報告が ある(オプティマイザーがパフォーマンスに敏感にリソースを割り当てるため、非クリティカルなクエリで もより大きなウェアハウスが使われてしまう)

Slide 27

Slide 27 text

© Finatext Holdings Ltd. 27 Snowflake Adaptive Computeの構成 Adaptive Compute に渡されたクエリははまず共有クラスターのプールに送られる。 そのクエリの内容やクラスターの空き状況などに基づいて、そのクエリをどのリソースで実行すべきかを判定し、最適な リソースへとルーティングする

Slide 28

Slide 28 text

© Finatext Holdings Ltd. ● warehouse_credit_limit ○ ウェアハウスが消費できる1時間あたりのクレジット上限 ○ この上限に達している場合、そのクエリはキューイングされる ● target_statement_size ○ ウェアハウスサイズを動的に割り当てる際に基準となるサイズ ○ システムはこれを基準にクエリのサイズに基づいて使う計算リソースをスケールアッ プしたりスケールダウンしたりする 28 Snowflake Adaptive Computeの設定値

Slide 29

Slide 29 text

© Finatext Holdings Ltd. 29 warehouse_credit_limit

Slide 30

Slide 30 text

© Finatext Holdings Ltd. 30 target_statement_size

Slide 31

Slide 31 text

© Finatext Holdings Ltd. 31 Snowflake Adaptive ComputeとGen2 Warehouse:まとめ ● Gen2 ○ スキャン量が多く、集計処理が多いクエリを実行する必要があり、パフォーマンスの 改善が顕著な場合 ○ 毎回同じような大規模なワークロードを実行する場合 ○ 細かいチューニングなども含め自分でやりたい場合 ● Adaptive Compute ○ 大規模で複数のワークロードを実行する場合 ○ 複数のUserから非同期的に多様なクエリが実行される場合

Slide 32

Slide 32 text

© Finatext Holdings Ltd. Snowflake Openflow

Slide 33

Slide 33 text

© Finatext Holdings Ltd. 33 多様なデータソースからSnowflakeへデータを移動させるためのプラットフォームで、 「ELT」のなかの「EL」の部分を管理するツール Snowflake Openflowとは?

Slide 34

Slide 34 text

© Finatext Holdings Ltd. 34 Snowflake Openflowの構成 ● 基盤として、オープンソースのApache NiFiをベースに作成されている ● 二つのデプロイ方法(data plane:実際 にパケットの転送を行う) ○ Deployed in Snowflake ■ Private Preview ■ SPCS上にデプロイ ○ Deployed in Customer VPC (BYOC: Bring Your Own Carrier) ■ GA ■ 自社のVPC内に実行環境を デプロイ

Slide 35

Slide 35 text

© Finatext Holdings Ltd. 35 Deployed in Customer VPC の構成 ● BYOCでランタイムを構築する際、SnowflakeのUI上からCloudformationのyamlをダウンロードすることができ、 そのyamlファイルをそのままデプロイすることで構築することができる ● 作成されるリソースは以下 ○ Secrets Manager ○ VPC ○ サブネット ○ Internet Gateway ○ Route Table ○ Nat Gateway ○ Elastic IP ○ EC2インスタンス ○ EC2 Instance Profile ○ EC2 Instance Connect Endpoint ○ IAM Role ○ S3:TerraformStateBucket

Slide 36

Slide 36 text

© Finatext Holdings Ltd. 36 Snowflake Openflow:デモンストレーション パイプライン開発者が、新しくデータソースからSnowflakeにデータロードしてみた (Googleスプレッドシート to Snowflake)

Slide 37

Slide 37 text

© Finatext Holdings Ltd. 37 Snowflake Openflow:まとめ ● Snowflakeへのデータロードをネイティブにサポートされることで、これまでサードパーティのETL/ELT ツールが担ってきた領域をSnowflake上でワンプラットフォームで実現できる可能性が示された ● GUIの操作感やパイプラインの運用管理など実際の運用については、検討が必要だが個人的にはこれから のアップデートが楽しみ ● 構造化データおよび非構造化データのE(抽出)=> L(ロード)部分をOpenflowで管理し、T(変換)部 分を構造化データに対してはdbt、非構造化データに対してはSnowflake Cortex AIを活用しSnowflake ネイティブ機能でELTパイプラインの管理が完結

Slide 38

Slide 38 text

© Finatext Holdings Ltd. まとめ

Slide 39

Slide 39 text

© Finatext Holdings Ltd. 39 まとめ

Slide 40

Slide 40 text

No content