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 agli SLI per i servizi di richiesta-risposta, descritti in Servizi di richiesta-risposta, con un'attenzione principale alla disponibilità e alla latenza. Tieni presente che la latenza, soprattutto quando si misura il tempo di risposta delle query del database, è spesso un fattore della quantità di dati 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 le richieste totali. Decidi come filtrare la metrica utilizzando le etichette disponibili per ottenere la determinazione preferita di "buono" o "valido".

Un SLI di latenza basato su richiesta viene espresso utilizzando una struttura DistributionCut.

Cloud Storage

Cloud Storage è l'archivio di oggetti a elevata durabilità di Google Cloud disponibile a livello globale. 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 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 "corrette". Puoi anche utilizzare l'etichetta della metrica method per misurare la disponibilità per un metodo API specifico, come ReadObject.

Puoi esprimere 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 eseguire l'instrumentazione del 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 ingenti quantità di dati in un archivio chiave-valore. Bigtable supporta inoltre un'elevata velocità effettiva di lettura e scrittura 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 bigtable_table tipo di risorsa monitorata e i seguenti tipi di metriche:

Puoi esprimere uno SLI di disponibilità basata sulle richieste per la lettura di oggetti da un bucket Cloud Storage utilizzando un rapporto, TimeSeriesRatio, tra le richieste "non valide" e le richieste totali, come mostrato nell'esempio seguente:

Puoi utilizzare queste due metriche per esprimere un SLI di disponibilità basato sulle richieste creando una struttura TimeSeriesRatio per le richieste non riuscite in base 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.

Un SLI di latenza basato su richiesta viene espresso utilizzando una struttura DistributionCut.

L'esempio di SLO seguente prevede che il 99% di tutte le richieste alla tabella my_table nel cluster my_cluster abbia una latenza totale compresa tra 0 e 100 ms in un periodo 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 una disponibilità elevata.

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

Puoi esprimere un SLI di disponibilità basato su richiesta creando una struttura TimeSeriesRatio per le richieste "corrette" 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 le latenze non solo per le query, ma anche per altre chiamate dell'API Spanner.

Un SLI di latenza basato su richiesta viene espresso utilizzando una struttura DistributionCut. L'esempio di SLO seguente prevede che il 99% di tutte le richieste API al database my_database abbia una latenza totale compresa tra 0 e 100 ms in un periodo 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 elevati livelli di disponibilità e durabilità in grado di scalare automaticamente per gestire i carichi delle 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 metrica response_code per conteggiare le chiamate API riuscite e non riuscite o l'etichetta metrica api_method per misurare, ad esempio, solo le letture del documento.

Per esprimere un SLI di disponibilità basato su richiesta, crea 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

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