現代の社会では、イノベーションは何もない場所で起こるのではありません。コラボレーションは、テクノロジーの飛躍的進歩をより早く実現するのに役立ちます。たとえばAIの台頭は、データと開発のコラボレーションにかかっています。ソフトウェアエンジニアリングのワークロードは、強固なデータ基盤と深く絡み合っています。

SnowflakeのAIデータクラウドは、グローバルなデータチームの一員でも、単独の開発者でも、データと並行して開発タスク(アプリ、パイプライン、MLモデルの構築)を実行するのに役立つ単一のプラットフォームです。つまり、よりスムーズな生産とより良い結果を、単一のプラットフォームで実現します。私たちは、お気に入りのツール(pandasやノートブックなど)を使用できるようにし、作業の妨げとなる技術的な障壁を排除することで、より簡単かつより良いものにしています。

Snowflakeは、データワークロードにまたがって開発するための安全で合理化されたアプローチを提供し、コストの削減と外部ツールへの依存の緩和を実現します。これにより、開発がスピードアップし、データチームの満足度が高まります。発表内容を詳しく見ていきましょう。

SQLとPythonにまたがる開発の合理化

Snowflakeは、開発を簡素化し、ワークフローを促進するように設計された直感的なツールスイートをデータチームに提供します。このスイートは、Snowpark、ネイティブアプリ、StreamlitなどのSnowflake製品にまたがり、データで何でも構築できます。Snowflakeは、データエンジニア、データサイエンティスト、アプリ開発者のいずれであっても、堅牢な機能を維持しながらユーザーフレンドリーなエクスペリエンスを提供することを重視しています。

以下の機能により、プラットフォーム全体の開発がどのように合理化されたかをご紹介します。

  • パブリックプレビュー中(パブリックプレビュー中)のSnowflake Notebookでは、データチームがPython、SQL、Markdownをインタラクティブなワークスペースでシームレスに組み合わせることができます。データの探索と実験、結果の可視化、インサイトの共有、これらすべてを1か所で実行できます。ワークフローを合理化し、調査から実稼働までのデータジャーニーを加速。
  • Snowflakeコマンドラインインターフェイス(CLI)は、生産性を高め、CI/CDの自動化によりシームレスなDevOpsワークフローを実現することで、開発者に長年愛用されています。新しく改良されたSnowflake CLI(近日中に一般提供開始)では、大規模なアップグレードが行われます。コマンドが刷新され、複雑なSQLが非表示になり、操作がスムーズになりました。ネイティブアプリ、Snowpark、Snowflakeコンテナサービス、Streamlitのワークロードを簡単に構築、展開、実行できます。

Snowflakeの新しいPython API(近日中に一般提供開始)は、データパイプラインを簡素化し、pip install snowflakeを通じて簡単に利用できます。PythonでSnowflakeオブジェクトと直接対話。自動化かコーディングか、その選択は皆さん次第です。このAPIスイートは、タスク/DAG、Snowflakeコンテナサービス、テーブル、ウェアハウス、スキーマ、データベースをサポートします。

自動オーケストレーションによる宣言型でダイナミックなデータパイプラインの活用

また、Snowflakeは、Snowflakeタスク、ダイナミックテーブル、データベース変更管理(DCM)を発表します。これは、宣言型ベストプラクティスと自動オーケストレーションによって開発ワークフローを合理化するために設計された強力な新機能です。

Snowflakeタスクを改良し、パイプラインオーケストレーションとジョブスケジューリングを改善しました。Snowpark Python用Snowflakeマネージドコンピュートで、Python用サーバーレスタスク(プライベートプレビュー中)を使用してオーケストレーションを簡略化します。サーバーレスタスクフレックス(プライベートプレビュー)は、コストを最大で42%柔軟に最適化します。 ワークフローを高速化するには、10秒のレイテンシーのイベントドリブン型トリガータスク(PuPr)か、タスクスケジューリングの間隔を15秒に短縮する低レイテンシータスク(PrPr)を選択します。最後に、タスクバックフィル(プライベートプレビュー)は、タスクグラフ内のヒストリカルデータ処理を自動化します。

さらに、ダイナミックテーブルは、処理パイプラインのすべての段階で使用できる新しいテーブルタイプです。毎日更新する必要があるバッチデータでも、数分で処理する必要があるニアリアルタイムデータでも、ダイナミックテーブルを使用すると、構築、運用、進化が容易なデータパイプラインを作成できます。

現在、2,900社以上のお客様がダイナミックテーブルを使用しており、約200,000の動的テーブルが稼働しています(2024年4月現在)。また、ストリーミングデータ処理の低レイテンシー(10秒未満)のサポート(近日プライベートプレビュー開始、プライベートプレビュー中)や、SnowflakeマネージドIcebergテーブル(パブリックプレビュー中)のサポートの追加により、ダイナミックテーブルの使用も拡大しています。

このクイックスタートに従って、自分でダイナミックテーブルをテスト実行してください。データベース変更管理(DCM)からCREATEまたはALTER(PuPr)への移行により、Gitレポジトリ(またはステージ)から直接、Snowflakeオブジェクトにまたがる大規模な変更を簡単に宣言的に管理できます。DDLスクリプトをソース管理に保存すれば、Snowflakeが自動的に必要な変更(作成、変更、実行)を適用し、オブジェクト間で一貫性を維持します。これにより、複雑なサードパーティツールや面倒なステートファイルが不要となり、高品質の実稼働グレードのデータアプリケーションの構築に注力できるようになります。

プロトタイプから本番まで:Snowflakeによるワークフローの合理化

単独で作業することはなく、優れたデータ製品を構築するには、ワークロードにスケーラブルなインフラストラクチャーを確保しながら、さまざまなチームや部門とのコラボレーションを行う必要があります。これを簡単に実現するために、シームレスなコラボレーションのためのGit統合(パブリックプレビュー)、スケーラブルなデータ処理のためのSnowpark pandasへのアクセス、簡素化されたCI/CDワークフローを提供します。

Snowflakeは、GitHub、GitLab、Azure DevOps、Bitbucketと統合されています。コードを同期し、SQLスクリプトやSnowpark関数などをSnowflake内で管理できます。この最初のパブリックプレビューでは、Gitレポジトリ内のファイルへのアクセス、読み取り、書き込みができます。変更の記述やコラボレーションには、VS CodeなどのGitと統合されているツールを引き続き使用できます。

ローカルでpandasを実行している多くのデータチームは、実稼働のユースケースにおいて、低速のシングルスレッド実行と手痛いメモリ不足のエラーに直面しています。Snowflakeは、Snowparkの機能を継続的に拡張し、PythonユーザーがSnowflakeの伸縮性のある多言語処理エンジンを使用してスケーラブルなデータパイプライン、MLモデル、アプリなどを構築できるようにします。Snowparkは、Snowflake pandas APIのパブリックプレビューの開始により、分散型pandasサポートを追加しました。インポートステートメントを変更するだけで、開発者はSnowflakeのパフォーマンス、スケール、ガバナンスの恩恵を受けながら、自分の使い慣れたpandas構文を使用することができます。Snowflake NotebookとGitレポジトリを接続することで、プロジェクトのCI/CDセットアップを簡略化します。これにより、Snowflake CLI GitHubアクション をトリガーし、CLIコマンドを自動的に実行してCI/CDパイプラインをオーケストレーションできるようになります。実行履歴の結果を確認し、より迅速にデバッグ。当社の公開レポジトリで実際の動作をご覧ください。

さらに、ノートブックのスケジューラは、反復タスク、テスト実行、データ処理、モデルトレーニング、レポート生成を自動化し、チームが高レベルの分析に注力できるようにします。

詳細な可観測性:Snowflake Trailの紹介

Snowflake Trailをご紹介します。Snowflake Trailは、データ品質、パイプライン、アプリケーションに対する可視性を強化するキュレートされた豊富な可観測性機能で、開発者はワークフローを簡単に監視、トラブルシューティング、最適化できます。

Snowflake Trailでは、タスクとダイナミックテーブルの組み込み可観測性がSnowparkおよびSnowflakeコンテナサービスに拡張され、開発者はSnowparkコードとリソースの使用状況を可視化して、アプリやパイプラインの開発を迅速に診断およびデバッグできるようになります。追加のデータ転送や複雑な設定を必要としないログデータをSnowflake内に保持することで、開発者はメトリクス、ログ、分散トレースを使用してパイプラインやアプリを簡単に探索、管理し、ターゲットを絞ったエラーメッセージをアラートや通知ツールに送信することができます。何よりも、Snowflake TrailはOpenTelemetryの標準、スキーマ、オープンエコシステムの統合を念頭に置いて構築されています。Snowflakeのテレメトリ機能と通知機能は、Datadog、Grafana、Metaplane、PagerDuty、Slackなどの最も人気のある開発者ツールと統合されています。開発者がSnowflake内で直接監視およびトレースできるSnowsightを使用することもできます(サポートされているユースケースの場合)。

開始する

イノベーションとアクセシビリティに対するSnowflakeのコミットメントの背後で、私たちは、皆様と皆様の組織によるより合理化された実稼働への道筋を支援するツールをお届けできることを嬉しく思います。各機能の詳細は、対応するドキュメントをご覧ください。