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

Os Google Cloud serviços de dados abordados nesta página incluem os que armazenam e fornecem dados como resposta a uma solicitação. Os SLIs para estes serviços são semelhantes aos SLIs para serviços de pedido-resposta, descritos em Serviços de pedido-resposta, com um foco principal na disponibilidade e na latência. Tenha em atenção que a latência, especialmente quando mede o tempo de resposta da consulta da base de dados, é frequentemente um fator da quantidade de dados que está a ser obtida e pode variar com a carga de trabalho da aplicação.

Expressa um SLI de disponibilidade baseado em pedidos através da estrutura TimeSeriesRatio para configurar uma proporção de pedidos "bons" em relação ao total de pedidos. Decide como filtrar a métrica usando as respetivas etiquetas disponíveis para chegar à sua determinação preferida de "boa" ou "válida".

Exprime um SLI de latência baseado em pedidos através de uma estrutura DistributionCut.

Cloud Storage

O Cloud Storage é Google Cloud's um serviço de armazenamento de objetos altamente duradouro a nível mundial. O Cloud Storage está disponível em várias classes de armazenamento, que lhe permitem determinar o custo e o modelo de obtenção adequados para o seu serviço ou exemplo de utilização.

Para mais informações, consulte o seguinte:

INSs de disponibilidade

O Cloud Storage escreve dados de métricas no Cloud Monitoring através do tipo de recurso monitorizado gcs_bucket e do tipo de métrica api/request_count. Pode filtrar os dados usando a etiqueta da métrica response_code para contabilizar os pedidos "bons". Também pode usar a etiqueta de métrica method para medir a disponibilidade de um método API específico, como ReadObject.

Expressa um SLI de disponibilidade baseado em pedidos para ler objetos de um contentor do Cloud Storage através de uma proporção, TimeSeriesRatio, de pedidos válidos para o total de pedidos, conforme mostrado no exemplo seguinte:

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

INSs 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 o seu serviço para recolher esta informação no cliente.

Bigtable

O Bigtable é um serviço de base de dados NoSQL escalável e totalmente gerido para grandes cargas de trabalho analíticas e operacionais. O Bigtable é ideal para armazenar grandes quantidades de dados num armazenamento de chaves-valores. O Bigtable também suporta um elevado débito de leitura e gravação com baixa latência, o que lhe oferece acesso rápido a grandes quantidades de dados.

Para mais informações, consulte o seguinte:

INSs de disponibilidade

O Bigtable escreve dados de métricas no Cloud Monitoring através do tipo de recurso monitorizado bigtable_table e dos seguintes tipos de métricas:

Expressa um SLI de disponibilidade baseado em pedidos para ler objetos de um contentor do Cloud Storage através de uma proporção, TimeSeriesRatio, de pedidos "deficientes" para o total de pedidos, conforme mostrado no exemplo seguinte:

Pode usar estas duas métricas para expressar um SLI de disponibilidade baseado em pedidos criando uma estrutura TimeSeriesRatio para pedidos com falhas em relação ao total de pedidos, conforme mostrado no exemplo seguinte:

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

INSs de latência

Para medir a latência, o Bigtable escreve dados de métricas no Cloud Monitoring usando o tipo de recurso monitorizado bigtable_table e o tipo de métrica server/latencies. Pode filtrar os dados usando a etiqueta da métrica method para medir as latências de métodos específicos.

Exprime um SLI de latência baseado em pedidos através de uma estrutura DistributionCut.

O SLO de exemplo seguinte espera que 99% de todos os pedidos à tabela my_table no cluster my_cluster se situem entre 0 e 100 ms na latência total durante um período de uma hora contínuo:

{
  "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 base de dados relacional totalmente gerido que oferece consistência transacional à 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 o seguinte:

INSs de disponibilidade

O Spanner escreve dados de métricas no Cloud Monitoring através do tipo de recurso monitorizado spanner_instance e do tipo de métrica query_count. Pode filtrar os dados usando a etiqueta da métrica status para contabilizar as consultas de base de dados bem-sucedidas e com falhas.

Exprime um SLI de disponibilidade baseado em pedidos criando uma estrutura TimeSeriesRatio para pedidos "bons" em relação ao total de pedidos, conforme mostrado no exemplo seguinte:

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

INSs de latência

Para medir a latência, o Spanner escreve dados de métricas no Cloud Monitoring usando o tipo de recurso monitorizado spanner_instance e o tipo de métrica api/request_latencies. Pode filtrar os dados usando a etiqueta da métrica method para medir as latências de métodos específicos. Os dados incluem latências não só para consultas, mas também para outras chamadas da API Spanner.

Exprime um SLI de latência baseado em pedidos através de uma estrutura DistributionCut. O exemplo de SLO seguinte espera que 99% de todos os pedidos de API à base de dados my_database se situem entre 0 e 100 ms na latência total durante um período de uma hora contínuo:

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

Armazenamento de dados

O Datastore é uma base de dados NoSQL altamente escalável para as suas aplicações. O Datastore processa automaticamente a divisão e a replicação, oferecendo-lhe uma base de dados altamente disponível e duradoura que é dimensionada automaticamente para processar os carregamentos das suas aplicações.

Para mais informações, consulte o seguinte:

INSs de disponibilidade

O Datastore escreve dados de métricas no Cloud Monitoring através do tipo de recurso monitorizado datastore_request e do tipo de métrica api/request_count. Pode filtrar os dados usando a etiqueta da métrica response_code para contabilizar as chamadas API bem-sucedidas e com falhas ou usando a etiqueta da métrica api_method para, por exemplo, medir apenas as leituras de documentos.

Exprime um SLI de disponibilidade baseado em pedidos criando uma estrutura TimeSeriesRatio para pedidos bem-sucedidos em relação ao total de pedidos, conforme mostrado no exemplo seguinte:

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

INSs de latência

Atualmente, o Datastore não fornece uma métrica de latência. Para ver as métricas disponíveis, consulte os datastore.googleapis.comtipos de métricas.