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:
- Documentação do Cloud Storage.
- Lista de
storage.googleapis.com
tipos de métricas.
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:
- Documentação para o Bigtable.
- Lista de
bigtable.googleapis.com
tipos de métricas.
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:
-
server/request_count
, que contabiliza o número total de pedidos. -
server/error_count
, que contabiliza o número total de pedidos com falhas.
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:
- Documentação para o Spanner.
- Lista de
spanner.googleapis.com
tipos de métricas.
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:
- Documentação do Datastore.
- Lista de
datastore.googleapis.com
tipos de métricas.
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.com
tipos de métricas.