Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Istanza gestita di Azure per Apache Cassandra è un servizio completamente gestito per cluster Apache Cassandra open source puri. Il servizio consente anche di eseguire l'override delle configurazioni, a seconda delle esigenze specifiche di ogni carico di lavoro. Questa funzionalità consente la massima flessibilità e controllo, se necessario. Questo articolo illustra come abilitare le viste materializzate.
Supporto delle visualizzazioni materializzate
Le viste materializzate sono disabilitate per impostazione predefinita, ma è possibile abilitarle nel cluster. Tuttavia, si sconsiglia agli utenti di Azure Istanza gestita per Apache Cassandra di usare viste materializzate. Sono sperimentali. In particolare:
- L'implementazione di viste materializzate è una progettazione di sistema distribuita che non è ampiamente modellata e simulata. Non ci sono prove formali sulle relative proprietà.
- Non è possibile determinare se una vista materializzata non è sincronizzata con la relativa tabella di base.
- Non esiste alcun limite superiore per quanto tempo è necessario per la sincronizzazione di una vista materializzata quando viene apportata una modifica alla tabella di base.
- Se si verifica un errore e una vista materializzata non viene sincronizzata, l'unico modo per risolvere la situazione consiste nell'eliminare la vista materializzata e ricrearla.
Per altre informazioni, vedere Materialized Views marked experimental-Apache Mail Archives e la proposta di farlo.
Microsoft non offre alcun contratto di servizio o supporto per problemi relativi alle visualizzazioni materializzate.
Alternative alle viste materializzate
Analogamente alla maggior parte degli archivi NoSQL, Apache Cassandra non è progettato per avere un modello di dati normalizzato. Se è necessario aggiornare i dati in più posizioni, inviare tutte le istruzioni necessarie come parte di un batch. Questo approccio presenta due vantaggi rispetto alle viste materializzate:
- BATCH garantisce che venga eseguito il commit o nessuno di tutte le istruzioni nel batch.
- Tutte le istruzioni hanno la stessa semantica quorum e commit.
Se il carico di lavoro necessita veramente di un modello di dati normalizzato, prendere in considerazione un archivio relazionale scalabile come Azure Cosmos DB per PostgreSQL.
Come abilitare le visualizzazioni materializzate
È necessario impostare enable_materialized_views: true
nel rawUserConfig
campo del data center Cassandra. A tale scopo, usare il comando seguente dell'interfaccia della riga di comando di Azure per aggiornare ogni data center nel cluster:
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