Servizi di archiviazione e recupero dei dati

I servizi dati Google Cloud discussi in questa pagina includono quelli che archiviano e forniscono dati in risposta a una richiesta. Gli SLI per questi servizi sono simili agli SLI per i servizi richiesta-risposta, descritti nella sezione Servizi richiesta-risposta, con un'attenzione particolare a disponibilità e latenza. Tieni presente che la latenza, in particolare quando si misura il tempo di risposta alle query del database, è spesso un fattore determinante per la quantità di dati recuperati e può variare a seconda del carico di lavoro dell'applicazione.

Per esprimere uno SLI di disponibilità basato sulle richieste, utilizza la struttura TimeSeriesRatio per configurare un rapporto tra richieste "valide" e richieste totali. Decidi come filtrare la metrica utilizzando le etichette disponibili per determinare se "Buono" o "Valido" preferisci.

Esprimi uno SLI di latenza basato su richiesta utilizzando una struttura DistributionCut.

Cloud Storage

Cloud Storage è l'archivio di oggetti di Google Cloud a livello mondiale e a elevata durabilità. Cloud Storage è disponibile in diverse 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 quanto segue:

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 "valide". Puoi utilizzare l'etichetta della metrica method anche per misurare la disponibilità per uno specifico metodo API, ad esempio ReadObject.

Esprimi uno SLI di disponibilità basato sulle richieste per leggere gli oggetti da un bucket Cloud Storage utilizzando un rapporto, TimeSeriesRatio, tra richieste soddisfacenti e 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, potresti instrumentare il tuo servizio per raccoglierla 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 grandi quantità di dati in un archivio chiave-valore. Bigtable supporta anche una velocità effettiva di lettura e scrittura elevata a bassa latenza, offrendo un accesso rapido a grandi quantità di dati.

Per ulteriori informazioni, consulta quanto segue:

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:

Esprimi uno SLI di disponibilità basato sulle richieste per leggere gli oggetti da un bucket Cloud Storage utilizzando un rapporto, TimeSeriesRatio, tra richieste "non valide" e richieste totali, come mostrato nell'esempio seguente:

Puoi utilizzare queste due metriche per esprimere uno SLI di disponibilità basato sulle richieste creando una struttura TimeSeriesRatio per le richieste non riuscite alle richieste totali, 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 uno SLI di latenza basato su richiesta utilizzando una struttura DistributionCut.

Lo SLO di esempio seguente 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 in sequenza di un'ora:

{
  "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 un'alta disponibilità.

Per ulteriori informazioni, consulta quanto segue:

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 sul database riuscite e non riuscite.

Per esprimere uno SLI di disponibilità basato sulle richieste, crei una struttura TimeSeriesRatio per le richieste "valide" 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 per altre chiamate API Spanner.

Esprimi uno SLI di latenza basato su richiesta utilizzando una struttura DistributionCut. Lo SLO di esempio seguente 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 in sequenza di un'ora:

{
  "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 disponibilità elevata e durevolezza in grado di scalare automaticamente per gestire i carichi delle tue applicazioni.

Per ulteriori informazioni, consulta quanto segue:

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 oppure utilizzando l'etichetta della metrica api_method per, ad esempio, misurare solo le letture dei documenti.

Per esprimere uno SLI di disponibilità basato sulle richieste crei una struttura TimeSeriesRatio per le richieste andate a buon fine per le 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

Al momento Datastore non fornisce una metrica di latenza. Per le metriche disponibili, consulta datastore.googleapis.com tipi di metriche.