データインジェストは、あらゆるデータパイプラインの最初のステップです。ソースシステムからデータを収集し、クエリが可能なウェアハウス、レイク、または分析プラットフォームに移動するプロセスを指します。
データインジェストが失敗すると、ダッシュボードは古くなり、消込は機能せず、不完全なデータで機械学習モデルがトレーニングされることになります。さらに悪いことに、不良データは収益に悪影響を及ぼす可能性があります。25% 以上の組織が、データ品質の低さにより年間 500 万ドル以上の損失を被っていると報告しています。
以下では、データインジェストとは何か、主なデータインジェストパターン、ほとんどのパイプライン投資を牽引するユースケース、およびチームが直面する課題について詳しく見ていきます。
主なポイント
データインジェストは、ソースシステムからデータを移動し、保存とクエリが可能な保存先に格納します。ビジネスが選択するパターンによって、データの鮮度が決まります。
信頼性の高いインジェストは 2 つの要素に依存します。完全性 (存在するべきすべてのレコードが存在すること) と適時性 (最初のユーザーが必要とする前にデータが届くこと) です。
最新の決済代行業者は、Snowflake、Redshift、Amazon S3 などの保存先にデータを直接同期できます。これにより、ビジネスはカスタムエンジニアリングやサードパーティのコネクターベンダーなしで、全取引履歴にアクセスできます。
データインジェストは、ソースシステムからデータを抽出し、保存、クエリ、使用が可能な保存先に読み込むプロセスです。ウェアハウス、データレイク、分析プラットフォームにデータを提供します。
決済のコンテキストにおいて、データインジェストには、POS (point-of-sale) システム、eコマースウェブサイト、決済ゲートウェイなどのさまざまなソースからデータを収集することが含まれる場合があります。
データインジェストの主な種類は何ですか?
データの鮮度がどの程度必要か、そしてデータがどの程度古くなると役に立たなくなるかが、ビジネスにとって最適なデータインジェスト方法を決定します。
検討すべき主な方法は次のとおりです。
バッチインジェスト
バッチインジェストはスケジュールに従ってデータを抽出し、一括で移動します。レイテンシは数時間から数日であり、多くのワークロードで問題ありません。財務の締め、週次の役員レポート、過去の傾向分析 (チャーン分析など) では、通常、すべてこの種類のデータを使用できます。
ストリーミングインジェスト
ストリーミングインジェストは、イベントが生成されると同時に処理し、レイテンシを数秒以下に抑えます。インフラの要件はより厳しく、通常は Apache Kafka やクラウドネイティブの同等システムを使用し、コンシューマーアプリケーションは順序通りではないイベントや少なくとも 1 回の配信を処理する必要があります。データの価値が、不正利用のシグナル、リアルタイムの在庫、リアルタイムのパーソナライゼーションを必要とする場合、一般的に適切な選択です。
変更データキャプチャ
変更データキャプチャ (CDC) は、ソースデータベースのトランザクションログを読み取り、変更されたものだけを発行し、繰り返しのテーブル全体読み取りのオーバーヘッドなしに数分単位のレイテンシ範囲で着信します。複雑さと鮮度の両方でバッチとストリーミングの中間に位置し、リレーショナルシステムからほぼリアルタイム (NRT) の正確さが必要な場合に特に役立ちます。
一般的なデータインジェストのユースケースは何ですか?
データインジェストは、ダウンストリームの何らかのプロセスを提供するために存在します。選択するパターンは、データの使用方法に大きく依存します。
一般的なデータインジェストのユースケースは次のとおりです。
ビジネスインテリジェンス (BI) レポート: 収益、コンバージョン、チャーン、サポートボリュームは、チームが毎日確認するダッシュボードに提供されます。インジェストの鮮度が、そのデータがどれだけ最新であるかを決定します。
財務レポート: 月末および四半期末の締めは、財務チームがクエリを実行できるウェアハウスに、完全で正確な取引データが届くかどうかに依存します。ここでは、鮮度と同じくらい完全性が重要です。
顧客と製品の分析: 顧客関係管理 (CRM) および取引データと組み合わせた行動イベントデータは、製品チームと成長チームに全体像を提供します。インジェストは、これらのソースシステムを接続し、組み合わせたデータセットに対してクエリを実行できるようにするものです。
不正利用の監視: 12 時間前のデータに基づいて行われた決定は、多くの場合、無関係なデータに基づいた決定です。不正利用の検出は、ストリーミングまたはほぼリアルタイムの CDC に追加の労力を費やす価値があるケースの 1 つです。
機械学習: トレーニングパイプラインには過去のデータが大量に必要であり、推論パイプラインには最新の機能が必要です。インジェストは両方に機能します。バッチインジェストはトレーニングセットに使用でき、低レイテンシパターンは機能ストアに使用できます。
優れたデータインジェストとはどのようなものですか?
データが完全かつ予定どおりに到着すると、アナリストはすべてのレポートの前に、自らの数値を疑ったり、消込チェックを実行したりする必要がなくなります。
優れたデータインジェストは完全性を約束します。存在するべきすべてのレコードが存在します。適切に設計されたインジェストレイヤーは、重複排除、ギャップの埋め合わせ、遅れて到着したレコードの捕捉を、それらがレポートエラーになる前に処理します。
データは必要な時にも届きます。それは必ずしも可能な限り速くという意味ではなく、ユーザーが必要とする前にデータが届くということです。
データインジェストの主な課題は何ですか?
インジェストは、複数のソースシステムにわたって実行するまでは簡単に思えます。以下のデータインジェストの課題は、常に問題を引き起こします。
セキュリティとデータへのアクセス
インフラを通じて機密データ (金融取引、個人が特定される情報、決済記録など) を移動すると、すべてのホップでデータへのアクセスが発生します。決済データをサードパーティの ETL (抽出、変換、読み込み) コネクター経由でルーティングするチームは、そのベンダーにすべての取引履歴へのアクセスを許可することになります。それが許容されるかどうかは、ベンダー契約、コンプライアンス要件、リスク許容度によって異なります。
スケール
ボリュームは時間の経過とともに増加します。ソースシステムのスキーマ変更は、すぐには表面化しない形でパイプラインを破壊する可能性があります。パーティショニング戦略、増分ロード、スキーマ展開の処理は、インシデントになる前に検討する必要があるエンジニアリングの問題です。
断片化
多くの組織において、インジェストは意図的に設計されたシステムではなく、整理されていないものです。データチームが Salesforce 用のコネクターを構築し、エンジニアリングチームが本番データベース用に別のコネクターを構築し、財務チームには誰かが毎週月曜日にアップロードする CSV (カンマ区切り) エクスポートがあるとします。その結果、監視が難しく、信頼することがさらに難しい、重複した一貫性のないデータパイプラインが生まれます。
品質の障害
パイプラインは、ジョブのエラーやダッシュボードの空白化など、明らかな形で壊れることがあります。しかし、障害が隠れていることもあります。たとえば、アップストリームのスキーマ変更によって列が削除されると、ダウンストリームのテーブルのデータが欠落し始めたり、API (アプリケーションプログラミングインターフェイス) のレート制限によって、完了しているように見える部分的な読み込みが発生したりする可能性があります。行数、値の範囲、参照整合性をチェックする監視がなければ、気付くほどひどく壊れるまで知ることはできません。
データ取り込みは ETL や ELT とどう違うのか?
データ取り込み、ETL、ELT は同じパイプラインの重複する部分を表しますが、意味は異なります。
- データ取り込み: データを送信元からターゲットシステムに移動する操作です。転送と配信に関するものです。転送中にデータが変更されるかどうかは考慮されません。
- 抽出、変換、ロード (ETL): データを送信元から抽出し、途中で (歴史的には専用の変換ツールやステージングサーバーで) 変換して、クエリを実行できる最終的な形式で宛先にロードするアーキテクチャです。変換はデータが到着する前に行われます。
- 抽出、ロード、変換 (ELT): このアーキテクチャは、最後の 2 つのステップが逆になります。生データが最初にウェアハウスに読み込まれ、そこで構造化クエリ言語 (SQL) や data build tool (dbt) などのツールを使用して変換が行われます。これは、大規模で重い変換を実行できるほどクラウドウェアハウスが安価で強力になったことで実用的になり、現在では最新のデータスタックの主流のパターンとなっています。
決済代行業者はデータインジェストをどのようにサポートしますか?
Stripe Data Pipeline は、Stripe からウェアハウスまたはクラウドストレージの保存先への仲介システムを介さない直接同期です。既存の Stripe ユーザーが利用でき、Snowflake、Redshift、Databricks などの保存先に接続します。設定にコードの記述やコネクターの設定は不要です。
Stripe Data Pipeline がデータインジェストをサポートする仕組みは次のとおりです。
データの鮮度: 同期は継続的に実行され、ほとんどのデータは関連するイベントの数時間以内に利用可能になります。
過去のデータ: 接続すると、接続日以降のデータだけでなく、Stripe の全履歴にアクセスできます。
データの完全性: Stripe Data Pipeline には、入金の消込や残高サマリーなどの事前構築済みの財務レポートに加えて、月間経常収益 (MRR) や不正利用分析などの一般的なユースケース向けに厳選されたデータセットが含まれています。サードパーティベンダーはこれらのデータソースを同期できないため、手動のエクスポートやデータの再構築が必要です。
ベンダーエクスポージャーの削減: Stripe からウェアハウスへの直接同期であるため、決済データがサードパーティベンダーのインフラを通過することはありません。
この記事の内容は、一般的な情報および教育のみを目的としており、法律上または税務上のアドバイスとして解釈されるべきではありません。Stripe は、記事内の情報の正確性、完全性、妥当性、または最新性を保証または請け合うものではありません。特定の状況については、管轄区域で活動する資格のある有能な弁護士または会計士に助言を求める必要があります。