Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Managed Instance för Apache Cassandra är en fullständigt hanterad tjänst för rena Apache Cassandra-kluster med öppen källkod. Tjänsten tillåter också att konfigurationer åsidosätts, beroende på de specifika behoven för varje arbetsbelastning. Den här funktionen ger maximal flexibilitet och kontroll där det behövs. I den här artikeln beskrivs hur du aktiverar materialiserade vyer.
Stöd för materialiserad vy
Materialiserade vyer är inaktiverade som standard, men du kan aktivera dem i klustret. Vi avråder användare av Azure Managed Instance för Apache Cassandra från att använda materialiserade vyer. De är experimentella. Framför allt:
- Implementeringen av materialiserade vyer är en distribuerad systemdesign som inte är i stor utsträckning modellerad och simulerad. Det finns inga formella bevis för dess egenskaper.
- Det går inte att fastställa om en materialiserad vy inte är synkroniserad med bastabellen.
- Det finns ingen övre gräns för hur lång tid det tar för en materialiserad vy att synkroniseras när bastabellen ändras.
- Om ett fel uppstår och en materialiserad vy inte är synkroniserad är det enda sättet att lösa situationen att släppa den materialiserade vyn och återskapa den.
Mer information finns i materialiserade vyer markerade som experimentella - Apache Mail Archives och förslaget att göra detta.
Microsoft erbjuder inget serviceavtal eller support för problem med materialiserade vyer.
Alternativ till materialiserade vyer
Precis som de flesta NoSQL-butiker är Apache Cassandra inte utformat för att ha en normaliserad datamodell. Om du behöver uppdatera data på mer än en plats skickar du alla nödvändiga instruktioner som en del av en BATCH. Den här metoden har två fördelar jämfört med materialiserade vyer:
-
BATCHgaranterar att alla instruktioner i batchen är genomförda eller ingen. - Alla instruktioner har samma kvorum och incheckningssemantik.
Om din arbetsbelastning verkligen behöver en normaliserad datamodell bör du överväga ett skalbart relationslager som Azure Cosmos DB för PostgreSQL.
Aktivera materialiserade vyer
Ange enable_materialized_views: true i fältet för rawUserConfig ditt Cassandra-datacenter. Använd följande Azure CLI-kommando för att uppdatera varje datacenter i klustret:
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