En esta página, se describe Rapid Cache, una función que proporciona una caché de lectura zonal respaldada por SSD para los buckets de Cloud Storage que puede aumentar la capacidad de procesamiento y reducir la latencia de los datos almacenados. Rapid Cache proporciona capacidad de almacenamiento y ancho de banda que se escalan automáticamente según tus necesidades. Rapid Cache es un servicio completamente administrado que devuelve datos coherentes.
Rapid Cache es útil para mejorar el rendimiento de las cargas de trabajo con muchas operaciones de lectura y reducir los costos de red. Para obtener más información, consulta Beneficios.
Consulta Crea y administra cachés para aprender a crear y administrar cachés con Rapid Cache.
¿Cómo funciona Rapid Cache?
Rapid Cache te permite crear cachés en la misma zona que tus cargas de trabajo. Cuando creas una caché en una zona, las solicitudes de lectura de datos que se originan en la zona se procesan por la caché en lugar del bucket. Cada caché atiende a los clientes dentro de la misma zona que la caché.
Los datos de un bucket se transfieren a una caché cuando los lee una VM que reside en la misma zona que la caché. Si configuras el comportamiento de transferencia en escritura, los datos también se transfieren a la caché cuando se escriben en el bucket.
No se almacenan en caché los metadatos. Las solicitudes de metadatos de objetos siempre las procesa el bucket en lugar de la caché.
Para obtener más información sobre cómo se transfieren los datos a una caché, consulta Transferencia de datos. Puedes configurar el tiempo de actividad (TTL) y el comportamiento de transferencia en la escritura de una caché cuando la creas o actualizas.
Beneficios
Cuando almacenas en caché tus datos con Rapid Cache, obtienes los siguientes beneficios:
Obtén acceso más rápido a los datos: Rapid Cache coloca tus datos en la misma zona que tus recursos de procesamiento y está completamente respaldada por SSD. Esto permite que tus cargas de trabajo obtengan hasta 2.5 TB/s de capacidad de procesamiento y reduce la latencia para lecturas más rápidas.
Reduce las tarifas de transferencia de datos multirregionales: Los datos que se leen desde la caché se cobran con tarifas de transferencia de datos reducidas en comparación con los datos que se leen directamente desde un bucket multirregional.
Reduce 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 de la caché.
Acumula costos más bajos por las operaciones de lectura: Las operaciones de lectura que se entregan desde Rapid Cache tienen un precio más bajo que las operaciones de clase B que se entregan desde un bucket en Standard Storage.
Ajusta automáticamente la escala del tamaño de la caché: El almacenamiento en caché de SSD dinámico de Rapid Cache ajusta la escala automáticamente según el uso sin que tengas que especificar un tamaño de caché.
Usa las cachés de manera eficiente: Rapid Cache se puede habilitar en buckets existentes sin necesidad de realizar cambios en tus aplicaciones o APIs existentes. Los datos almacenados en Rapid Cache tienen coherencia sólida.
Para obtener detalles sobre los precios, consulta Precios de Rapid Cache. Para obtener información sobre las cuotas, consulta Cuotas de Rapid Cache.
¿Cuándo deberías usar Rapid Cache?
Usa Rapid Cache para los datos que cambian con poca frecuencia y se leen con frecuencia para acelerar las lecturas de datos para las cargas de trabajo de análisis y el entrenamiento y la carga de modelos de IA/AA.
Supongamos que entrenas un modelo de IA en muchos nodos de Google Kubernetes Engine, todos leyendo repetidamente datos que se almacenan 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 reducir 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.
Ajuste de escala automático del tamaño de la caché y del límite de ancho de banda
La caché rápida proporciona capacidad de almacenamiento temporal y ancho de banda que se escalan vertical u horizontalmente de forma automática según la cantidad de datos almacenados en una caché.
El límite de ancho de banda de la caché comienza en 100 Gbps y escala a una tasa de 20 Gbps por cada 1 TiB de datos almacenados. Puedes aumentar el ancho de banda inicial o el límite de ancho de banda total si aumentas la cantidad de datos almacenados en la caché, creas más cachés en una zona o te comunicas con tu administrador técnico de cuentas o representante de Google.
Para obtener más información sobre los límites de tamaño y ancho de banda de Rapid Cache, consulta Cuotas y límites de Cloud Storage.
Almacenamiento de datos en caché en zonas
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-central1-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 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
multirregión que abarca us-central1 y us-east1, puedes crear
una caché en us-central1-a y otra en us-east1-b.
Puedes crear cachés en zonas siempre que haya capacidad disponible para la zona. Si la capacidad para crear una caché no está disponible, Rapid Cache 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.
Puedes usar Rapid Cache en las siguientes zonas. Estas zonas se pueden usar según el tipo de ubicación de tu bucket.
Asia
En la siguiente tabla, se muestran las zonas y los tipos de ubicación disponibles para Rapid Cache en el área geográfica de Asia.
| Nombre de la zona | Región | Birregional | Multirregión | Birregional personalizada |
|---|---|---|---|---|
asia-east1-a |
||||
asia-east1-b |
||||
asia-east1-c |
||||
asia-northeast1-a |
||||
asia-northeast1-b |
||||
asia-northeast1-c |
||||
asia-south1-a |
||||
asia-south1-b |
||||
asia-south1-c |
||||
asia-southeast1-a |
||||
asia-southeast1-b |
||||
asia-southeast1-c |
Europa
En la siguiente tabla, se muestran las zonas y los tipos de ubicación disponibles para Rapid Cache en el área geográfica de Europa.
| Nombre de la zona | Región | Birregional | Multirregión | Birregional personalizada |
|---|---|---|---|---|
europe-north1-a |
||||
europe-north1-b |
||||
europe-north1-c |
||||
europe-west1-b |
||||
europe-west1-c |
||||
europe-west1-d |
||||
europe-west3-a |
||||
europe-west3-b |
||||
europe-west3-c |
||||
europe-west4-a |
||||
europe-west4-b |
||||
europe-west4-c |
||||
europe-west4-ai1a
(Zona de IA)
|
||||
europe-west6-a |
||||
europe-west6-b |
Estados Unidos
En la siguiente tabla, se muestran las zonas y los tipos de ubicación que están disponibles para Rapid Cache en el área geográfica de Estados Unidos.
| Nombre de la zona | Región | Birregional | Multirregión | Birregional personalizada |
|---|---|---|---|---|
us-central1-a |
||||
us-central1-b |
||||
us-central1-c |
||||
us-central1-f |
||||
us-central1-ai1a
(Zona de IA)
|
||||
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-south1-ai1b
(Zona de IA)
|
||||
us-west1-a |
||||
us-west1-b |
||||
us-west1-c |
||||
us-west2-a |
||||
us-west3-a |
||||
us-west3-b |
||||
us-west3-c |
||||
us-west4-a |
||||
us-west4-b |
||||
us-west4-c |
Transferencia de datos para cachés
De forma predeterminada, los datos se transfieren a una caché después de que se solicitan por primera vez.
Como la caché está vacía cuando llega esta solicitud inicial, aún no se pueden encontrar los datos en ella. Esto genera un error de caché inicial, en el que el sistema recupera los datos del bucket de Cloud Storage de respaldo. A medida que el sistema entrega estos datos recuperados al usuario, los transfiere de forma simultánea a la caché.
Una vez que se completa esta primera solicitud, la residencia de datos reside en la caché, lo que permite que todas las lecturas posteriores se entreguen directamente desde la caché como aciertos de caché de alta velocidad. Este comportamiento reduce significativamente la latencia de lectura y acelera la recuperación de datos. Los datos transferidos residen en la caché hasta que vence su TTL, después de lo cual se expulsan de la caché.
Para evitar por completo la solicitud inicial lenta, puedes configurar la caché para que ingiera datos en el momento de la escritura, además de ingerir datos después de la primera lectura.
Transferencia de datos en fragmentos
Cuando se transfieren datos a una caché, Rapid Cache divide los objetos en fragmentos más pequeños de tamaño fijo. Dividir los objetos en fragmentos permite un almacenamiento en caché más detallado, en especial para archivos grandes en los que solo se accede a partes específicas.
Un fragmento es un bloque de datos de 2 MB. Cuando se realiza una solicitud para un objeto, Rapid Cache identifica qué fragmentos de 2 MB cubren el rango de bytes solicitado y administra esos fragmentos de forma independiente.
El comportamiento de la transferencia de datos varía según el tamaño del objeto que se transfiere a la caché:
En el caso de las solicitudes de lectura de objetos de más de 2 MB, solo se transfieren los fragmentos que contienen el rango de bytes solicitado. Por ejemplo, si se lee el primer MB de un archivo de 100 MB, solo se transfiere el primer fragmento de 2 MB.
En el caso de las solicitudes de lectura de objetos de menos de 2 MB (por ejemplo, una imagen de 500 KB), se transfiere todo el objeto a la caché.
Transferencia de datos en la escritura
Cuando habilitas una caché para transferir datos en la escritura, los datos se transfieren a la caché en el momento en que se escriben en el bucket. Este comportamiento se puede habilitar de forma opcional, además del comportamiento predeterminado de la caché de transferir datos después de la lectura inicial.
La función de transferencia en la escritura quita los errores de caché iniciales y permite que tu carga de trabajo se beneficie de un acierto de caché inmediato en la primera lectura de datos. La transferencia de datos en la escritura acelera las cargas de trabajo de lectura después de la escritura, como el restablecimiento de los puntos de control del sistema o la preparación de canalizaciones de datos para el entrenamiento de modelos.
Puedes habilitar una caché para transferir datos en la escritura cuando creas o actualizas la caché. Puedes configurar una caché para transferir todos los objetos que se escriben en un bucket (también conocido como "transferencia en escritura a nivel de bucket") o transferir de forma selectiva los objetos que se escriben en el bucket en una carpeta administrada especificada (también conocida como "transferencia en escritura a nivel de prefijo").
Por ejemplo, supongamos que habilitas una caché para realizar la transferencia en escritura a nivel del prefijo para los objetos del bucket my-bucket que tienen el prefijo red/ en su nombre. Luego,
subes tres objetos a my-bucket: los objetos red/my-dog.png, blue/my-cat.png y red/my-goldfish.png. Como resultado, solo los objetos
red/my-dog.png y red/my-goldfish.png se transfieren a la caché cuando
se suben a my-bucket.
Cuando configuras la transferencia en el momento de la escritura a nivel del prefijo con ciertas herramientas (como la consola deCloud de Confiance ), se crea automáticamente una nueva carpeta administrada si especificas un prefijo que no es el nombre de una carpeta administrada existente.
Sin embargo, cuando usas la API de JSON, debes crear manualmente la carpeta administrada y aplicar la configuración de ingestOnWrite para cada zona de caché.
Puedes encontrar las instrucciones para habilitar o inhabilitar la transferencia en el momento de la escritura con cada
herramienta en Usa Rapid Cache.
Para comprender cómo habilitar o inhabilitar la transferencia en la escritura a nivel de bucket o prefijo cuando usas la API de JSON, expande la sección Comprende cómo habilitar la transferencia en la escritura. La información de esta sección se relaciona principalmente con la API de JSON. Otras herramientas, como la consola deCloud de Confiance , ofuscan algunos de los parámetros de configuración para facilitar la habilitación y administración de la transferencia en la escritura.
Comprender cómo habilitar la transferencia en el momento de la escritura
En esta sección, se explica qué parámetros de configuración de la API de JSON debes usar para habilitar la transferencia en el momento de la escritura en todos los objetos que se escriben en un bucket o solo en los objetos seleccionados que se escriben en el bucket con un prefijo de carpeta administrada.
Existen dos parámetros de configuración que controlan si una caché transfiere datos en la escritura para todos los objetos de un bucket o solo para los objetos seleccionados con un prefijo:
-
La habilitación de la transferencia en el momento de la escritura a nivel de bucket se logra con el campo
ingestOnWritede un recurso de caché. El campo se ve de la siguiente manera:{ "zone": "us-east1-a", "ttl": "24h", "ingestOnWrite": true }- Si se establece en
true, se habilita la transferencia en escritura para todos los objetos escritos en el bucket. Esto anula cualquier configuración a nivel de carpeta administrada que habilite la transferencia en escritura para objetos selectivos por prefijo. - Si se establece en
false, se inhabilita la transferencia en la escritura en los objetos de todo el bucket. Este parámetro de configuración permite habilitar la transferencia en escritura para objetos selectivos por prefijo a través de la configuración de carpetas administradas.
- Si se establece en
-
La habilitación a nivel de prefijo de la transferencia en la escritura se logra mediante el uso de carpetas administradas, que representan rutas de acceso de prefijo que terminan en una barra diagonal (por ejemplo:
my-prefix/). Cuando se habilita la transferencia en la escritura a nivel de prefijo, una caché transfiere de forma selectiva los objetos en la escritura solo si el objeto tiene el prefijo en su nombre.La transferencia en el momento de la escritura a nivel de prefijo se controla a través del campo
ingestOnWritede la asignaciónrapidCacheConfig.policiesen un recurso de carpeta administrada. Debe existir una instancia de caché para que se especifique en la asignación derapidCacheConfig.policies.La asignación
rapidCacheConfig.policiesde una carpeta administrada se ve de la siguiente manera:"rapidCacheConfig": { "policies": { "us-east1-a": { "rapidCacheId": "us-east1-a", "ingestOnWrite": "unspecified" } "us-east1-b": { ..., ... } } }- Las instancias de caché que se especifican en la asignación de
policiesya deben existir para que funcione la transferencia en el momento de la escritura a nivel de prefijo. Por ejemplo, para especificarrapidCacheId: "us-east1-a"en la asignación depolicies, primero debes tener una caché para la zonaus-east1-a. - Puedes actualizar varias instancias de caché especificadas en la asignación de
policiesen una sola llamada a la API. - Si
ingestOnWritese establece enenabled, se habilita la transferencia en el momento de la escritura para todos los objetos escritos en el bucket con este prefijo de carpeta administrada. La transferencia en escritura a nivel de prefijo solo se puede habilitar si el campoingestOnWritedel recurso de caché esfalse. - Si se establece en
unspecified(predeterminado), la habilitación de transferencia en escritura se hereda del recurso superior inmediato, que puede ser una carpeta administrada superior o el bucket que contiene la carpeta administrada. - Las cachés que no se especifiquen en la asignación de políticas se tratan como si
su parámetro de configuración
ingestOnWriteestuviera establecido enunspecified.
- Las instancias de caché que se especifican en la asignación de
A continuación, se incluye un resumen de cómo configurar los recursos de caché y de carpeta administrada para habilitar o inhabilitar la transferencia en el momento de la escritura a nivel de bucket o de prefijo:
-
Habilita la transferencia en el momento de la escritura a nivel de bucket (pero no a nivel de prefijo)
-
Configuración: Establece el campo
ingestOnWritedel recurso de caché entrue. -
Comportamiento: La transferencia en escritura está habilitada para todos los objetos escritos en el bucket. Este parámetro de configuración a nivel del bucket anula cualquier configuración administrada a nivel de la carpeta (lo que significa que se omiten las configuraciones selectivas a nivel del prefijo).
-
-
Habilita la transferencia en el momento de la escritura a nivel de prefijo (pero no a nivel de bucket)
-
Configuración:
- Establece el campo
ingestOnWritedel recurso de caché enfalse. - Configura una asignación de
policiesválida (no nula) en el recurso de la carpeta administrada. - Establece el campo
ingestOnWritede la carpeta administrada enenabled(o establécelo enunspecifiedsi es una carpeta secundaria que heredaenabledde una carpeta administrada superior habilitada).
- Establece el campo
-
Comportamiento: La incorporación en el momento de la escritura solo se produce para los objetos escritos bajo prefijos de carpetas administradas coincidentes.
-
-
Habilita la transferencia en el momento de la escritura a nivel del prefijo en carpetas administradas superiores y secundarias
No es posible habilitar la transferencia en el momento de la escritura para las carpetas administradas secundarias sin habilitarla también en la carpeta administrada superior.
-
Inhabilita la transferencia en el momento de la escritura tanto para el bucket como para el prefijo
-
Configuración:
- Establece el campo
ingestOnWritedel recurso de caché enfalse. -
Establece todos los campos
ingestOnWritede las carpetas administradas enunspecified, lo que garantiza que ningún campoingestOnWritede las carpetas administradas superiores seaenabled.Como alternativa, no configures ninguna política. Para ello, deja el mapa
policiesnullo bien omite la configuraciónrapidCacheConfigpor completo.
- Establece el campo
-
Comportamiento: La función de incorporación en escritura está inhabilitada de forma global para el bucket y todos los prefijos.
-
Cuando habilitas la transferencia en el momento de la escritura a nivel de prefijo en una carpeta administrada superior, se habilita la transferencia en el momento de la escritura para todas las carpetas administradas secundarias que están anidadas en la carpeta administrada superior. Para obtener más información sobre cómo los recursos heredan la habilitación y la inhabilitación de la función de incorporación durante la escritura, expande la sección Cómo funciona la herencia de la función de incorporación durante la escritura.
Cómo funciona la herencia de la transferencia en escritura
Cuando una carpeta administrada no habilita de forma explícita la transferencia en la escritura
(en la que el campo ingestOnWrite de la carpeta administrada se establece
en unspecified), el comportamiento de transferencia en la escritura de la caché se
hereda del recurso superior de la carpeta administrada, ya sea del
bucket o de una carpeta administrada superior.
Cuando usas la transferencia en el momento de la escritura a nivel de prefijo, el parámetro de configuración de transferencia en el momento de la escritura que estableces en una carpeta administrada superior se hereda en todas las carpetas administradas secundarias.
Por ejemplo, considera la siguiente situación:
- Tienes una carpeta administrada
a/cuyo recurso superior es el bucketmy-bucket. - Tienes una carpeta administrada
a/b/cuyo recurso superior es la carpeta administradaa/dentro demy-bucket.
Cuando se escribe un objeto llamado a/b/info.txt, Rapid Cache evalúa la jerarquía de configuración de arriba hacia abajo:
- Verifica la carpeta administrada inmediata: Si
a/b/está configurado comoenabled, la transferencia a nivel de prefijo durante la escritura está habilitada para los objetos escritos ena/b/. Sia/b/se establece enunspecified, Rapid Cache verifica el recurso principal inmediato, que es la carpeta administradaa/. - Verifica la carpeta administrada principal: Si
a/está configurado comoenabled, la transferencia a nivel de prefijo en escritura está habilitada paraa/ya/b/. Sia/se establece enunspecified, Rapid Cache verifica el bucket principal. - Verifica el parámetro de configuración
ingestOnWritedel nivel de caché del bucket: Si el campoingestOnWritede la caché se establece entrue, la transferencia en el momento de la escritura a nivel del bucket está habilitada y anula cualquier carpeta administrada que tenga configurada la transferencia en el momento de la escritura a nivel del prefijo. Si el campoingestOnWritede la caché esfalsey el campoingestOnWritede las carpetas administradas superior y secundaria esunspecified, la transferencia en el momento de la escritura se inhabilita para los objetos del bucket que se encuentran en las carpetas administradas superior y secundaria. En este caso, si no hay otras carpetas administradas en el bucket con la opción de transferencia en escritura configurada, esta opción se inhabilita para todos los objetos del bucket.
Tiempo de actividad (TTL)
El TTL de una caché rige cuánto tiempo permanecen los datos en la caché antes de que se expulsen. El TTL es la duración del tiempo que los datos permanecen 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 quita de la caché a las 11 a.m. del martes.
Puedes establecer el TTL de una caché cuando la creas o actualizas. Puedes establecer el TTL de una caché en un valor entre 24 horas y 7 días, inclusive. Si no se especifica, el TTL se establece de forma predeterminada en 24 horas.
Operaciones de caché
En esta sección, se describen las operaciones que puedes realizar en las cachés de Rapid 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é
Puedes establecer la ubicación, el TTL y el comportamiento de transferencia de datos de una caché cuando creas la caché. La caché entra en un estado CREATING a medida que se crea y entra en un estado RUNNING cuando se ejecuta de forma activa. Una operación de creación de caché puede tardar hasta 48 horas, después de lo cual se agota el tiempo de espera de la operación.
La API de AnywhereCaches Create es asíncrona. Una operación de creación hace que se devuelva 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 establecer el TTL o el comportamiento de transferencia de datos de una caché cuando la actualizas. Solo puedes actualizar las memorias caché que se encuentran en el estado RUNNING. No se puede actualizar una caché en estado CREATING o DISABLED.
Cuando se actualiza 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é. Cuando el TTL de una caché termina de
actualizarse, el TTL nuevo se aplica de inmediato a los datos existentes y nuevos en
la caché.
La API de AnywhereCaches Update es asíncrona y devuelve una operación de larga duración.
Obtén una caché
Cuando obtienes una caché, Rapid Cache devuelve el estado y la configuración de la instancia de caché. La API de Get de AnywhereCache es síncrona y devuelve un recurso de AnywhereCache.
Enumera las memorias caché
Puedes devolver una lista de cachés asociadas para un bucket determinado. La API de AnywhereCaches List es síncrona y admite la paginación.
Inhabilita 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, 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 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 reanudará en el estado RUNNING.
La API de AnywhereCaches Disable es síncrona y devuelve un recurso de AnywhereCache.
Reanuda una caché
Puedes reanudar las cachés que se encuentran en estado DISABLED, siempre y cuando 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 de la mejor manera 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.
Recomendador de Rapid Cache
El recomendador de Rapid Cache proporciona recomendaciones y estadísticas para crear cachés en pares de zonas de bucket a través del análisis del uso y el almacenamiento de datos. Para obtener información general y las instrucciones sobre cómo usar el recomendador de Rapid Cache, consulta Recomendador de Rapid Cache.
Usa Rapid Cache para acelerar las lecturas de BigQuery
Rapid Cache se puede usar para entregar datos para las solicitudes de lectura de objetos emitidas por BigQuery. Con Rapid Cache, puedes acelerar las lecturas de datos para tus aplicaciones y, al mismo tiempo, optimizar la eficiencia de costos.
Si bien BigQuery es un servicio regional, sus recursos de procesamiento subyacentes pueden cambiar de zona de forma ocasional para el balanceo de cargas. Como práctica recomendada, habilita Rapid Cache para una carga de trabajo de BigQuery en todas las zonas de una región para garantizar que haya una caché disponible para usar en caso de que los recursos de procesamiento subyacentes cambien de zona. Si no se usa una caché en una zona, no genera un costo adicional, ya que Rapid Cache es de pago por uso. Ten en cuenta que, si los recursos de una carga de trabajo cambian de zona, la caché de la zona nueva deberá volver a transferir los datos, lo que podría generar un aumento único en los costos de transferencia de datos.
Encriptación de datos almacenados en caché
Los datos se almacenan en la caché en el formato original encriptado del servidor de origen, lo que proporciona compatibilidad con las opciones de encriptación que admite Cloud Storage.
Limitaciones y restricciones
Para borrar un bucket, primero debes borrar todas las cachés asociadas. La única excepción es cuando se borra un bucket con la Cloud de Confiance consola, que borra todas las memorias caché asociadas junto con el bucket.
Cuando realices las operaciones de creación, inhabilitación, 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 generar fallas.
Rapid 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 algunos datos se descarten según un algoritmo de elementos usados menos recientemente (LRU) hasta que el servicio de Rapid 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 quitan de la caché por motivos que no sean el vencimiento del TTL, el servicio de Rapid Cache 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 Rapid Cache volverá a transferir los datos en la primera lectura.
Las recomendaciones y las estadísticas que genera el recomendador de Rapid Cache no se pueden leer con BigQuery.
Consideraciones de rendimiento
Faltas de fragmentos: Si una solicitud abarca varios fragmentos y algunos de ellos están en la caché, mientras que otros no, Rapid Cache recupera de forma transparente los fragmentos faltantes del bucket de origen.
TTL y expulsión: Las políticas de expulsión de tiempo de actividad (TTL) y menos usado recientemente (LRU) también operan en fragmentos. Las partes de uso frecuente de un archivo grande pueden permanecer en la caché, mientras que las partes de uso poco frecuente se expulsan.
Precios
Para conocer los precios de Rapid Cache, consulta Precios de Rapid Cache.
Controles de costos
Expande las siguientes sugerencias para obtener información sobre cómo minimizar los costos de ejecutar cachés:
Selección de bucket
Solo debes crear cachés para los buckets que contengan datos que quieras almacenar en caché.
Selección de la zona
Solo debes crear cachés en las zonas en las que tu carga de trabajo se beneficiará del almacenamiento en caché.
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. El valor predeterminado es 1 día.
Cómo inhabilitar la caché
Puedes inhabilitar una caché para quitarla de forma permanente del servicio y detener la acumulación de todas las tarifas de caché asociadas.
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 de entrega 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
Es posible que Rapid Cache no pueda crear una caché nueva en una zona específica debido a la falta de capacidad de SSD o de recursos de entrega de capacidad de procesamiento, lo que genera una escasez temporal de recursos. Durante este período, Rapid Cache intenta crear la nueva caché por un máximo de 48 horas. Si los recursos están disponibles en un plazo de 48 horas, Rapid Cache completa la solicitud de creación de caché de forma correcta. Si los recursos no están disponibles en el plazo de 48 horas, la solicitud de creación de la 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 Usa operaciones de larga duración.
No se pudo aumentar el tamaño de la caché
Rapid Cache no puede aumentar el tamaño de una caché cuando la cantidad requerida de capacidad de SSD no está disponible en la zona de la caché.
Aunque Rapid Cache ofrece aumentos automáticos del tamaño de la caché a pedido, estos aumentos dependen de la disponibilidad de la 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é, Rapid Cache sigue enviando la solicitud hasta que finalice la escasez temporal de recursos o 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 expulsan los datos existentes en la caché según el criterio de uso menos reciente. Las cachés que son lo suficientemente grandes como para almacenar la mayoría 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 expulsar 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 los costos de la tarifa de transferencia de 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 la operación de transferencia de datos de la caché
- Aumento de los costos de 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 tarifas, consulta Precios de Rapid Cache.
Cómo solucionar problemas: Para obtener los mejores resultados durante una escasez temporal de recursos, te recomendamos que supervises tus cachés y que inhabilites las cachés o cargas de trabajo innecesarias según tus necesidades.
No se pudo aumentar el límite de ancho de banda de una caché
Puede producirse una escasez temporal del límite de ancho de banda de la caché 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, Rapid Cache no permite que el límite de ancho de banda de caché escale a 20 Gbps por TiB de datos, pero la caché sigue entregando solicitudes de lectura. Para solicitar más ancho de banda de caché, comunícate con tu administrador técnico de cuentas o con tu representante de Google. 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 que inhabilites las cachés o cargas de trabajo innecesarias según tus necesidades.