I servizi di dati Google Cloud descritti in questa pagina includono quelli che archiviano e forniscono dati in risposta a una richiesta. Gli SLI per questi servizi sono simili a quelli per i servizi di richiesta-risposta, descritti in Servizi di richiesta-risposta, con un'attenzione particolare a disponibilità e latenza. Tieni presente che la latenza, soprattutto quando si misura il tempo di risposta delle query del database, dipende spesso da quanti dati vengono recuperati e può variare in base al carico di lavoro dell'applicazione.
Esprimi un SLI di disponibilità basato su richiesta utilizzando la struttura
TimeSeriesRatio
per impostare un rapporto tra le richieste "valide" e il totale delle richieste. Decidi come filtrare la metrica utilizzando le etichette disponibili
per arrivare alla tua determinazione preferita di "buono" o "valido".
Esprimi un SLI di latenza basato su richiesta utilizzando una struttura DistributionCut
.
Cloud Storage
Cloud Storage è l'archivio di oggetti a elevata durabilità di Google Cloud, disponibile in tutto il mondo. Cloud Storage è disponibile in più classi di archiviazione, che ti consentono di determinare il modello di costo e recupero appropriato per il tuo servizio o caso d'uso.
Per ulteriori informazioni, consulta le seguenti risorse:
- Documentazione di Cloud Storage.
- Elenco dei tipi di metrica
storage.googleapis.com
.
SLI di disponibilità
Cloud Storage scrive i dati delle metriche in Cloud Monitoring utilizzando il tipo di risorsa monitorata gcs_bucket
e il tipo di metrica api/request_count
. Puoi filtrare i dati utilizzando
l'etichetta della metrica response_code
per conteggiare le richieste "buone". Puoi anche utilizzare
l'etichetta della metrica method
per misurare la disponibilità di un metodo API specifico,
ad esempio ReadObject
.
Esprimi un SLI di disponibilità basato su richiesta per la lettura di oggetti da un bucket Cloud Storage utilizzando un rapporto, TimeSeriesRatio
, tra le richieste valide e le richieste totali, come mostrato nell'esempio seguente:
"serviceLevelIndicator": {
"requestBased": {
"goodTotalRatio": {
"totalServiceFilter":
"metric.type=\"storage.googleapis.com/api/request_count\"
resource.type=\"gcs_bucket\"
metric.label.\"method\"=\"ReadObject\"
resource.label.\"bucket_name\"=\"my_bucket\"",
"goodServiceFilter":
"metric.type=\"storage.googleapis.com/api/request_count\"
resource.type=\"gcs_bucket\"
metric.label.\"method\"=\"ReadObject\"
resource.label.\"bucket_name\"=\"my_bucket\"
metric.label.\"response_code\"=\"OK\"",
}
}
}
SLI di latenza
Cloud Storage non fornisce una metrica di latenza; se la latenza è un problema, valuta la possibilità di instrumentare il servizio per raccogliere questa metrica sul client.
Bigtable
Bigtable è un servizio di database NoSQL scalabile e completamente gestito per carichi di lavoro analitici e operativi di grandi dimensioni. Bigtable è ideale per archiviare ingenti quantità di dati in un archivio chiave-valore. Bigtable supporta anche un throughput di lettura e scrittura elevato a bassa latenza, offrendoti un accesso rapido a grandi quantità di dati.
Per ulteriori informazioni, consulta le seguenti risorse:
- Documentazione per Bigtable.
- Elenco dei tipi di metrica
bigtable.googleapis.com
.
SLI di disponibilità
Bigtable scrive i dati delle metriche in Cloud Monitoring utilizzando il tipo di risorsa monitorata bigtable_table
e i seguenti tipi di metriche:
-
server/request_count
, che conteggia il numero totale di richieste. -
server/error_count
, che conteggia il numero totale di richieste non riuscite.
Esprimi un SLI di disponibilità basato su richiesta per la lettura di oggetti da un bucket Cloud Storage utilizzando un rapporto, TimeSeriesRatio
, tra le richieste "errate" e le richieste totali, come mostrato nell'esempio seguente:
Puoi utilizzare queste due metriche per esprimere un indicatore SLI di disponibilità basato sulle richieste
creando una struttura
TimeSeriesRatio
per le richieste non riuscite
rispetto al totale delle richieste, come mostrato nell'esempio seguente:
"serviceLevelIndicator": {
"requestBased": {
"goodTotalRatio": {
"totalServiceFilter":
"metric.type=\"bigtable.googleapis.com/server/request_count\"
resource.type=\"bigtable_table\"
resource.label.\"table\"=\"my_table\"
resource.label.\"cluster\"=\"my_cluster\"",
"badServiceFilter":
"metric.type=\"bigtable.googleapis.com/server/error_count\"
resource.type=\"bigtable_table\"
resource.label.\"table\"=\"my_table\"
resource.label.\"cluster\"=\"my_cluster\"",
}
}
}
SLI di latenza
Per misurare la latenza, Bigtable scrive i dati delle metriche in
Cloud Monitoring
utilizzando il tipo di risorsa monitorata
bigtable_table
e il tipo di metrica
server/latencies
. Puoi filtrare i dati utilizzando
l'etichetta della metrica method
per misurare le latenze di metodi specifici.
Esprimi un SLI di latenza basato su richiesta utilizzando una struttura DistributionCut
.
La seguente SLO di esempio prevede che il 99% di tutte le richieste alla tabella my_table
nel cluster my_cluster
rientri tra 0 e 100 ms di latenza totale in un periodo di un'ora mobile:
{
"serviceLevelIndicator": {
"requestBased": {
"distributionCut": {
"distributionFilter":
"metric.type=\"bigtable.googleapis.com/server/latencies\"
resource.type=\"bigtable_table\"
resource.label.\"table\"=\"my_table\"
resource.label.\"cluster\"=\"my_cluster\"",
"range": {
"min": 0,
"max": 100
}
}
}
},
"goal": 0.99,
"rollingPeriod": "3600s",
"displayName": "98% requests under 100 ms"
}
Spanner
Spanner è un servizio di database relazionale completamente gestito che offre coerenza transazionale su scala globale, schemi, SQL (ANSI 2011 con estensioni) e replica sincrona automatica per una disponibilità elevata.
Per ulteriori informazioni, consulta le seguenti risorse:
- Documentazione per Spanner.
- Elenco dei tipi di metrica
spanner.googleapis.com
.
SLI di disponibilità
Spanner scrive i dati delle metriche in Cloud Monitoring utilizzando il tipo di risorsa monitorata
spanner_instance
e il tipo di metrica
query_count
. Puoi filtrare i dati utilizzando
l'etichetta della metrica status
per conteggiare le query di database riuscite e non riuscite.
Esprimi un SLI di disponibilità basato su richiesta creando una struttura TimeSeriesRatio
per le richieste "buone" rispetto alle richieste totali, come mostrato nell'esempio seguente:
"serviceLevelIndicator": {
"requestBased": {
"goodTotalRatio": {
"totalServiceFilter":
"metric.type=\"spanner.googleapis.com/query_count\"
resource.type=\"spanner_instance\"
metric.label.\"database\"=\"my_database\"",
"goodServiceFilter":
"metric.type=\"spanner.googleapis.com/query_count\"
resource.type=\"spanner_instance\"
metric.label.\"database\"=\"my_database\"
metric.label.\"status\"=\"ok\"",
}
}
}
SLI di latenza
Per misurare la latenza, Spanner scrive i dati delle metriche in
Cloud Monitoring
utilizzando il tipo di risorsa monitorata
spanner_instance
e il tipo di metrica
api/request_latencies
. Puoi filtrare i dati utilizzando
l'etichetta della metrica method
per misurare le latenze di metodi specifici. I dati includono latenze non solo per le query, ma anche per altre chiamate API Spanner.
Esprimi un SLI di latenza basato su richiesta utilizzando una struttura DistributionCut
.
Il seguente SLO di esempio prevede che il 99% di tutte le richieste API al database my_database
rientri tra 0 e 100 ms di latenza totale in un periodo di un'ora continuativo:
{
"serviceLevelIndicator": {
"requestBased": {
"distributionCut": {
"distributionFilter":
"metric.type=\"spanner.googleapis.com/api/request_latencies\"
resource.type=\"spanner_instance\"
metric.label.\"database\"=\"my_database\"",
"range": {
"min": 0,
"max": 100
}
}
}
},
"goal": 0.99,
"rollingPeriod": "3600s",
"displayName": "98% requests under 100 ms"
}
Datastore
Datastore è un database NoSQL a scalabilità elevata per le tue applicazioni. Datastore gestisce automaticamente lo sharding e la replica, fornendo un database con elevati livelli di disponibilità e durabilità in grado di scalare automaticamente per gestire il carico delle applicazioni.
Per ulteriori informazioni, consulta le seguenti risorse:
- Documentazione per Datastore.
- Elenco dei tipi di metrica
datastore.googleapis.com
.
SLI di disponibilità
Datastore scrive i dati delle metriche in Cloud Monitoring utilizzando il tipo di risorsa monitorata
datastore_request
e il tipo di metrica
api/request_count
. Puoi filtrare i dati utilizzando
l'etichetta della metrica response_code
per conteggiare le chiamate API riuscite e non riuscite o
utilizzando l'etichetta della metrica api_method
per, ad esempio, misurare solo le letture dei documenti.
Esprimi un SLI di disponibilità basato su richiesta creando una struttura
TimeSeriesRatio
per le richieste riuscite rispetto alle richieste totali, come mostrato nell'esempio seguente:
"serviceLevelIndicator": {
"requestBased": {
"goodTotalRatio": {
"totalServiceFilter":
"metric.type=\"datastore.googleapis.com/api/request_count\"
resource.type=\"datastore_request\"",
"goodServiceFilter":
"metric.type=\"datastore.googleapis.com/api/request_count\"
resource.type=\"datastore_request\"
metric.label.\"response_code\"=\"success\"",
}
}
}
SLI di latenza
Datastore al momento non fornisce una metrica di latenza.
Per le metriche disponibili, consulta Tipi di metriche di datastore.googleapis.com
.