具体化されたビューの制限事項と既知の問題
具体化されたビュー ソース
- 具体化されたビューのソース テーブル:
- update ポリシーを使用してデータを直接取り込むテーブル、またはクエリ コマンドから最もするテーブルである必要があります。
- 移動エクステントまたは配置エクステントの使用は他のテーブルからマテリアライズド ビューのソース テーブルへの
setNewIngestionTime
プロパティを移動エクステント コマンドの一部として使用する場合にのみサポートされます (詳細については、.move エクステントおよび .replace extents コマンドを参照してください)。 - マテリアライズド ビューのソース テーブルにエクステントを移動しますが、
setNewIngestionTime
を使用は失敗し、次のいずれかのエラーが発生する可能性があります。Cannot drop/move extents from/to table 'TableName' since Materialized View 'ViewName' is currently processing some of these extents
.Cannot move extents to 'TableName' since materialized view 'ViewName' will not process these extents (can lead to data loss in the materialized view)
.
- 移動エクステントまたは配置エクステントの使用は他のテーブルからマテリアライズド ビューのソース テーブルへの
- update ポリシーを使用してデータを直接取り込むテーブル、またはクエリ コマンドから最もするテーブルである必要があります。
- 具体化されたビューのソース テーブルでは、 IngestionTime ポリシー が有効になっている必要があります。 このポリシーは既定で有効になっています。
- 具体化されたビューで
lookback
を使用する場合 ( サポートされるプロパティを参照)、ingestion_time()
はマテリアライズド ビューのクエリに保持する必要があります。 mv-expandやpivot プラグインなどの演算子はingestion_time()
を保持しないため、lookback
を持つ具体化されたビューでは使用できません。 - 具体化されたビューのソース テーブルは、 restricted ビュー アクセス ポリシーを持つテーブルにすることはできません。
- 最初の具体化されたビューが集計型でない限り、マテリアライズド ビューを別の具体化されたビューの上に作成
take_any(*)
できません。 「具体化されたビュー上の具体化されたビュー」をご覧ください。 - 具体化されたビューは、 外部テーブルに対して定義することはできません。
警告
- 具体化されたビューのソース テーブルの変更、またはデータの変更によって、具体化されたビュー クエリと想定される具体化されたビューのスキーマとの間の互換性が失われた場合、具体化されたビューはシステムによって自動的に無効化されます。
- このエラーを回避するには、具体化されたビュー クエリを決定論的にする必要があります。 たとえば、、bag_unpack または pivot プラグインの場合、非決定論的スキーマになります。
arg_max(Timestamp, *)
集計を使用する場合、およびautoUpdateSchema
が false の場合、ソース テーブルに対する変更によってスキーマが一致しなくなる可能性もあります。- ビュー クエリを
arg_max(Timestamp, Column1, Column2, ...)
として定義するか、autoUpdateSchema
オプションを使用して、このエラーを回避します。
- ビュー クエリを
autoUpdateSchema
を使用すると、ソース テーブル内の列が削除されたときにデータが失われ、元に戻せなくなる可能性があります。- MaterializedViewResult メトリックを使用して、具体化されたビューの自動無効化を監視します。
- 非互換性の問題を修正した後、 可能な具体化されたビュー コマンドを使用して、ビューを明示的に再度有効にする必要があります。
ソース テーブルに取り込まれた、またはソース テーブルから削除されたレコードの影響
- 具体化されたビューで処理されるのは、ソース テーブルに取り込まれた新しいレコードのみです。 ソース テーブルから削除されたレコードは、 data purge/soft delete/drop extents を実行するか、または 再入ポリシー またはその他の理由により、具体化されたビューには影響しません。
- 具体化されたビューには、ソース テーブルの保持ポリシーに依存しない、独自の保持ポリシーがあります。 具体化されたビューには、ソース テーブルに存在しないレコードが含まれている場合があります。
フォロワー データベース
- 具体化されたビューは、 follower データベースでは作成できません。 フォロワー データベースは読み取り専用で、具体化されたビューには書き込み操作が必要です。
- 具体化されたビューは、 データベース ショートカットでは作成できません。 データベース ショートカットは読み取り専用であり、具体化されたビューには書き込み操作が必要です。
- リーダー データベースで定義されている具体化されたビューは、リーダーの他のテーブルと同様に、フォロワーからクエリを実行できます。
- リーダー クラスターを使用して、フォロワー データベースの具体化されたビューを監視します。 詳細については、「フォロワー データベースの 具体化されたビューを参照してください。
- ソース Eventhouse を使用して、ショートカット データベースの具体化されたビューを監視します。 詳細については、「 Monitor 具体化されたビュー」を参照してください。
その他
- 具体化されたビュー上でカーソル関数を使用することはできません。
- 具体化されたビューからの連続エクスポートはサポートされていません。