Bagikan melalui


Memantau tampilan materialisasi

Berlaku untuk: ✅Microsoft Fabric✅Azure Data Explorer

Pantau kesehatan tampilan material dengan cara berikut:

  • Pantau metrik tampilan materialisasi di portal Microsoft Azure.
    • Metrik MaterializedViewAgeSeconds usia tampilan materialisasi harus digunakan untuk memantau kesegaran tampilan. Metrik ini harus menjadi metrik utama untuk dipantau.

Catatan

Materialisasi tidak pernah melewatkan data apa pun, bahkan jika ada kegagalan konstan. Tampilan selalu dijamin untuk mengembalikan snapshot kueri terbaru, berdasarkan semua catatan di tabel sumber. Kegagalan konstan akan secara signifikan menurunkan performa kueri, tetapi tidak akan menyebabkan hasil yang salah dalam kueri tampilan.

Pemecahan masalah tampilan materialisasi yang tidak sehat

Metrik MaterializedViewHealth menunjukkan apakah tampilan materialisasi itu sehat. Sebelum tampilan materialisasi menjadi tidak sehat, usianya, dicatat oleh MaterializedViewAgeSeconds metrik, secara bertahap meningkat.

Pandangan yang terwujud dapat menjadi tidak sehat karena salah satu atau semua alasan berikut:

  • Proses materialisasi gagal. Metrik MaterializedViewResult dan .show materialized-view failures perintah dapat membantu mengidentifikasi akar penyebab kegagalan.
  • Sistem mungkin telah secara otomatis menonaktifkan tampilan materialisasi, karena perubahan pada tabel sumber. Anda dapat memeriksa apakah tampilan dinonaktifkan dengan memeriksa kolom yang IsEnabled dikembalikan dari .show materialized-view perintah. Lihat detail selengkapnya dalam batasan tampilan materialisasi dan masalah yang diketahui
  • Database tidak memiliki kapasitas yang memadai untuk mewujudkan semua data masuk tepat waktu. Dalam hal ini, mungkin tidak ada kegagalan dalam eksekusi. Namun, usia tampilan secara bertahap meningkat, karena tidak dapat mengikuti tingkat penyerapan. Mungkin ada beberapa akar penyebab situasi ini:
    • Ada tampilan yang lebih terwujud dalam database, dan database tidak memiliki kapasitas yang memadai untuk menjalankan semua tampilan. Lihat kebijakan kapasitas tampilan terwujud untuk mengubah pengaturan default untuk jumlah tampilan materialisasi yang dijalankan secara bersamaan.
    • Materialisasi lambat karena data yang baru diserap bersinggungan dengan sebagian besar tampilan dan ada banyak catatan untuk diperbarui di setiap siklus materialisasi. Untuk mempelajari selengkapnya tentang mengapa hal ini berdampak pada performa tampilan, lihat cara kerja tampilan materialisasi.

Metrik MaterializedViewResult

Metrik MaterializedViewResult memberikan informasi tentang hasil siklus materialisasi, dan dapat digunakan untuk mengidentifikasi masalah dalam status kesehatan tampilan material. Metrik mencakup Database dan MaterializedViewName dan Result dimensi.

Dimensi Result bisa memiliki salah satu nilai berikut ini:

  • Success: Materialisasi selesai dengan sukses.

  • SourceTableNotFound: Tabel sumber dari tampilan materialisasi dijatuhkan. Tampilan materialisasi secara otomatis dinonaktifkan sebagai hasilnya.

  • SourceTableSchemaChange: Skema tabel sumber telah berubah dengan cara yang tidak kompatibel dengan definisi tampilan materialisasi (kueri tampilan materialisasi tidak cocok dengan skema tampilan materialisasi). Tampilan materialisasi secara otomatis dinonaktifkan sebagai hasilnya.

  • InsufficientCapacity: Database tidak memiliki kapasitas yang memadai untuk mewujudkan tampilan materialisasi. Ini dapat menunjukkan kapasitas penyerapan yang hilang atau kapasitas tampilan material yang hilang. Kegagalan kapasitas yang tidak memadai dapat bersifat sementara, tetapi jika kegagalan tersebut sering kali kami sarankan untuk menskalakan database atau meningkatkan kapasitas yang relevan dalam kebijakan.

  • InsufficientResources: Database tidak memiliki sumber daya yang memadai (CPU/memori) untuk mewujudkan tampilan materialisasi. Kegagalan ini mungkin bersifat sementara, tetapi jika digunakan kembali, coba tingkatkan atau keluarkan skala database.

    • Jika proses materialisasi mencapai batas memori, batas grup beban kerja tampilan $materialized dapat ditingkatkan untuk mendukung lebih banyak memori atau CPU untuk proses materialisasi yang akan dikonsumsi.

    Misalnya, perintah berikut akan mengubah grup beban kerja tampilan materialisasi untuk menggunakan maksimum memori 64 gigabyte (GB) per simpul selama materialisasi (nilai defaultnya adalah 15 GB):

    .alter-merge workload_group ['$materialized-views'] ```
    {
      "RequestLimitsPolicy": {
        "MaxMemoryPerQueryPerNode": {
          "Value": 68719241216
        }
      }
    } ```
    

    Catatan

    MaxMemoryPerQueryPerNode tidak dapat diatur ke lebih dari 50% dari total memori setiap simpul.

Tampilan materialisasi dalam database pengikut

Tampilan materialisasi dapat didefinisikan dalam database pengikut. Namun, pemantauan tampilan materialisasi ini harus didasarkan pada database pemimpin, di mana tampilan materialisasi ditentukan. Khususnya:

  • Metrik yang terkait dengan eksekusi tampilan terwujud (MaterializedViewResult, MaterializedViewExtentsRebuild) hanya ada dalam database pemimpin. Metrik yang terkait dengan pemantauan (MaterializedViewAgeSeconds, MaterializedViewHealth, MaterializedViewRecordsInDelta) juga akan muncul di database pengikut.
  • Perintah .show materialized-view failures hanya berfungsi di database pemimpin.

Konsumsi sumber daya CPU

Konsumsi sumber daya pandangan materialisasi: sumber daya yang dikonsumsi oleh proses materialisasi pandangan materialisasi dapat dilacak menggunakan perintah .show commands-and-queries. Filter catatan untuk tampilan tertentu menggunakan yang berikut (ganti DatabaseName dan ViewName):

.show commands-and-queries 
| where Database  == "DatabaseName" and ClientActivityId startswith "DN.MaterializedViews;ViewName;"