Cells: データパイプラインインジェスチョン

Cells アーキテクチャは、データ分析に使用するために Postgres から Snowflake にデータをエクスポートする現在の データパイプライン に大きな影響を与えます。このデータパイプラインは多くのユースケースを満たしています(例:SAAS サービスピング、Gainsight メトリクス、SAAS プラットフォームのレポーティングと分析)。

1. 定義

2. データフロー

現在のデータパイプラインは、CDC メカニズムを通じてデータを取得できないことにより(データ品質の問題を引き起こす)制限されており、Postgres データベースをポーリングして新しいレコードと更新されたレコードを探すか、特定のテーブルのデータを完全に抽出することで動作しており、多くのオーバーヘッドが発生します。現在、データパイプラインは main データベースと ci データベースの両方のスナップショットから作成された 2 つのインスタンスに対して実行されます。これは本番データベースへの負荷を避けるために行われています。Cells アーキテクチャでは Postgres インスタンスが増えるため、現在のパイプラインはすべての Postgres インスタンスからデータを取得するようにスケールできません。今後のデータパイプラインの要件は以下の通りです:

  • すべての Cell からすべての CDC(挿入、更新、削除)をキャプチャし、N 個の Cell に対して自動的にスケールするプロセスが必要です。
  • 重大な障害や、データ異常の根本原因分析の場合に、データのキャッチアップができるデータベースインスタンスへの(直接または間接の)アクセスが必要です。
  • データインジェスチョンを遅延させるインシデントをアラートするための監視が必要です。

3. 提案

4. 評価

4.1. メリット

4.2. デメリット