データは、私たちがビジネスを遂行し、施設を設置し、私生活や職業人としての生活を管理する上での中心的存在です。ソフトウェアアプリケーション、ソーシャルメディア接続、モバイルコミュニケーション、またはさまざまな種類のデジタルサービスなど、形はどうあれ、ほぼすべてのインタラクションでデータが生成されます。これらのインタラクションの数に、接続する人々、デバイス、インタラクションポイントの数を掛けてみてください。その規模は膨大で、かつ日々急拡大しています。

このデータはすべて、膨大な可能性を秘めていますが、それを生かすことは必ずしも簡単ではありません。幸いなことに、今や経済的で伸縮性の高いクラウドサービスが新たなデータ管理オプションを可能にしていますが、その一方で、このデータすべてを捉えて稼働させるためのデータパイプラインの構築に関して、新たな要件が生じています。パイプラインをうまく構築すれば、何年分もヒストリカルデータを蓄積し、徐々にパターンやインサイトを明らかにしたり、データを継続的にストリーミングして最新のアナリティクスに活用したり、その他にもたくさんのことが期待できます。

しかし、すべてのデータパイプラインが今日のビジネス要件を満たすわけではありません。アーキテクチャを設計するときはもちろん、データプラットフォームや処理機能を決めるときは、慎重に選択する必要があります。データの保管や処理に使用する基盤システムに制約のあるパイプラインは要注意です。これらは、ビジネスインテリジェンス(BI)活動やデータサイエンス活動に不要な複雑さをもたらす恐れがあります。例としては、システムが必要とするフォーマットであるという理由だけで、ローデータをParquetに変換するステップを追加しなければならない、あるいはシステムがJSONなどの半構造化データをネイティブ形式では処理できない、などが挙げられます。

それでは、不要な処理を避けつつ、データパイプラインを合理的で信頼できるものにするにはどうすればよいでしょうか。これから、データパイプラインを簡単かつ効率的に構築する上で役立つ5つのガイドラインをご紹介します。 

1. すべてのデータパイプラインを批判的な目で検証する。 ビジネス価値を付加することなく、単にデータの物理的レイアウトを最適化するためだけに存在しているものはないでしょうか。ある場合、データをより良く、よりシンプルに処理し、管理する方法がないか検討してください。

2. 拡大し続けるデータ要件について考える。 現在と将来のニーズを率直に評価し、それらのニーズと、既存のアーキテクチャやデータ処理エンジンが提供できる現実とを比較します。従来のテクノロジーに縛られることなく、シンプル化する機会を模索してください。

3. 隠れた複雑さを根絶する。ご使用のデータスタックでは何種類のサービスを実行しているでしょうか。これらのサービス全体では、どれだけ容易にデータにアクセスできるでしょうか。ご使用のデータパイプラインは、異なるデータサイロ間の境界線を回避する必要がないでしょうか。十分なデータ保護、セキュリティ、およびガバナンスを確保するために、作業の重複や複数のデータ管理ユーティリティの実行が必要となっていないでしょうか。ステップの追加が必要なプロセスを特定し、それらをシンプル化するには何が必要かを見極めます。規模にとって複雑さは敵であることを覚えておいてください。

4. コストに注意する。 ご使用の中核データパイプラインサービスでは使用量ベースのビジネスモデルが採用されているでしょうか。新しいパイプラインを一から構築することが困難だったり、特別なスキルが必要だったりしないでしょうか。それらのシステムを手動で最適化するために、テクノロジーチームはどれくらいの時間を費やしているでしょうか。データとデータパイプラインを管理し、統制するためのコストも含めておくようにしてください。


5. 付加価値のあるパイプラインを構築する。単にデータを変換するために作られたパイプラインとそれに付随するシステムからは、アナリティクスプロセスの一部としてインサイト(つまり付加価値)が得られることはありません。データパイプラインまたはクエリオペレーション内でデータの変換が起こるか否かに関わらず、そのデータを結合、グループ化、集計、およびフィルタリングするために必要なロジックは基本的に同じです。これらのコンピュートをパイプライン内の「アップストリーム」に移動させることで、ユーザーが同じまたは類似のクエリを繰り返し発行したとき、パフォーマンスが加速し、処理コストが償却されます。アナリティクスプロセスの一部としてインサイトを創造する方法を模索しましょう。


これらのベストプラクティスについてさらに詳しく知りたい場合は、新しいホワイトペーパでわるProcessing Modern Data Pipelines(最新データパイプラインの処理)を参照してください。ここでは、最新のデータパイプラインを構築する際の技術的な課題を掘り下げ、Snowflakeがニアゼロメンテナンスのパフォーマンス自動化を提供することで課題の対処にいかに貢献しているかについて説明しています。

Snowflakeのカスタマーは、ストレージ層から構造的に分離されながらも深く統合され、最適なパフォーマンスとパイプライン実行を実現する、強力なデータ処理エンジンのメリットを享受しています。Snowflakeのプラットフォームは複数のデータタイプをネイティブにサポートしているほか、連続的なデータパイプラインの構築、さまざまなデータワーカーに向けたデータ変換のサポート、機械学習の運用開始、厳選されたデータセットのシェア、その他のタスクのサポートなど、幅広いデータエンジニアリングワークロードに対応しています。実際の導入事例を知りたい方は、Snowflakeを使用して複雑なデータ処理の時間を24時間以上からわずか9分以下に短縮したGenuine Parts Companyの例をご覧ください。