Atlas Stream Processing には次の制限が適用されます。
一般
Atlas Stream Processing は、少なくとも 1 回のプロセシングのみをサポートします。
Atlas Stream Processing は水平スケーリングをサポートしていません。
Atlas Stream Processing は、
parallelism値を指定できるステージを除き、変換パイプラインステージに単一のコアを使用します。垂直オートスケーリングを有効にする場合は、プロセッサーに、またはストリーム処理ワークスペースの最大階層サイズとして
maxTierを設定する必要があります。どちらも設定されていない場合、プロセッサはエラーを返し、起動しません。垂直オートスケーリングをトリガーする CPU とメモリのしきい値は設定できません。 Atlas Stream Processing はこれらのしきい値を内部的に管理します。
ストリーム プロセッサの
state.stateSizeは、そのポッドで使用可能なRAMの 80% を超えることはできません。例、8 GBのRAMを備えたSP30階層のストリーム プロセッサの最大サイズは、6.4 GBです。いずれかのストリーム プロセッサのstate.stateSizeが使用可能なRAMの 80% に近づく場合は、プロセッサを停止して、より高い階層で再起動することを検討してください。ストリーム プロセッサがすでにストリーム処理ワークスペースで有効になっている最大階層で実行されている場合は、ストリーム処理ワークスペースの構成を調整して、上位階層のストリーム プロセッサを有効にすることを検討してください。ストリーム プロセッサが 80% の RAM のしきい値を超えると、
Worker out of memoryエラーで失敗します。各ストリーム プロセッサのstate.stateSize値はsp.processor.stats()コマンドで確認できます。詳しくは、「ストリーム プロセッサの統計を表示する」をご覧ください。Atlas Stream Processing パイプラインの定義は16 MB を超えることはできません。
Atlas Stream Processing
Organization Stream Processing Adminは、Atlas admin、Project Stream Processing OwnerProject Owner、 、または ロールを持つユーザーのみが使用できます。メソッドを使用して既存のストリーム プロセッサのオプションを上書きするには、
mongoshmongosh23バージョン..4 以降を使用する必要があります。例、sp.processor.start()を使用して、起動するプロセッサの階層を指定します。を使用してストリーム プロセッサを管理する方法の詳細については、「ストリーム
mongoshプロセッサの開発」を参照してください。
Aggregation Pipeline
Atlas Stream Processing は、Atlas で利用可能な 集計パイプライン ステージ のサブセットをサポートしており、保管中のデータで実行できる操作をストリーミング データに対して多数実行できます。 サポートされている集計パイプライン ステージの完全なリストについては、ストリーム集計 のドキュメントを参照してください。
Atlas Stream Processing は集計変数
$$NOW、$$CLUSTER_TIME、$$USER_ROLES、および$SEARCH_METAをサポートしていません。Atlas Stream Processing doesn't support writing BSON documents larger than
125 MBusing the $emit stage to an AWS S3 bucket.
Kafka接続
Apache Kafka $source ステージの場合、実行中のプロセッサの $source として機能するApache Kafkaトピックがパーティションを追加する場合、開始オフセットは auto_ffset_resetプロパティによって決定されます。
Apache Kafkaの場合、$source ステージはストリーム処理ワークスペース階層のパーティション制限の対象となります。ストリーム処理ワークスペース階層のパーティション制限を超えると、影響を受けるストリーム プロセッサは失敗します。追加のパーティションをサポートするには、ストリーム処理ワークスペースをアップグレードする必要があります。
Atlas Stream Processing では、他のコンシューマーと同じコンシューマー グループ内のApache Kafkaコンストラクターへの接続をサポートしていません。 Atlas Stream Processing で使用されるすべてのKafkaコンシューマーが専用のコンシューマー グループで実行されるようにします。
Apache Kafka接続の場合、Atlas Stream Processing は現在、次のセキュリティ プロトコルのみをサポートしています。
SASL_PLAINTEXTSASL_SSLSSL
SASLの場合、Atlas Stream Processing は次のメカニズムをサポートしています。PLAINSCRAM-SHA-256SCRAM-SHA-512OAUTHBEARER
の場合、Atlas
SSLStream Processing とのApache Kafkaシステムの相互 TLS認証用に次のアセットを提供する必要があります。認証局(デフォルトのApache Kafka CA 以外を使用している場合)
クライアントTLS 証明書
TLS 証明書に署名するために使用される TLS キーファイル
最初の同期
initialSync は、 _id 値が配列、正規表現、または未定義であるコレクションをサポートしていません。MongoDBは
_id値としてサポートしていません。If your collection's
_idvalues are default generated ObjectId values or orderedintorlongvalues,initialSyncachieves optimal performance. For other_idtypes,initialSyncmight take longer to complete because the values aren't stored in a predictable order. If the resume token is no longer on the oplog wheninitialSynccompletes, the processor enters a failed state to prevent data loss. To recover, restart the processor withresumeFromCheckpoint=false, which causesinitialSyncto run again. To learn more, see Checkpoints.Atlas Stream Processing は、
initialSyncがコピーしている間に、新しいドキュメントをパーティションに挿入できます。拡大するパーティションに対するクエリを中断するネットワーク障害により、コレクションのコピーフェーズが長引きになる可能性があります。initialSyncは、コレクションのコピーまたはキャッチアップ フェーズ中に変更イベントを読み取る場合、重複したドキュメントを挿入する可能性があります。 Atlas Stream Processing の少なくとも 1 回の処理保証で、この動作をカバーしています。コレクションの_id値がObjectId値または順序付けられたint値またはlong値ではない場合、コレクションをコピーするフェーズがより長く、より多くの変更イベントにまたがるため、重複が発生する可能性が高くなります。
フェイルオーバープロセッサー
Atlas Stream Processing は、次の構成を持つプロセッサーのみフェイルオーバー プロセッサーをサポートします。
Atlas ソースとシンク
Atlas ソースとApache Kafkaシンク
Atlas Stream Processing は、階層
SP10以上のプロセッサーのみフェイルオーバープロセッサーをサポートします。フェイルオーバープロセッサーで構成されたプロセッサーの場合、いつでもアクティブにできるプロセッサーは 1 つだけです。アクティブなプロセッサーのみを編集できます。