Servizi di archiviazione e recupero dei dati

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:

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:

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 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:

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:

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.