Bagikan melalui


Tampilan materialisasi di Azure Managed Instance for Apache Cassandra

Azure Managed Instance for Apache Cassandra adalah layanan terkelola penuh untuk kluster Apache Cassandra sumber terbuka murni. Layanan ini juga memungkinkan konfigurasi untuk diganti, tergantung pada kebutuhan spesifik setiap beban kerja. Fitur ini memungkinkan fleksibilitas dan kontrol maksimum jika diperlukan. Artikel ini membahas cara mengaktifkan tampilan materialisasi.

Dukungan tampilan materialisasi

Tampilan materialisasi dinonaktifkan secara default, tetapi Anda dapat mengaktifkannya di kluster Anda. Kami mencegah pengguna Azure Managed Instance for Apache Cassandra menggunakan tampilan materialisasi. Mereka eksperimental. Secara khusus:

  • Implementasi tampilan materialisasi adalah desain sistem terdistribusi yang belum banyak dimodelkan dan disimulasikan secara luas. Tidak ada bukti formal tentang propertinya.
  • Tidak ada cara untuk menentukan apakah tampilan materialisasi tidak sinkron dengan tabel dasarnya.
  • Tidak ada batas atas tentang berapa lama waktu yang dibutuhkan tampilan materialisasi untuk disinkronkan ketika ada perubahan pada tabel dasarnya.
  • Jika ada kesalahan dan tampilan materialisasi tidak sinkron, satu-satunya cara untuk menyelesaikan situasi adalah dengan menghilangkan tampilan materialisasi dan membuatnya kembali.

Untuk informasi selengkapnya, lihat Materialisasi view yang diberi label eksperimental-Apache Mail Archives dan proposal untuk melakukannya.

Microsoft tidak menawarkan perjanjian atau dukungan tingkat layanan apa pun tentang masalah dengan tampilan materialisasi.

Alternatif untuk tampilan materialisasi

Seperti kebanyakan penyimpanan NoSQL, Apache Cassandra tidak dirancang untuk memiliki model data yang dinormalisasi. Jika Anda perlu memperbarui data di lebih dari satu tempat, kirim semua pernyataan yang diperlukan sebagai bagian dari BATCH. Pendekatan ini memiliki dua keuntungan dibandingkan tampilan materialisasi:

  • BATCH menjamin bahwa semua pernyataan dalam batch dikonfirmasi atau tidak sama sekali.
  • Semua pernyataan memiliki kuorum dan semantik penerapan yang sama.

Jika beban kerja Anda benar-benar membutuhkan model data yang dinormalisasi, pertimbangkan penyimpanan relasional yang dapat diskalakan seperti Azure Cosmos DB for PostgreSQL.

Memungkinkan tampilan materialisasi

Atur enable_materialized_views: true di rawUserConfig bidang pusat data Cassandra Anda. Gunakan perintah Azure CLI berikut untuk memperbarui setiap pusat data di kluster Anda:

FRAGMENT="enable_materialized_views: true"
ENCODED_FRAGMENT=$(echo "$FRAGMENT" | base64 -w 0)
# or
# ENCODED_FRAGMENT="ZW5hYmxlX21hdGVyaWFsaXplZF92aWV3czogdHJ1ZQo="
resourceGroupName='MyResourceGroup'
clusterName='cassandra-hybrid-cluster'
dataCenterName='dc1'
az managed-cassandra datacenter update \
  --resource-group $resourceGroupName \
  --cluster-name $clusterName \
  --data-center-name $dataCenterName \
  --base64-encoded-cassandra-yaml-fragment $ENCODED_FRAGMENT