注:本記事は(2021年8月11日)に公開された(Flowcode Scales Its Data Engineering and Data Science Workloads with Snowflake)を翻訳して公開したものです。

QR技術を専門とするFlowcode社は、ブランドと消費者を直接つなぐオンラインツーオフライン(O2O)企業です。現在は、1万社もの企業がFlowcodeを利用してデザイン性が高くプライバシーにも準拠し、データとアナリティクスに支えられた高度なQRコードを生成しています。

QRコードがスキャンされるごとに、ブランドにはカスタマーに関する有益なインサイトが提供されます。Flowcodeは、エンタープライズプランの一部として顧客対応アナリティクスを提供するため、QRコードを通じたユーザーとの何百万に上るやり取りを取り込み、分析しています。その後、この豊富なデータは社内のデータサイエンス活動に活用されます。

Flowcodeは、オフラインの世界とオンラインの世界とをつなぐ方法を模索する中で、急激な成長に対応するためにSnowflakeに白羽の矢を立てました。

小規模のデータエンジニアリングチームに負担をかけずにデータサイエンティストをサポートする

以前は、機械学習(ML)ワークフローの実行とアナリティクスの情報源として主にDatabricksが使用されていました。少人数のデータサイエンティストチームはこのツールを使いこなしていましたが、時間の多くをモデルの構築ではなく、データ準備のための環境管理と規模調整に費やしていました。一方、このチーム以外のスタッフは、ほとんどがSQLしか扱えなかったことから、データへのアクセスやセルフサービス式のアナリティクスの実行に苦労していました。

データサイエンティストがより多くの時間をモデルの構築に割くことができるよう、MLチームと強力なパートナーシップを構築し、新たにデータエンジニアリングチームが編成されました。しかし少人数のチームがデータに関する社内需要に応え続けることは難しく、既存のSparkベースのパイプラインの規模拡張とメンテナンスは時間がかかり、データへのタイムリーかつ確実なアクセスも困難な状況に陥っていました。Flowcode社のデータテクニカルリーダー、Uttam Kumaran氏は、「環境管理の複雑さが足かせとなっていました」と語っています。

無駄を最小限に抑えながらデータエンジニアリングの生産性を向上させる

Flowcodeは、データオペレーションをシンプル化し技術スタッフが付加価値の高い作業に集中できるようにするために、Snowflake on Azureを選択しました。Snowflakeを利用することで、Flowcodeは構造化データと半構造化データのシングル・ソース・オブ・トゥルース(信頼できる唯一の情報源)を提供するだけでなく、社内外両方に向けてセルフサービス式アナリティクスへの道を整えることができました。Snowflakeがあれば、手動での調整なしで、Flowcodeがプレミアムプランで提供する高度アナリティクスとレポート機能を利用する何千もの同時実行ユーザーの需要に合わせて、シームレスに規模を調整できます。

 「Snowflakeのおかげで、当社のデータサイエンティストが機械学習に使用しているものと同じデータプラットフォーム上で、外部のお客様向けに高度なアナリティクスのための戦略的プロダクトサービスを提供できるようになりました。」

—Uttam Kumaran氏、データテクニカルリーダー、Flowcode社

中核的なビジネス機能にできる限り集中するため、FlowcodeはFivetranコネクターを利用することで、データの読み込みを合理化し、カスタムETLの必要性を減らしています。さらにSnowflakeのセキュアなデータシェアリングにより、Flowcodeは、パイプラインの管理やデータセットの移動なしに、パートナーとのデータシェアリングをライブで実行できます。Flowcodeに組み込まれたLookerビジュアライゼーション機能をSnowflakeでサポートすることで、何千もの同時実行ユーザーに対して顧客対応アナリティクスを提供できます。「実際の中核的なビジネスに集中できるのは、何と言っても、従来のDBA活動の多くを肩代わりしてもらえるからです」と、Kumaran氏は述べています。

データサイエンティストとのコラボを増やす

Flowcodeのデータサイエンティストは、Snowflakeベースのアーキテクチャによって提供されるSQLベースのフレームワークにより、高品質なデータにアクセスし、モデルの構築に集中できます。Kumaran氏は、「一元化されたソースから提供される高品質なデータにアクセスし、使い慣れたツールを使用してモデルをトレーニングすることができます」と語っています。

トレーニングデータセットを構築するには、データサイエンティストはSpark用のSnowflakeコネクターにアクセスしてデータを準備します。このコネクターを利用することで、SparkのオペレーションはSQLクエリに変換されてからSnowflakeで実行されるため、パフォーマンスが向上します。モデルの本番稼働後は、Snowpipeを用いた連続的なデータ読み込みにより、Snowflakeへのモデルデータの取り込みが自動化されるため、コラボレーションを増やし、データエンジニアリングへのハンドオフを合理化できます。Kumaran氏は次のように述べています。「私のチームの仕事には、データの取得だけではなく、機械学習によって得られたインサイトをアナリストに提供し、アナリストがビジネス課題を解決できるようにすることも含まれています。」

MLモデルデータによる顧客対応アナリティクスの強化

Snowflakeを利用してほぼリアルタイムに有意義なインサイトを提供することは、Flowcodeにとって最優先事項です。Kumaran氏は次のように述べています。「私たちが新たにデータポイントを取得するたびにMLモデルにフィードする情報が強化され、カスタマーのデータプロダクトにより豊かなインサイトを提供できるようになります。」 

Kumaran氏は、Snowflakeの直接共有機能について、パートナーエコシステムを越えてFlowcodeのデータをさらに民主化する機会と捉えています。アカウント対アカウントのデータシェアリングにより、エンタープライズプランのカスタマーは、わずかな労力で即時かつ安全にデータにアクセスできるようになります。

FlowcodeによるSnowflakeの利用が拡大すると、データエンジニアリングチームはアジャイル性を維持しつつより多くの価値を提供できるようになるでしょう。Kumaran氏は、「SnowflakeはFlowcodeにとって素晴らしいパートナーです。なぜなら各データチームのニーズをサポートしつつ、ビジネス成果を高める、拡張性があり使いやすいプラットフォームを提供してくれるからです」と述べています。

SnowflakeデータクラウドFlowcodeについて詳しくは、それぞれのサイトをご覧ください。