注: 以下の翻訳の正確性は検証されていません。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