Bagikan melalui


Batasan dan masalah yang diketahui terkait tampilan materialisasi

Sumber tampilan materialisasi

  • Tabel sumber dari tampilan materialisasi:
    • Harus berupa tabel tempat data langsung diserap, menggunakan kebijakan pembaruan, atau menyerap dari perintah kueri.
      • Menggunakan tingkat pemindahan atau mengganti jangkauan dari tabel lain ke tabel sumber tampilan materialisasi hanya didukung jika menggunakan setNewIngestionTime properti sebagai bagian dari perintah tingkat pemindahan (lihat . move extents dan .replace extents commands untuk detail selengkapnya).
      • Memindahkan jangkauan ke tabel sumber dari tampilan materialisasi, sementara tidak menggunakan setNewIngestionTime dapat gagal dengan salah satu kesalahan berikut:
        • 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).
  • Tabel sumber tampilan materialisasi harus mengaktifkan kebijakan IngestionTime (diaktifkan secara default).
  • Tabel sumber tampilan materialisasi tidak bisa menjadi tabel dengan kebijakan akses tampilan terbatas.
  • Tampilan materialisasi tidak dapat dibuat di atas tampilan materialisasi lain, kecuali tampilan materialisasi pertama berjenis take_any(*) agregasi. Lihat tampilan materialisasi di atas tampilan materialisasi.
  • Tampilan materialisasi tidak dapat ditentukan melalui tabel eksternal.

Peringatan

  • Tampilan materialisasi akan dinonaktifkan secara otomatis oleh sistem jika perubahan pada tabel sumber tampilan materialisasi, atau perubahan pada data menyebabkan ketidakcocokan antara kueri tampilan materialisasi dan skema tampilan materialisasi yang diharapkan.
    • Untuk menghindari kesalahan ini, kueri tampilan materialisasi harus deterministik. Misalnya, plugin bag_unpack atau pivot menghasilkan skema non-deterministik.
    • Ketika menggunakan agregasi arg_max(Timestamp, *) dan ketika autoUpdateSchema diatur ke false, perubahan pada tabel sumber juga dapat menyebabkan ketidakcocokan skema.
      • Hindari kegagalan ini dengan menentukan kueri tampilan sebagai arg_max(Timestamp, Column1, Column2, ...), atau dengan menggunakan opsi autoUpdateSchema.
  • Penggunaan autoUpdateSchema dapat menyebabkan hilangnya data yang tidak dapat diubah ketika kolom dalam tabel sumber dihilangkan.
  • Pantau penonaktifan otomatis tampilan materialisasi menggunakan metrik MaterializedViewResult.
  • Setelah memperbaiki masalah ketidakkompakan, tampilan harus diaktifkan kembali secara eksplisit menggunakan perintah aktifkan tampilan terwujud .

Dampak rekaman yang diserap ke atau dihilangkan dari tabel sumber

  • Tampilan materialisasi hanya memproses rekaman baru yang diserap ke dalam tabel sumber. Rekaman yang dihapus dari tabel sumber, baik dengan menjalankan penghapusan menyeluruh/ datasejauh penghapusansementara/, atau karena kebijakan penyimpanan atau alasan lain, tidak berdampak pada tampilan materialisasi.
  • Tampilan materialisasi memiliki kebijakan penyimpanannya sendiri, yang independen dari kebijakan penyimpanan tabel sumber. Tampilan materialisasi mungkin menyertakan rekaman yang tidak ada dalam tabel sumber.

Database pengikut

  • Tampilan materialisasi tidak dapat dibuat dalam database pengikut. Database pengikut bersifat baca-saja dan tampilan materialisasi memerlukan operasi tulis.
  • Tampilan materialisasi yang ditentukan pada database pemimpin dapat dikueri dari pengikutnya, seperti tabel lain dalam pemimpin.
  • Gunakan kluster pemimpin untuk memantau tampilan materialisasi database pengikut. Untuk detail selengkapnya, lihat Tampilan terwujud dalam database pengikut.

Lainnya

  • Fungsi kursor tidak dapat digunakan di atas tampilan materialisasi.
  • Ekspor berkelanjutan dari tampilan materialisasi tidak didukung.