Serviços de armazenamento e recuperação de dados

Os serviços de dados do Google Cloud discutidos nesta página incluem os que armazenam e fornecem dados como resposta a uma solicitação. Os SLIs desses serviços são semelhantes aos SLIs dos serviços de resposta a uma solicitação, descritos em Serviços de resposta a uma solicitação, com foco principal em disponibilidade e latência. Observe que a latência, especialmente ao medir o tempo de resposta da consulta do banco de dados, muitas vezes é um fator da quantidade de dados que estão sendo recuperados e pode variar de acordo com a carga de trabalho do aplicativo.

Expresse um SLI de disponibilidade baseado em solicitação usando a estrutura TimeSeriesRatio para configurar uma proporção de solicitações "boas" para o total de solicitações. Você decide como filtrar a métrica usando os rótulos disponíveis para chegar à determinação preferida de "boa" ou "válida".

Para expressar um SLI de latência baseado em solicitações, use uma estrutura DistributionCut.

Cloud Storage

O Cloud Storage é o armazenamento de objetos mundial e altamente durável do Google Cloud. O Cloud Storage está disponível em várias classes de armazenamento, que permitem determinar o modelo de custo e recuperação adequado para seu serviço ou caso de uso.

Para mais informações, consulte os seguintes tópicos:

SLIs de disponibilidade

O Cloud Storage grava dados de métricas no Cloud Monitoring usando o tipo de recurso monitorado gcs_bucket e o tipo de métrica api/request_count. Você pode filtrar os dados usando o rótulo de métrica response_code para contar solicitações "boas". Também é possível usar o rótulo de métrica method para medir a disponibilidade de um método de API específico, como ReadObject.

Expresse um SLI de disponibilidade baseado em solicitações para leitura de objetos de um bucket do Cloud Storage usando uma proporção, TimeSeriesRatio, de solicitações boas do total de solicitações, conforme mostrado neste exemplo:

"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\"",
    }
  }
}

SLIs de latência

O Cloud Storage não fornece uma métrica de latência. Se a latência for uma preocupação, considere instrumentar seu serviço para coletar a latência no cliente.

Bigtable

O Bigtable é um serviço de banco de dados NoSQL escalonável e totalmente gerenciado para grandes cargas de trabalho analíticas e operacionais. O Bigtable é ideal para armazenar grandes quantidades de dados em um armazenamento de chave-valor. O Bigtable também é compatível com alta capacidade de leitura e gravação com baixa latência, oferecendo acesso rápido a grandes quantidades de dados.

Para mais informações, consulte os seguintes tópicos:

SLIs de disponibilidade

O Bigtable grava dados de métricas no Cloud Monitoring usando o tipo de recurso monitorado bigtable_table e os seguintes tipos de métricas:

Expresse um SLI de disponibilidade baseado em solicitações para leitura de objetos de um bucket do Cloud Storage usando uma proporção, TimeSeriesRatio, de solicitações "ruins" do total de solicitações, conforme mostrado neste exemplo:

É possível usar essas duas métricas para expressar um SLI de disponibilidade com base em solicitações criando uma estrutura TimeSeriesRatio para solicitações com falha para o total de solicitações, como mostrado no exemplo a seguir:

"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\"",
    }
  }
}

SLIs de latência

Para medir a latência, o Bigtable grava dados de métrica no Cloud Monitoring usando o tipo de recurso monitorado bigtable_table e o tipo de métrica server/latencies. É possível filtrar os dados usando o rótulo de métrica method para avaliar as latências de métodos específicos.

Para expressar um SLI de latência baseado em solicitações, use uma estrutura DistributionCut.

O SLO de exemplo a seguir espera que 99% de todas as solicitações na tabela my_table do cluster my_cluster fiquem entre 0 e 100 ms em latência total em um período de uma hora contínua:

{
  "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

O Spanner é um serviço de banco de dados relacional, totalmente gerenciado, que oferece consistência transacional em escala global, esquemas, SQL (ANSI 2011 com extensões) e replicação automática e síncrona para alta disponibilidade.

Para mais informações, consulte os seguintes tópicos:

SLIs de disponibilidade

O Spanner grava dados de métrica no Cloud Monitoring usando o tipo de recurso monitorado spanner_instance e o tipo de métrica query_count. Filtre os dados usando o rótulo de métrica status para contar as consultas do banco de dados bem-sucedidas e com falha.

Para expressar um SLI de disponibilidade com base em solicitações, crie uma estrutura TimeSeriesRatio para solicitações "boas" para o total de solicitações, como mostrado no exemplo a seguir:

"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\"",
    }
  }
}

SLIs de latência

Para medir a latência, o Spanner grava dados de métrica no Cloud Monitoring usando o tipo de recurso monitorado spanner_instance e o tipo de métrica api/request_latencies. É possível filtrar os dados usando o rótulo de métrica method para avaliar as latências de métodos específicos. Os dados incluem latências não apenas para consultas, mas para outras chamadas da API Spanner.

Para expressar um SLI de latência baseado em solicitações, use uma estrutura DistributionCut. O SLO de exemplo a seguir espera que 99% de todas as solicitações de API ao banco de dados my_database estejam entre 0 e 100 ms em latência total em um período de uma hora contínua:

{
  "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

O Datastore é um banco de dados NoSQL altamente escalonável para seus aplicativos. Ele controla automaticamente a fragmentação e a replicação, colocando à sua disposição um banco de dados altamente disponível e durável, que escalona de forma automática para administrar a carga dos seus aplicativos.

Para mais informações, consulte os seguintes tópicos:

SLIs de disponibilidade

O Spanner grava dados de métrica no Cloud Monitoring usando o tipo de recurso monitorado datastore_request e o tipo de métrica api/request_count. É possível filtrar os dados usando o rótulo de métrica response_code para contabilizar chamadas de API bem-sucedidas ou com falha ou usando o rótulo de métrica api_method para, por exemplo, avaliar somente leituras de documentos.

Expresse um SLI de disponibilidade baseado em solicitações criando uma estrutura TimeSeriesRatio para solicitações bem-sucedidas para o total de solicitações, como mostrado no exemplo a seguir:

"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\"",
    }
  }
}

SLIs de latência

No momento, o Datastore não fornece uma métrica de latência. Para ver as métricas disponíveis, consulte Tipos de métricas datastore.googleapis.com.