Servicios de recuperación y almacenamiento de datos

Los servicios de datos de Google Cloud que se analizan en esta página incluyen aquellos que almacenan y proporcionan datos como respuesta a una solicitud. Los SLI de estos servicios son similares a los SLI para los servicios de respuesta a la solicitud, que se describen en Servicios de respuesta a la solicitud, con un enfoque principal en la disponibilidad y la latencia. Ten en cuenta que la latencia, en especial cuando se mide el tiempo de respuesta de la base de datos, suele ser un factor en la cantidad de datos que se recuperan y puede variar con la carga de trabajo de la aplicación.

Puedes expresar un SLI de disponibilidad basado en solicitudes mediante la estructura TimeSeriesRatio para configurar una proporción de solicitudes “correctas” a solicitudes totales. Tú decides cómo filtrar la métrica con las etiquetas disponibles para llegar a la determinación preferida de “correcta” o “válida”.

Puedes expresar un SLI de latencia basado en solicitudes mediante una estructura DistributionCut.

Cloud Storage

Cloud Storage es el depósito de objetos de Google Cloud a nivel mundial y con mucha durabilidad. Cloud Storage está disponible en varias clases de almacenamiento, que te permiten determinar el modelo adecuado y el modelo de recuperación para tu servicio o caso uso.

Para obtener información adicional, consulta las siguientes secciones:

SLI de disponibilidad

Cloud Storage escribe datos de métricas en Cloud Monitoring mediante el tipo de recurso supervisado gcs_bucket y el tipo de métrica api/request_count. Puedes filtrar los datos con la etiqueta de métricas response_code para contar las solicitudes “correctas”. También puedes usar la etiqueta de métricas method a fin de medir la disponibilidad para un método de API específico, como ReadObject.

Puedes expresar un SLI de disponibilidad basado en solicitudes para leer objetos de un bucket de Cloud Storage mediante una proporción de TimeSeriesRatio, de las solicitudes correctas a las solicitudes totales, como se muestra en el siguiente ejemplo:

"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 de latencia

Cloud Storage no proporciona una métrica de latencia. Si la latencia es una preocupación, considera instrumentar tu servicio para recopilar esto en el cliente.

Cloud Bigtable

Cloud Bigtable es un servicio de base de datos NoSQL escalable y completamente administrado para grandes cargas de trabajo de análisis y operativas. Bigtable es ideal para almacenar grandes cantidades de datos en un almacén de par clave-valor. Bigtable también admite una capacidad de procesamiento de lectura y escritura alta con latencia baja, lo que te brinda un acceso rápido a grandes cantidades de datos.

Para obtener información adicional, consulta las siguientes secciones:

SLI de disponibilidad

Bigtable escribe datos de métricas en Cloud Monitoring con el tipo de recurso supervisado bigtable_table y los siguientes tipos de métricas:

Expresas un SLI de disponibilidad basado en solicitudes para leer objetos de un bucket de Cloud Storage mediante una proporción, TimeSeriesRatio, de solicitudes “incorrectas”, a las solicitudes totales, como se muestra en el siguiente ejemplo:

Puedes usar estas dos métricas a fin de expresar un SLI de disponibilidad basado en solicitudes si creas una estructura TimeSeriesRatio para las solicitudes fallidas al total de solicitudes, como se muestra en el siguiente ejemplo:

"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 de latencia

Para medir la latencia, Bigtable escribe datos de métricas en Cloud Monitoring con el tipo de recurso supervisado bigtable_table y el tipo de métrica server/latencies. Puedes filtrar los datos con la etiqueta de métricas method para medir las latencias de métodos específicos.

Puedes expresar un SLI de latencia basado en solicitudes mediante una estructura DistributionCut.

En el siguiente ejemplo de SLO, se espera que el 99% de las solicitudes a la tabla my_table del clúster my_cluster caiga entre 0 y 100 ms en la latencia total durante un período de una hora progresiva:

{
  "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": "86400s",
  "displayName": "98% requests under 100 ms"
}

Cloud Spanner

Cloud Spanner es un servicio de bases de datos relacional completamente administrado que ofrece coherencia en las transacciones a escala global, esquemas, SQL (ANSI 2011 con extensiones) y replicación automática síncrona y automática para una alta disponibilidad.

Para obtener información adicional, consulta las siguientes secciones:

SLI de disponibilidad

Spanner escribe datos de métricas en Cloud Monitoring con el tipo de recurso supervisado spanner_instance y el tipo de métricas query_count. Puedes filtrar los datos con la etiqueta de métricas status para contar las consultas de la base de datos correctas y fallidas.

Para expresar un SLI de disponibilidad basado en solicitudes, crea una estructura TimeSeriesRatio para las solicitudes “correctas” a las solicitudes totales, como se muestra en el siguiente ejemplo:

"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 de latencia

Para medir la latencia, Spanner escribe los datos de las métricas en Cloud Monitoring con el tipo de recurso supervisado spanner_instance y el tipo de métricas api/request_latencies. Puedes filtrar los datos con la etiqueta de métricas method para medir las latencias de métodos específicos. Los datos incluyen latencias no solo para consultas, sino también para otras llamadas a la API de Spanner.

Puedes expresar un SLI de latencia basado en solicitudes mediante una estructura DistributionCut. En el siguiente ejemplo de SLO, se espera que el 99% de las solicitudes a la API de la base de datos my_database entre 0 y 100 ms de latencia total durante un período progresivo de una hora:

{
  "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": "86400s",
  "displayName": "98% requests under 100 ms"
}

Datastore

Datastore es una base de datos NoSQL altamente escalable para tus aplicaciones. Controla automáticamente la fragmentación y la replicación, y te proporciona una base de datos duradera y con alta disponibilidad que se escala de forma automática para controlar las cargas de tus aplicaciones.

Para obtener información adicional, consulta las siguientes secciones:

SLI de disponibilidad

Spanner escribe datos de métricas en Cloud Monitoring con el tipo de recurso supervisado datastore_request y el tipo de métricas api/request_count. Puedes filtrar los datos mediante la etiqueta de métricas response_code para contar las llamadas a la API correctas y fallidas, o con la etiqueta de métrica api_method, por ejemplo, medir solo lecturas de documentos.

Para expresar un SLI de disponibilidad basado en solicitudes, crea una estructura TimeSeriesRatio para las solicitudes correctas a las solicitudes totales, como se muestra en el siguiente ejemplo:

"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 de latencia

Por el momento, Datastore no proporciona una métrica de latencia. Para obtener información sobre las métricas disponibles, consulta Tipos de métricas datastore.googleapis.com.