En esta página, se describe Anywhere Cache, una función que proporciona una caché de lectura zonal respaldada por SSD para los buckets de Cloud Storage. Anywhere Cache proporciona capacidad de caché a pedido, ya que ajusta automáticamente el tamaño de la caché y el ancho de banda disponible para satisfacer tus necesidades. Debido a sus beneficios, Anywhere Cache es especialmente útil para reducir los costos de red asociados con las cargas de trabajo con muchas lecturas.
Consulta Crea y administra cachés para obtener información sobre cómo crear y administrar cachés en Anywhere Cache.
Descripción general
Anywhere Cache te permite crear cachés en la misma zona que tus cargas de trabajo. Cuando creas una caché en una zona, la caché procesa las solicitudes de lectura de datos que se originan en la zona en lugar del bucket. Cada caché atiende a los clientes que se encuentran en la misma zona que la caché. Los datos solo se transferirán a la caché desde tu bucket cuando una VM que resida en la misma zona que la caché lea esos datos. Los metadatos no se almacenan en caché, y el bucket procesa las solicitudes de metadatos de objetos en lugar de la caché.
Cuando creas una caché para un bucket, esta debe crearse en una zona dentro de la ubicación del bucket. Por ejemplo, si tu bucket se encuentra en la región us-east1
, puedes crear una caché en us-east1-b
, pero no en us-centra1-c
. Si tu bucket se encuentra en la región doble ASIA
, puedes crear una caché en cualquiera de las zonas que conforman las regiones asia-east1
y asia-southeast1
. Para obtener una lista de las zonas, consulta Regiones y zonas en la documentación de Compute Engine.
Para cada bucket, puedes crear una caché por zona. Por ejemplo, si tu bucket se encuentra en la multirregión US
y tus VMs de Compute Engine se ejecutan en las zonas us-east1-b
y us-central1-a
, puedes crear una caché en us-east1-b
y otra en us-central1-a
.
Anywhere Cache es un servicio completamente administrado que siempre devuelve datos coherentes.
Para conocer los precios de Anywhere Cache, consulta Precios de Anywhere Cache.
Beneficios
Cuando almacenas en caché tus datos con Anywhere Cache, obtienes los siguientes beneficios:
Obtén un acceso más rápido a los datos: Anywhere Cache ubica tus datos en la misma zona que tus recursos de procesamiento y está completamente respaldado por SSD. Esto permite que tus cargas de trabajo alcancen hasta 2.5 TB/s de capacidad de procesamiento y reduce la latencia para lecturas más rápidas.
Evita las tarifas de transferencia de datos multirregionales: Debido a que tus datos se entregan desde la caché, puedes usar Anywhere Cache para evitar las tarifas de transferencia de datos asociadas con la lectura de datos desde buckets multirregionales.
Evita las tarifas de recuperación: Las tarifas de recuperación para los buckets en Nearline Storage, Coldline Storage y Archive Storage no se aplican a las lecturas de datos desde la caché.
Acumula costos más bajos por las operaciones de lectura: Las operaciones de lectura que se entregan desde la caché de Anywhere tienen un precio más bajo que las operaciones de clase B que se entregan desde un bucket en el almacenamiento estándar.
Ajusta automáticamente el tamaño de tu caché: El almacenamiento en caché dinámico en SSD de Anywhere Cache se ajusta automáticamente según el uso, sin que tengas que especificar un tamaño de caché.
Usa las cachés de manera eficiente: Anywhere Cache se puede habilitar en buckets existentes sin necesidad de cambiar tus aplicaciones o APIs existentes. Los datos almacenados en la caché en cualquier lugar tienen coherencia sólida.
Para obtener detalles sobre los precios, consulta Precios de Anywhere Cache. Para obtener información sobre las cuotas, consulta Cuotas de Anywhere Cache.
¿Cuándo deberías usar Anywhere Cache?
La caché en cualquier lugar se usa mejor para almacenar en caché datos que cambian con poca frecuencia y se leen con frecuencia, como los datos que se usan para entrenar modelos de AA o ejecutar cargas de trabajo de análisis.
Supongamos que entrenas un modelo de IA en muchos nodos de Google Kubernetes Engine, todos ellos leen repetidamente los datos almacenados en tus buckets de Cloud Storage y se ejecutan en la misma zona. Cuando creas una caché en la zona en la que se ejecuta tu carga de trabajo, la caché proporciona ancho de banda adicional y te ayuda a evitar las tarifas por transferencia de datos asociadas con la lectura de datos en buckets multirregionales, lo que te permite ejecutar cargas de trabajo más grandes y escaladas de manera más eficiente.
Ubicaciones admitidas
Las cachés se pueden crear en zonas específicas siempre que haya capacidad disponible. Si la capacidad para crear una caché no está disponible, el servicio de Anywhere Cache seguirá intentando crear una caché hasta que la capacidad esté disponible o el usuario aborte el proceso de creación. Es posible que la capacidad siga sin estar disponible durante un período prolongado.
Para cada bucket, puedes crear un máximo de una caché por zona. Por ejemplo, si un bucket se encuentra en la región us-east1
, puedes crear una caché en us-east1-b
y otra en us-east1-c
. Si un bucket se encuentra en una región múltiple que abarca us-central1
y us-east1
, puedes crear una caché en us-central1-a
y otra en us-east1-b
.
Puedes usar Anywhere Cache en las siguientes zonas. Estas zonas se pueden usar según el tipo de ubicación de tu bucket.
Área geográfica | Ubicación | ||||
---|---|---|---|---|---|
Nombre de la zona | Región | Birregional | Multirregión | Región doble personalizada | |
Asia | |||||
asia-east1-a |
|||||
asia-east1-b |
|||||
asia-east1-c |
|||||
asia-northeast1-a |
|||||
asia-northeast1-b |
|||||
asia-northeast1-c |
|||||
asia-southeast1-a |
|||||
asia-southeast1-b |
|||||
asia-southeast1-c |
|||||
Europa | |||||
europe-north1-a |
|||||
europe-north1-b |
|||||
europe-north1-c |
|||||
europe-west1-b |
|||||
europe-west1-c |
|||||
europe-west1-d |
|||||
europe-west4-a |
|||||
europe-west4-b |
|||||
europe-west4-c |
|||||
europe-west6-a |
|||||
europe-west6-b |
|||||
Estados Unidos | |||||
us-central1-a |
|||||
us-central1-b |
|||||
us-central1-c |
|||||
us-central1-f |
|||||
us-east1-a |
|||||
us-east1-b |
|||||
us-east1-c |
|||||
us-east1-d |
|||||
us-east4-a |
|||||
us-east4-b |
|||||
us-east4-c |
|||||
us-east5-a |
|||||
us-east5-b |
|||||
us-east5-c |
|||||
us-south1-a |
|||||
us-south1-b |
|||||
us-south1-c |
|||||
us-west1-a |
|||||
us-west1-b |
|||||
us-west1-c |
|||||
us-west3-a |
|||||
us-west3-b |
|||||
us-west3-c |
|||||
us-west4-a |
|||||
us-west4-b |
|||||
us-west4-c |
Recomendador de Anywhere Cache
El recomendador de Anywhere Cache proporciona recomendaciones y estadísticas para crear cachés en pares de zona y bucket analizando tu uso de datos y almacenamiento. Para obtener información general y consultar las instrucciones para usar el recomendador de Anywhere Cache, consulta Recomendador de Anywhere Cache.
Operaciones de caché
En esta sección, se describen las operaciones que puedes realizar en las cachés de Anywhere Cache. Algunas operaciones son asíncronas y muestran una operación de larga duración, mientras que otras son síncronas, en las que las operaciones se realizan de inmediato y muestran un recurso de AnywhereCache.
Crea una caché
Cuando creas una caché, puedes configurar las siguientes propiedades:
El tiempo de actividad (TTL) es el tiempo más largo que un fragmento de datos permanecerá en la caché desde la última lectura. Por ejemplo, si el TTL se establece en 24 horas, un fragmento de datos que se leyó por última vez a las 11 a.m. del lunes y no se leyó posteriormente se quitará de la caché a las 11 a.m. del martes.
Puedes establecer un TTL entre 1 hora y 7 días. Si no se especifica, el TTL se establece de forma predeterminada en 24 horas.
La política de admisión determina si la caché transfiere datos en el primer error o en el segundo. La transferencia en el segundo error te permite transferir datos a la caché solo cuando los datos se leen por segunda vez dentro del TTL que especificaste. La transferencia en el segundo error te permite reducir el costo de usar Anywhere Cache, ya que garantiza que solo se almacenen en caché los objetos que se leen más de una vez, pero también reduce la tasa de acierto de caché.
Si no se especifica, la política de admisión se establece de forma predeterminada en la primera omisión de ingesta.
Cuando creas una caché, esta entra en el estado CREATING mientras se crea y, luego, entra en el estado RUNNING cuando comienza a ejecutarse de forma activa. La operación de creación de caché puede tardar hasta 48 horas, después de lo cual se agotará el tiempo de espera.
La API de AnywhereCaches Create es asíncrona. Una operación de creación hace que se muestre una operación de larga duración. La operación de larga duración proporciona un estado de la operación de creación y te permite cancelarla antes de que se complete.
Actualiza una caché
Puedes actualizar el TTL o la política de admisión de una caché en estado RUNNING. Cuando se está actualizando una caché, el campo pending_update
se evalúa como true
. Mientras el campo pending_update
se evalúa como true
, no se puede volver a actualizar la caché.
No se puede actualizar una caché en estado CREATING, PAUSED o DISABLED. La API de AnywhereCaches Update es asíncrona y devuelve una operación de larga duración.
Cuando finaliza la actualización del TTL de una caché, el nuevo TTL se aplica de inmediato a los datos recién incorporados y solo se aplica a los datos existentes cuando se leen. Esto significa que los datos existentes en la caché conservan el TTL anterior hasta que se leen o se expulsan debido al vencimiento del TTL.
Obtén una caché
Cuando obtienes una caché, Anywhere Cache devuelve el estado y la configuración de la instancia de caché. La API de Get de AnywhereCaches es síncrona y devuelve un recurso de AnywhereCache.
Enumera cachés
Puedes devolver una lista de las cachés asociadas para un bucket determinado. La API de AnywhereCaches List es síncrona y admite la paginación.
Cómo pausar una caché
Puedes pausar una caché para detener la transferencia de datos de una caché que se encuentra en estado RUNNING. Cuando una caché está en estado PAUSED, puedes leer los datos existentes de la caché, pero no puedes transferir datos nuevos a ella. La lectura de datos existentes desde la caché restablece el TTL de los datos en la caché.
Cuando reanudas una caché en estado PAUSED, esta entra en estado RUNNING.
La API de AnywhereCache Pause es síncrona y devuelve un recurso de AnywhereCache.
Cómo reanudar una caché
Puedes reanudar las cachés que se encuentran en estado PAUSED o DISABLED, siempre que la caché inhabilitada se encuentre dentro del período de gracia de 1 hora. Después del período de gracia de 1 hora, la operación de reanudación se realiza con el mayor esfuerzo posible, ya que la caché se puede borrar en cualquier momento después del período de gracia. Una vez que se reanuda una caché, entra en el estado RUNNING.
La API de AnywhereCaches Resume es síncrona y devuelve un recurso de AnywhereCache.
Cómo inhabilitar una caché
Puedes inhabilitar una caché para quitarla de forma permanente de la configuración de tu bucket. Cuando inhabilitas una caché, esta entra en el estado DISABLED. Durante este estado, aún puedes leer los datos existentes de la caché, pero no puedes transferir datos nuevos a ella.
Después de inhabilitar una caché, hay un período de gracia de 1 hora durante el cual puedes cancelar la inhabilitación reanudando la caché. Después de este período de gracia de 1 hora, se borra la caché. Cuando se borra la caché, se quitan todos los datos que contiene y se quita la caché del bucket.
Durante la hora anterior a la eliminación de la caché, puedes revertir el estado DISABLED reanudando la caché, momento en el que se reanuda en el estado RUNNING.
La API de AnywhereCaches Disable es síncrona y devuelve un recurso de AnywhereCache.
Ajuste de escala automático del tamaño de la caché y del límite de ancho de banda
Anywhere Cache proporciona almacenamiento en caché y ancho de banda temporales que se ajustan según tus necesidades. Para obtener más información sobre los límites de tamaño y ancho de banda de Anywhere Cache, consulta Cuotas y límites de Cloud Storage.
Controles de costos
A continuación, se incluyen varias sugerencias que puedes usar para minimizar los costos de ejecutar una caché:
Selección de buckets: Solo debes crear cachés para los buckets que contengan datos que desees almacenar en caché.
Selección de zona: Solo debes crear cachés en las zonas en las que tu carga de trabajo se beneficiará del almacenamiento en caché.
Ingest on second read: Puedes especificar que los datos solo se ingieran en la segunda lectura, en lugar de en la primera, lo que ayuda a garantizar que la caché solo almacene los datos que se leen más de una vez.
Configuración del TTL: Debes especificar el TTL mínimo que necesitas para almacenar datos en la caché. El TTL se puede cambiar sin interrupciones.
Pausar la caché: Puedes pausar una caché para detener la transferencia de datos y las tarifas asociadas a la transferencia de datos a la caché. La detención de la caché tiene un efecto inmediato. Puedes pausar una caché hasta que se expulsen todos los datos después de que finalice el TTL especificado. Cuando se descartan todos los datos, ya no se te cobran tarifas de almacenamiento de datos.
Inhabilitar la caché: Puedes inhabilitar una caché para quitarla de forma permanente del servicio y evitar que se acumulen las tarifas asociadas.
Limitaciones y restricciones
No puedes borrar un bucket hasta que se hayan borrado todas las cachés asociadas a él.
Cuando realices operaciones de creación, inhabilitación, pausa, reanudación o actualización de la caché, limita la frecuencia de las operaciones a no más de una operación por segundo. Realizar más de una operación por segundo puede provocar errores.
Anywhere Cache no es un almacenamiento duradero, y los datos se pueden expulsar de la caché en varias situaciones. Una situación es cuando la caché cambia de tamaño automáticamente para garantizar que haya recursos suficientes disponibles para tus cargas de trabajo. En esta situación, es posible que se expulsen algunos datos según un algoritmo de menos usado recientemente (LRU) hasta que el servicio de Anywhere Cache termine de aumentar el tamaño de la caché.
En cualquier caso, tus datos permanecerán almacenados de forma segura en tu bucket de origen. Cuando los datos se descartan de la caché por motivos distintos al vencimiento del TTL, el servicio de Anywhere Cache intentará volver a incorporarlos a la caché de forma transparente y sin costo para ti. Si los datos no se pueden volver a transferir de forma transparente o se descartaron debido al vencimiento del TTL, el servicio de Anywhere Cache los volverá a transferir en la primera o segunda lectura.
Anywhere Cache no se puede usar para entregar datos para las solicitudes de lectura de objetos que emite BigQuery. Cuando usas BigQuery para consultar datos en un bucket de Cloud Storage como una tabla externa, los datos se entregan desde el bucket y no se transfieren a la caché, incluso si el bucket tiene habilitada la caché.
Las recomendaciones y las estadísticas que genera el recomendador de Anywhere Cache no se pueden leer con BigQuery.
Soluciona problemas de escasez de recursos temporales
En las siguientes secciones, se describe cómo solucionar problemas cuando se produce una escasez temporal de recursos, en la que no hay suficiente capacidad de SSD o capacidad de procesamiento en una zona especificada para crear una caché, aumentar el tamaño de una caché o aumentar el límite de ancho de banda de una caché.
No se pudo crear una caché nueva
Anywhere Cache puede fallar al crear una caché nueva en una zona específica debido a la falta de capacidad de SSD o de recursos de procesamiento, lo que genera una escasez temporal de recursos. Durante este período, Anywhere Cache intenta crear la nueva caché por hasta 48 horas. Si los recursos están disponibles dentro del plazo de 48 horas, Anywhere Cache completará correctamente la solicitud de creación de caché. Si los recursos no están disponibles en un plazo de 48 horas, la solicitud de creación de caché falla.
Cómo solucionar problemas: Para evitar interrupciones en el almacenamiento en caché, puedes cancelar manualmente la operación de creación de caché y crear una nueva en una zona diferente que podría tener capacidad disponible. Para supervisar o cancelar una operación de creación de caché, consulta cómo usar operaciones de larga duración.
No se pudo aumentar el tamaño de la caché
Anywhere Cache puede fallar al aumentar el tamaño de una caché cuando la cantidad requerida de capacidad de SSD no está disponible en la zona de la caché.
Si bien Anywhere Cache ofrece aumentos automáticos del tamaño de la caché a pedido, estos aumentos dependen de la disponibilidad de capacidad de SSD. Si la capacidad de SSD no está disponible cuando se realiza la solicitud de aumento automático del tamaño de la caché, Anywhere Cache seguirá enviando la solicitud hasta que finalice la escasez temporal de recursos o ya no sea necesario aumentar el tamaño de la caché.
Durante una escasez temporal de recursos, se incorporan datos nuevos y se expulsan los datos existentes de la caché según el uso menos reciente. Las cachés que son lo suficientemente grandes como para almacenar la mayor parte de los datos activos no experimentan un impacto significativo en las métricas de caché. Las cachés con menos capacidad que la cantidad de datos activos pueden expulsar datos y volver a incorporarlos con más frecuencia que las cachés que no se ven afectadas por la escasez de recursos. Cuando el tamaño real de la caché es mucho menor que la capacidad necesaria, es posible que experimentes el siguiente comportamiento relacionado con la escasez de recursos:
- Un límite de ancho de banda de caché más bajo, una capacidad de procesamiento de caché más baja, un mayor consumo de la cuota de ancho de banda de transferencia de datos y un posible impacto en otras métricas
- La facturación podría verse afectada de las siguientes maneras:
- Aumento de los costos debido a la tarifa de transferencia de la caché
- Disminución de los costos por la tarifa de almacenamiento en caché
- Disminución de los costos por la tarifa de transferencia de datos de caché
- Disminución de los costos por las tarifas de las operaciones de transferencia de datos de la caché
- Aumento de los costos debido a la tarifa de transferencia de datos multirregión
- Aumento de los costos por el uso de operaciones de clase B
Para obtener información sobre estas comisiones, consulta Precios de Anywhere Cache.
Cómo solucionar problemas: Para obtener los mejores resultados durante una escasez temporal de recursos, te recomendamos que supervises tus cachés y pauses las cachés o las cargas de trabajo innecesarias según tus necesidades.
No se pudo aumentar el límite de ancho de banda de una caché
La escasez del límite de ancho de banda de la caché puede ocurrir de forma temporal durante un aumento del tamaño de la caché cuando los recursos de entrega de capacidad de procesamiento en una zona específica son insuficientes para escalar el límite de ancho de banda de la caché de las cachés existentes a 20 Gbps por TiB. Durante una escasez de ancho de banda de caché disponible, Anywhere Cache no permite que el límite de ancho de banda de caché se ajuste a 20 Gbps por TiB de datos, pero la caché sigue atendiendo las solicitudes de lectura. Las solicitudes para aumentar el límite de ancho de banda de la caché se evalúan de forma individual. Durante una escasez de ancho de banda de caché disponible, es posible que observes un aumento en el consumo de ancho de banda de salida de datos de tu bucket.
Cómo solucionar problemas: Para obtener los mejores resultados durante una escasez temporal de recursos, te recomendamos que supervises tus cachés y pauses las cachés o las cargas de trabajo innecesarias según tus necesidades.