Alta disponibilidad multirregional

Implementación de alta disponibilidad

Cuando usas el servicio de recuperación de agentes en la multirregión us, te beneficias de un ANS de disponibilidad de entrega más sólido y un tiempo de actividad continuo, incluso en caso de una interrupción regional.

La multirregión us proporciona la misma API que el resto de la recuperación de agentes, con algunas limitaciones. Tus datos en la ubicación multirregional us se replican en regiones de Estados Unidos continental, y todos los índices activos en la multirregión us tienen servidores redundantes aprovisionados en cada una de estas regiones. En condiciones de funcionamiento normales, tus consultas se entregan desde la región a la que tu cliente de red tiene una latencia óptima. En caso de una interrupción o pérdida de capacidad de entrega, el balanceador de cargas de Google redireccionará tu consulta a la región disponible más cercana. La configuración y el mantenimiento del balanceo de cargas y la replicación se administran por completo con Agent Retrieval.

NOTA: Dado el compromiso de hardware y recursos de ingeniería necesarios para admitir la recuperación de agentes con alta disponibilidad, los proyectos de los clientes pueden incorporarse a la multirregión de alta disponibilidad solo después de que se hayan verificado y agregado a la lista de entidades permitidas de forma específica. Para que se considere tu acceso a la multirregión de alta disponibilidad, completa el formulario de solicitud vinculado.

Integración

Debes solicitar que se te incluya en la lista de entidades permitidas para acceder a la multirregión de alta disponibilidad.

Después de recibir la confirmación de que tu proyecto se incluyó en la lista de entidades permitidas para acceder a la multirregión de alta disponibilidad, puedes crear colecciones, objetos de datos e índices nuevos en la ubicación multirregional us. Sigue la documentación estándar de la API de Agent Retrieval y sustituye us donde normalmente especificarías una sola región (como us-central1 o europe-central2).

Todos los datos subidos y las operaciones realizadas en la multirregión us se benefician de la replicación, la redundancia y la mayor disponibilidad mejoradas.

Facturación

Las tarifas de facturación para la ubicación multirregional son más altas que para la región única estándar, lo que refleja el aumento de los costos de replicación y la mayor prioridad operativa.

Para obtener detalles, consulta Precios.

Limitaciones

No se implementó la optimización de almacenamiento. Solo se pueden implementar índices de nivel de rendimiento optimizado en la ubicación multirregional.

Las llamadas de SearchDataObjects a índices sobre vectores de incorporación no normalizados pueden informar métricas de distancia inesperadas en la ubicación multirregional. La recuperación y la clasificación de los puntos de datos de estos índices serán correctas (dentro de las limitaciones de un índice de vecinos más cercanos aproximado). Te recomendamos que siempre proporciones vectores de incorporación normalizados o que uses la generación automática de incorporaciones.

Solo se admite DOT_PRODUCT_DISTANCE en la ubicación multirregional.

No se admiten los embeddings dispersos en la ubicación multirregional. Para las solicitudes de Vector Search en las que deben estar presentes tokens específicos en ciertos campos, se puede usar el operador $search en la expresión de filtro de la solicitud.

El campo Index.dedicated_infrastructure.autoscaling_spec en las solicitudes CreateIndex y UpdateIndex no se usa en la ubicación multirregional.

El campo SearchHint.IndexHint.dense_scann_params en SearchDataObjectsRequests no se usa en la ubicación multirregional. Los índices de ANN multirregionales se ajustan para proporcionar aproximadamente un 95% de recuperación, aunque esta puede variar según los detalles de tus datos.

Migra desde una implementación regional

Si tienes datos en una colección regional de recuperación de agentes, puedes usar el siguiente flujo de trabajo de alto nivel para clonar esos datos en la ubicación us:

  • Exporta los datos de tu colección a un bucket en la región que aloja la colección y quita las etags.
  • Importa desde el bucket a una colección alojada en la ubicación us.

Antes de comenzar

Asegúrate de tener lo siguiente:

  • Un bucket en la región de origen, que se usará como área de etapa de pruebas de exportación.
  • La CLI de gcloud instalada.
  • Permiso de IAM de lectura en la colección de origen, de escritura en el destino, y de lectura y escritura en el bucket.
  • Una colección de destino ya creada en us con el mismo esquema que el origen

PROJECT_ID: Es el proyecto que contiene la colección que se migrará. En los siguientes comandos, se supone que el proyecto de origen y el de destino son el mismo.

SOURCE_LOCATION: Es la ubicación de la colección de origen, como us-central1.

SOURCE_COLLECTION: es el nombre de la colección que se migrará.

STAGING_BUCKET: Es la ruta de acceso a un directorio dentro de un bucket al que deseas exportar los datos de la colección, como gs://your-bucket-id.

Pasos

Cada fragmento se puede copiar y pegar. Reemplaza los marcadores de posición que se encuentran en la parte superior de cada bloque por valores específicos de tu proyecto, ubicación de origen, colección y buckets.

1. Exporta desde la región de origen

cat > request.json <<EOF
{
  "gcsDestination": {
    "exportUri": "STAGING_BUCKET/export/",
    "format": "JSONL"
  },
  "field_filter": {
    "excluded_fields": {
      "fields": ["etag"]
    }
  }
}
EOF

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json; charset=utf-8" \
  -d @request.json \
  "https://vectorsearch.googleapis.com/v1/projects/PROJECT_ID/locations/SOURCE_LOCATION/collections/SOURCE_COLLECTION:exportDataObjects"

La respuesta incluye un nombre de operación, como projects/.../locations/us-central1/operations/operation-.... Sondea hasta que "done": true.

EXPORT_OPERATION_NAME

gcloud vector-search operations describe "EXPORT_OPERATION_NAME" \
  --location="SOURCE_LOCATION"

2. Importar a EE.UU.

DEST_COLLECTION: el nombre de la colección después de la migración (puede ser el mismo que el nombre original).

gcloud vector-search collections import-data-objects "DEST_COLLECTION" \
  --location="us" \
  --project="PROJECT_ID" \
  --gcs-import-contents-uri="STAGING_BUCKET/export/" \
  --gcs-import-error-uri="STAGING_BUCKET/import-errors/" \
  --gcs-import-output-uri="STAGING_BUCKET/import-output/" \
  --async

Sondea la operación que se muestra de la misma manera que la exportación:

IMPORT_OPERATION_NAME

gcloud vector-search operations describe "IMPORT_OPERATION_NAME" \
  --location="us"

3. Verifica la importación

  • Verifica gs://your-bucket-uscentral1/import-errors/ para ver si hay registros rechazados.
  • Compara los recuentos de registros entre el origen y el destino.
  • Ejecuta algunas consultas conocidas en ambos y compara los resultados.