ストリーミング インジェストとスキーマ変更
クラスター ノードは、 ストリーミング インジェストを通じてデータを取得するデータベースのスキーマをキャッシュし、パフォーマンスとリソースの使用を向上させます。 ただし、スキーマの変更がある場合は、更新の遅延につながる可能性があります。
Eventhouse ノードは、 ストリーミング インジェストを通じてデータを取得するデータベースのスキーマをキャッシュし、パフォーマンスとリソースの使用を向上させます。 ただし、スキーマの変更がある場合は、更新の遅延につながる可能性があります。
スキーマの変更とストリーミング インジェストが同期されていない場合は、スキーマ関連のエラーや、テーブル内の不完全なデータや歪んだデータなどのエラーが発生する可能性があります。
この記事では、一般的なスキーマの変更について説明し、これらの変更時のストリーミング インジェストに関する問題を回避するためのガイダンスを提供します。
スキーマの変更
スキーマの変更の主な例を次に示します。
- テーブルの作成
- テーブルの削除
- テーブルへの列の追加
- テーブルからの列の削除
- テーブルの列の再入力
- テーブルの列の名前を変更する
- 事前に作成されたインジェスト マッピングの追加
- 事前に作成されたインジェスト マッピングの削除
- ポリシーの追加、削除、または変更
ストリーミング インジェストを使用してスキーマの変更を調整する
スキーマ キャッシュは、データベースがオンラインの間保持されます。 スキーマの変更がある場合、システムはキャッシュを自動的に更新しますが、この更新には数分かかることがあります。 自動更新に依存している場合は、調整されていないインジェスト エラーが発生する可能性があります。
ノードのスキーマ キャッシュを明示的にクリアすることで、伝達遅延の影響を軽減できます。 ストリーミング インジェストのフローとスキーマの変更が調整されている場合は、エラーとそれに関連するデータの歪みを完全に排除できます。
ストリーミング インジェスト フローとスキーマの変更を調整するには:
- ストリーミング インジェストを停止します。
- 未処理のストリーミング インジェスト要求がすべて完了するまで待ちます。
- スキーマの変更を行います。
- 1 つまたは複数の .clear キャッシュ ストリーミング インジェスト スキーマ コマンドを発行します。
- 成功するまで繰り返し、コマンドの出力ですべての行が成功を示します
- ストリーミング インジェストを再開します。