データ統合コアコンセプトストリーム

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

ストリーム

データセットと同様に、ストリームはデータが Foundry に登録されてから下流のシステムで処理されるまでのデータの表現です。ストリームは、持続的な「ホットバッファ」とファイルシステムによってバックアップされた「コールドストレージ」の両方で保存される行の集合を包むものです。Foundry ストリームを使用する利点は、Foundry データセット(ブランチング、バージョン管理、権限管理、スキーマ管理など)と同じプリミティブを提供しつつ、データの低レイテンシビューも提供することです。

ストリームは本質的にテーブル形式で、したがって本質的に構造化されています。それらは Avro などのオープンソース形式で保存され、行自体に関するメタデータと共に保存されます。このメタデータはスキーマとしてストリームと一緒に保存されます。

ストリームストレージ

ホットバッファ

レコードが Foundry ストリームに流れ込むと、それらはストリームを読み取ることをサポートするすべての下流アプリケーションで低レイテンシで利用可能なホットバッファに保存されます。このホットバッファは、低レイテンシの変換と利用可能性を可能にするために重要です。それはデータ摂取に対して少なくとも一度のセマンティクスを提供し、プラットフォーム内でのデータ処理に対してオプションの正確に一度のセマンティクスを提供します。

コールドバッファ

Foundry ストリーム内のすべてのデータは、数分ごとにホットバッファからコールドストレージに移されます。このプロセスを「アーカイブ」と呼び、データを標準的な Foundry データセットとして利用可能にします。これは、Foundry アプリケーションがストリーミングデータを操作できることを意味します。それがホットバッファからリアルタイムでデータを処理しない場合でも。Foundry ストリームの データセットビューは、プラットフォーム内の標準的な Foundry データセットと全く同じように動作します。

ストリーム処理

ストリームからデータを読み取る

低レイテンシが有効化された Foundry 製品は、データのハイブリッドビューを読み取ることができます。ホットストレージとコールドストレージの両方からデータを読み取ることで、製品はデータの完全なビューを提供することができます。このビューは、製品にホットストレージにまだ存在する低レイテンシのレコードと、コールドストレージに移送された古いデータへのアクセスを提供します。このように、Foundry ストリームは、ホットストレージの低レイテンシとコールドストレージの低コストの両方の利点を持つことができます。

トランザクション

標準的な Foundry データセットとは異なり、ストリームはストリーム自体に固有のトランザクション境界を持たない。代わりに、各行はその自身のトランザクションとして扱われ、状態は行ごとに追跡されます。これにより、ストリームは詳細なレベルで読み取ることができ、Foundry がバッチングやポーリングを必要とせずにプッシュベースの変換をサポートすることができます。

パーティション

高いスループットを維持するために、Foundry は入力ストリームを複数のパーティションに分割して並行処理します。ストリームを作成するとき、スループットスライダーを通じて我々が作成するパーティションの数を制御することができます。データがパーティション化されているにもかかわらず、ストリームへのすべての読み取りと書き込みは単一のパーティションがあるかのように動作します。この動作は、Foundry ストリームの消費者と生産者にデザインの透明性を提供します。

特定のストリームの追加パーティションごとに、ストリームが処理できる最大スループットが増加します。良いヒューリスティックは、各パーティションがスループットを約 5mb/s 増加させるということです。

サポートされるフィールドタイプ

Foundry ストリームは Foundry データセットと同じデータタイプをサポートしています。これには以下が含まれます。

  • BOOLEAN
  • BYTE
  • SHORT
  • INTEGER
  • LONG
  • FLOAT
  • DOUBLE
  • DECIMAL
  • STRING
  • MAP
  • ARRAY
  • STRUCT
  • BINARY
  • DATE
  • TIMESTAMP