En esta página, se describe Anywhere Cache, una función que proporciona una caché de lectura zonal con copia de seguridad en SSD para los buckets de Cloud Storage. Anywhere Cache proporciona una capacidad de caché on demand ajustando automáticamente el tamaño de la caché y el ancho de banda disponible para satisfacer tus necesidades. Debido a sus beneficios, la caché Anywhere es particularmente útil para reducir los costos de red asociados con las cargas de trabajo con mucho procesamiento de lectura.
Consulta Crea y administra cachés para aprender a 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 provienen de la zona en lugar del bucket. Cada caché entrega servicios a los clientes dentro de la misma zona que la caché. Los datos solo se transferirán a la caché desde tu bucket cuando una VM que reside en la misma zona que la caché los lea. 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 se debe crear 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 cualquier zona que forme parte de 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 y siempre muestra datos coherentes.
Beneficios
Anywhere Cache te ayuda de dos maneras principales:
Accede a los datos más rápido: Anywhere Cache coloca tus datos en dispositivos de almacenamiento de alto rendimiento cerca de los recursos de procesamiento. La ruta de red más corta y los dispositivos de alto rendimiento permiten que tus cargas de trabajo obtengan más rendimiento, completen las operaciones de lectura más rápido y reduzcan la latencia de tiempo hasta el primer byte de las operaciones de lectura.
Evitar las tarifas de transferencia de datos multirregionales: Puedes usar la caché Anywhere para evitar las tarifas de transferencia de datos de otros productos, como Compute Engine, cuando usas buckets multirregionales para consultar datos de Cloud Storage.
¿Cuándo deberías usar Anywhere Cache?
La caché Anywhere 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, que leen de forma repetida los datos almacenados en tus buckets de Cloud Storage y se ejecutan en la misma zona. Cuando creas una caché en la zona donde se ejecuta la carga de trabajo, esta proporciona ancho de banda adicional y te ayuda a evitar las tarifas de 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 forma 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 caché Anywhere seguirá intentando crear una caché hasta que la capacidad esté disponible o el usuario cancele el proceso de creación. Es posible que la capacidad no esté 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 la caché Anywhere 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 | Birregional 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-west1-a |
|||||
us-west1-b |
|||||
us-west1-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 bucket-zona a partir del análisis de tu uso y almacenamiento de datos. Para obtener información general y 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 prolongado 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 sin lecturas posteriores se eliminará de la caché a las 11 a.m. del martes.
Puedes establecer un TTL de 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 la primera omisión o en la segunda. La transferencia en la segunda omisión te permite transferir datos a la caché solo cuando se leen por segunda vez dentro del TTL que especificaste. La transferencia en el segundo error te permite reducir el costo de usar la caché de Anywhere, ya que te aseguras de almacenar en caché solo los objetos que se leen más de una vez, pero también reduce la tasa de aciertos de caché.
Si no se especifica, la política de admisión se transfiere de forma predeterminada en la primera omisión.
Cuando creas una caché, esta entra en el estado CREATING mientras se crea y en el estado RUNNING cuando se ejecuta de forma activa. La operación de creación de la caché puede tardar hasta 48 horas, después de lo cual se agota 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 un estado RUNNING.
Cuando una caché está en proceso de actualización, el campo pending_update
se evalúa como true
. Mientras el campo pending_update
se evalúa como true
,
la caché no se puede volver a actualizar.
No se puede actualizar una caché en estado CREANDO, EN PAUSA o INHABILITADA. La API de AnywhereCaches Update es asíncrona y muestra una operación de larga duración.
Cuando se termina de actualizar el TTL de una caché, el nuevo TTL se aplica de inmediato a los datos transferidos recientemente y solo a los datos existentes cuando se leen. Esto significa que los datos existentes dentro de la caché retienen el TTL anterior hasta que se leen o se expulsan debido al vencimiento del TTL.
Cómo obtener una caché
Cuando obtienes una caché, Anywhere Cache muestra el estado y la configuración de la instancia de caché. La API de AnywhereCaches Get es síncrona y muestra un recurso de AnywhereCache.
Enumera las cachés
Puedes mostrar una lista de las cachés asociadas para un bucket determinado. Puedes mostrar la lista de cachés de forma paginada.
La API de AnywhereCaches List es síncrona y muestra una lista de recursos de AnywhereCache.
Cómo pausar una caché
Puedes pausar una caché para detener la transferencia de datos de una caché que esté 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 AnywhereCaches Pause es síncrona y muestra un recurso de AnywhereCache.
Cómo reanudar una caché
Puedes reanudar las cachés que estén en estado PAUSED o DISABLED, siempre que la caché inhabilitada esté 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 lo mejor que se puede, 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 un estado RUNNING.
La API de AnywhereCaches Resume es síncrona y muestra 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 un estado INHABILITADO. Durante este estado, puedes leer los datos existentes de la caché, pero no puedes transferir datos nuevos a la caché.
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 desalojan todos los datos que contiene y se quita del bucket.
Durante el período de 1 hora antes de que se borre la caché, puedes revertir el estado DISABLED reanudando la caché, en cuyo punto la caché se reanuda en el estado RUNNING.
La API de AnywhereCaches Disable es síncrona y muestra un recurso de AnywhereCache.
Ajuste de escala automático del tamaño de la caché y el límite de ancho de banda
Anywhere Cache proporciona almacenamiento en caché temporal y ancho de banda que se escalan 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 bucket: Solo debes crear cachés para los buckets que contengan los datos que deseas almacenar en caché.
Selección de zona: Solo debes crear cachés en zonas en las que tu carga de trabajo se beneficie del almacenamiento en caché.
Transferencia en la segunda lectura: Puedes especificar que los datos solo se transfieran en la segunda lectura, en lugar de la primera, lo que ayuda a garantizar que la caché solo almacene datos que se lean más de una vez.
Configuración de 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 de transferencia de caché. Detener la caché tiene un efecto inmediato. Puedes pausar una caché hasta que se desalojen todos los datos después de que finalice el TTL especificado. Cuando se desalojan 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 todas las tarifas de caché asociadas.
Limitaciones y restricciones
No puedes borrar un bucket hasta que se borren todas las cachés asociadas con él.
Anywhere Cache no es un almacenamiento duradero, y los datos pueden desalojarse de la caché en varias situaciones. Una situación es cuando se cambia el tamaño de la caché automáticamente para garantizar que haya suficientes recursos disponibles para tus cargas de trabajo. En esta situación, es posible que se expulsen algunos datos según un algoritmo de uso menos reciente (LRU) hasta que el servicio de caché de Anywhere haya terminado 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 eliminan de la caché por motivos distintos del vencimiento del TTL, el servicio de caché de Anywhere intentará volver a transferir los datos 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 caché de Anywhere volverá a transferir los datos en la primera o segunda lectura.
Escasez temporal de recursos
En las siguientes secciones, se describe el comportamiento de la caché Anywhere cuando se produce una escasez de recursos temporales, lo que significa que no hay suficiente capacidad de SSD ni de entrega en una zona especificada para crear una caché o aumentar su tamaño.
No se pudo crear una caché nueva
Anywhere Cache puede no crear una caché nueva en una zona específica debido a la falta de capacidad de SSD o a los recursos de entrega de rendimiento, lo que genera una escasez temporal de recursos. Durante este período, Anywhere Cache intenta crear la caché nueva durante un máximo de 48 horas. Si los recursos están disponibles en un plazo de 48 horas, Anywhere Cache completa la solicitud de creación de la caché correctamente. Si los recursos no están disponibles en un plazo de 48 horas, la solicitud de creación de la caché falla. Para evitar interrupciones en la caché, puedes cancelar manualmente la solicitud de creación de caché y crear una nueva caché en una zona o región diferente que pueda tener capacidad disponible.
Para supervisar la creación de la caché durante una escasez temporal de recursos, consulta la documentación de Anywhere Cache para usar operaciones de larga duración.
No se pudo aumentar el tamaño de la caché
Anywhere Cache puede no completar un aumento de tamaño de caché debido a una escasez temporal de recursos en dos situaciones:
Cuando no hay suficiente capacidad de SSD para aumentar el tamaño de la caché en la zona especificada. Para obtener más información, consulta Capacidad insuficiente de SSD.
Cuando hay una escasez temporal de recursos de entrega de rendimiento en una zona para escalar el límite de ancho de banda de la caché. Para obtener más información, consulta Capacidad de publicación insuficiente.
Capacidad de SSD insuficiente
Aunque Anywhere Cache ofrece aumentos automáticos del tamaño de la caché a pedido, estos aumentos dependen de la disponibilidad de la capacidad de la 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 hasta que ya no se necesite un aumento en el tamaño de la caché.
Durante una escasez temporal de recursos, se transfieren datos nuevos y se desalojan los datos existentes en la caché según el criterio de uso menos reciente para garantizar que haya suficiente espacio en la caché para los datos nuevos. Las cachés que son lo suficientemente grandes como para almacenar la mayor parte de los datos activos tienen poco o ningún impacto en las métricas de caché. Las cachés con menos capacidad que la cantidad de datos activos pueden desalojar datos y volver a transferir los mismos datos 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 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 la tarifa de transferencia a caché
Disminución de la tarifa de almacenamiento en caché
Disminución de la tarifa de transferencia de datos de caché
Disminución de la tarifa de las operaciones de transferencia de datos de caché
Aumento de la tarifa de transferencia de datos multirregión
Aumento de la tarifa de las operaciones de clase B
Para obtener los mejores resultados durante una escasez temporal de recursos, te recomendamos que supervises tus cachés y que detengas la caché o la carga de trabajo según tus necesidades.
Capacidad de publicación insuficiente
Una escasez de límite de ancho de banda de la caché (CBL) puede ocurrir temporalmente durante un aumento del tamaño de la caché cuando los recursos de entrega de rendimiento en una zona específica no son suficientes 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 CBL, Anywhere Cache no permite que la CBL de la caché escale a 20 Gbps por TiB de datos, pero la caché sigue entregando solicitudes de lectura. Las solicitudes de aumento de CBL se evalúan por solicitud. Durante una escasez de CBL, es posible que observes un aumento en el consumo de ancho de banda de salida.
Para obtener los mejores resultados durante una escasez temporal de recursos, te recomendamos que supervises tus cachés y que detengas la caché o la carga de trabajo según tus necesidades.