Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

Implementar una instancia federada de base de datos

Tiempo estimado de finalización: 15 minutos

Esta parte del tutorial te guía a través de la implementación de una instancia federada de base de datos utilizando los siguientes asistentes de introducción fácil en la Interfaz de Usuario de Atlas:

  • El asistente de sistemas descendentes de alimentación lo ayuda a configurar una instancia de base de datos federada que exporta datos desde su clúster Atlas, transforma los datos en Parquet, CSV, BSON o MongoDB Extended JSON y copia los datos en sus buckets de3 AWS S a intervalos específicos mediante activadores de Atlas.

  • El asistente de Explorar con datos de muestra te ayuda a configurar una instancia federada de base de datos cargada con datos de muestra para demostrar cómo conectarse a la instancia federada de base de datos y ejecutar queries.

  • El asistente Consulta de datos en clústeres le ayuda a configurar una instancia de base de datos federada que accede a datos de varios clústeres Atlas para que pueda ejecutar consultas federadas en colecciones de todos ellos.

Para obtener más información sobre las opciones de configuración de almacenamiento, consulta Configurar almacenes de datos para una instancia federada de base de datos.

Para implementar una instancia federada de base de datos, debe tener acceso a Project Owner en el proyecto.

Importante

Los usuarios con Organization Owner acceso deben agregarse como Project Owner al Proyecto antes de implementar su instancia federada de base de datos.

Para completar esta parte del tutorial, asegúrate de cumplir con los siguientes requisitos previos:

  • Crea una cuenta en MongoDB Atlas si aún no tienes una.

  • Para el asistente Feed Downstream Systems, necesita:

  • Para el asistente query Data Across clústeres, necesitas:

    • Al menos un clúster de Atlas implementado en el mismo Proyecto que emplearás para tu instancia federada de base de datos.

    • Al menos una colección de base de datos. Puedes cargar datos de muestra si aún no tienes colecciones.

El asistente de Feed Downstream Systems te ayuda a configurar una instancia federada de base de datos que escribe datos continuamente desde tu clúster de Atlas a tu bucket de AWS S3 según un cronograma.

1
2
3
  1. Haz clic en el menú desplegable Create New Federated Database.

  2. Seleccione Feed Downstream Systems.

4
5

Por defecto es FederatedDatabaseInstance[n]. Una vez que se crea tu instancia de base de datos federada, no puedes cambiar su nombre.

6
  1. Seleccione un clúster de Atlas para usar como fuente de datos desde el desplegable. Por defecto, Atlas Data Federation añade todas las colecciones en este clúster. Para usar un subconjunto de los datos, haz clic en Specific Collections, expande las bases de datos y luego selecciona las colecciones que deseas añadir a tu instancia federada de base de datos.

    Tip

    Para filtrar las bases de datos y colecciones, escribe texto en el campo Specific Collections. El cuadro de diálogo muestra únicamente bases de datos y colecciones cuyos nombres coinciden con tus criterios de búsqueda.

  2. Haga clic en Continue.

7

Puedes seleccionar un rol IAM de AWS existente para el cual Atlas esté autorizado desde la lista desplegable de selección de roles o escoger Authorize an AWS IAM Role para autorizar un nuevo rol.

Si seleccionó un rol existente para el que Atlas está autorizado, proceda al siguiente paso para mostrar los buckets de AWS S3.

Si está autorizando Atlas para un rol existente o está creando un nuevo rol, complete los siguientes pasos antes de proceder al siguiente paso:

  1. Desde el menú desplegable, selecciona Authorize an AWS IAM Role para autorizar un nuevo rol o selecciona un rol existente.

  2. Utiliza el AWS ARN y el ID Externo único en la sección Role Authorization para agregar Atlas a las relaciones de confianza de un rol IAM AWS existente o nuevo.

    En la interfaz de usuario de Atlas, haz clic en uno de los siguientes:

    • El Create new AWS IAM role muestra cómo usar el ARN y el ID externo único para agregar Atlas a las relaciones de confianza de un nuevo rol AWS IAM. Siga los pasos en la interfaz de usuario de Atlas para crear un nuevo rol. Para obtener más información, consulte Cómo crear un nuevo rol con la CLI de AWS.

      Al autorizar un nuevo rol, si salís del flujo de trabajo:

      • Antes de validar el rol, Atlas no creará la instancia de base de datos federada. Puede ir a la Integrations página Atlas para autorizar un nuevo rol y, a continuación, iniciar el procedimiento de implementación de una instancia de base de datos federada de nuevo cuando tenga el ARN del rol de AWS IAM.

      • Luego de validar el rol, Atlas no creará la instancia federada de base de datos. Sin embargo, el rol está disponible en el menú desplegable de selección de rol y puede utilizarse para crear una instancia de base de datos federada. No necesitas autorizar el rol nuevamente.

    • El Use existing AWS IAM role muestra cómo usar el ARN y el ID externo único para añadir Atlas a las relaciones de confianza de un AWS IAM rol existente. Siga los pasos en la interfaz de usuario de Atlas para añadir Atlas a la relación de confianza de un rol existente. Para obtener más información, consulta Agregar relaciones de confianza a un rol existente .

    Importante

    Si en el futuro modifica su rol personalizado de AWS ARN, asegúrese de que la política de acceso del rol incluya el acceso apropiado a los recursos de S3 para la instancia federada de base de datos.

    Para obtener más información, consulta Configurar Acceso Unificado a AWS y Crear un Rol de Acceso de Proveedor Cloud.

  3. Haga clic en Validate AWS IAM role.

8
  1. Introduce el nombre de tu bucket de S3.

  2. Sigue los pasos en la IU de Atlas para asignar una directiva de acceso a tu rol IAM AWS.

  3. Haga clic en Validate AWS S3 bucket access.

  4. Haga clic en Continue.

9

Programa un activador para copiar datos continuamente desde tu clúster Atlas a tu bucket S3 utilizando $out en la sección Schedule Queries.

  1. Especifique la frecuencia con la que desea extraer datos de su clúster de Atlas utilizando los menús desplegables Repeat Once By.

  2. opcional. Especifica si Atlas Data Federation debe volver a ejecutar la misma query si la ha pasado por alto por alguna razón. Por defecto, esto está desactivado para permitir que Atlas Data Federation vuelva a ejecutar las consultas que se hayan omitido. Como alternativa, para omitir consultas que se hayan saltado y no ponerse al día, activa Skip Catch Up Events.

  3. Opcional. Elige el formato que deseas para tus datos cuando Atlas Data Federation los guardar en tu bucket S3. Atlas Data Federation admite Parquet, CSV , BSON y MongoDB JSON extendido.

  4. Especifique el Max File Size para limitar el tamaño de cada archivo que Atlas Data Federation guarde en su cubo S3. Por ejemplo, si se establece Max File Size en 100 MB y una query devuelve 1 GB de datos, Atlas Data Federation guarda la query en su bucket S3 en 10 archivos, cada uno de 100 MBs.

  5. Ingrese el prefijo de AWS para el bucket de destino S3.

  6. Introduce el nombre del campo de fecha indexado en Date Field y especifica el formato de su valor usando el menú desplegable. Cada colección que desees copiar posteriormente debe tener un campo indexado que almacene una marca de tiempo como su valor.

  7. Haga clic en Continue.

10

El asistente Explorar con datos de muestra te ayuda a configurar una instancia de base de datos federada cargada con datos de muestra.

1
2
3
  1. Haz clic en el menú desplegable Create New Federated Database.

  2. Seleccione Explore with Sample Data.

4
5

Esta instancia federada de base de datos incluye los siguientes conjuntos de datos de muestra que puedes utilizar para practicar la ejecución de queries:

  • /airbnb/listingsAndReviews/{bedrooms int}/{review_scores.review_scores_rating int}/

    Esta ruta hace referencia al conjunto de datos airbnb, que contiene los detalles del anuncio de la casa vacacional y las reseñas de los clientes. Para obtener más información sobre este conjunto de datos, consulte Conjunto de datos de muestra de listados de AirBnB.

    Para esta ruta, la instancia federada de base de datos utiliza particiones optimizadas para consultas en el campo bedrooms y los campos review_scores.review_score_ratings.

  • /analytics/accounts/{limit int}/

    Esta ruta hace referencia al conjunto de datos analytics, que contiene datos para una aplicación típica de servicios financieros. Para aprender más sobre este conjunto de datos, consulta Conjunto de datos de análisis de muestra.

    Para esta ruta, la instancia federada de base de datos utiliza particiones optimizadas para consultas en el campo limit.

  • /analytics/customers/{birthdate isodate}/

    Estos datos hacen referencia al conjunto de datos analytics, el cual contiene colecciones para una aplicación típica de servicios financieros. Para aprender más sobre este conjunto de datos, consulte Conjunto de datos de análisis de muestra.

    Para esta ruta, la instancia federada de base de datos utiliza particiones optimizadas para consultas en el campo birthdate.

  • /analytics/transactions/{account_id int}/

    Esta ruta hace referencia al analytics conjunto de datos, que contiene datos para una aplicación típica de servicios financieros. Para obtener más información sobre este conjunto de datos, consulte el Conjunto de datos de muestra de Analytics.

    Para esta ruta, la instancia federada de base de datos utiliza particiones optimizadas para consultas en el campo account_id.

  • /mflix/movies/{type string}/{year int}/

    Este camino hace referencia al conjunto de datos mflix, que contiene información sobre películas y salas de cine. Para obtener más información sobre este conjunto de datos, consulte Conjunto de datos de muestra de Mflix.

    Para esta ruta, la instancia de la base de datos federada utiliza particiones optimizadas para queries en los campos type y year.

  • /mflix/sessions.json

    Este camino hace referencia al conjunto de datos mflix, que contiene información sobre películas y salas de cine. Para obtener más información sobre este conjunto de datos, consulte Conjunto de datos de muestra de Mflix.

    Esta ruta no contiene ningún atributo de partición, por lo que, para las consultas sobre datos en la colección, Data Federation busca en todos los archivos de la colección.

  • /mflix/theaters/{theaterId string}/{location.address.zipcode string}/

    Este camino hace referencia al conjunto de datos mflix, que contiene información sobre películas y salas de cine. Para obtener más información sobre este conjunto de datos, consulte Conjunto de datos de muestra de Mflix.

    Para esta ruta, la instancia de la base de datos federada utiliza particiones optimizadas para queries en los campos theaterId y location.address.zipcode.

  • /mflix/users.json

    Esta ruta hace referencia a la colección mflix, que contiene datos sobre películas y salas de cine. Para obtener más información sobre este conjunto de datos, consulte Conjunto de datos de muestra de Mflix.

    Esta ruta no contiene ningún atributo de partición y, por lo tanto, para las queries sobre los datos de la colección, la instancia federada de base de datos busca en todos los archivos de la colección.

  • /nyc-yellow-cab-trips/{trip_start_isodate isodate}/{passenger_count int}/{fare_type string}/

    Esta ruta hace referencia al conjunto de datos nyc-yellow-cab-trips, que contiene datos sobre los viajes, incluida la fecha del viaje, la tarifa y el número de pasajeros.

    Para esta ruta, la instancia federada de base de datos utiliza particiones optimizadas para consultas en los campos trip_start_isodate, passenger_count y fare_type.

El asistente Query Data Across Clusters te ayuda a configurar una instancia federada de base de datos que accede a datos de múltiples clústeres de Atlas.

1
2
3
  1. Haz clic en el menú desplegable Create New Federated Database.

  2. Seleccione Query Data Across Clusters.

4
5

Por defecto es FederatedDatabaseInstance[n]. Una vez que se crea tu instancia de base de datos federada, no puedes cambiar su nombre.

6
  1. Selecciona un clúster de Atlas para usar como fuente de datos del menú desplegable. Atlas sólo muestra los clústeres del proyecto actual de Atlas en este menú desplegable.

  2. Expande las bases de datos y selecciona las colecciones que desees agregar a tu instancia federada de base de datos.

    Tip

    Para filtrar las bases de datos y colecciones, escribe texto en el campo Specific collections. El cuadro de diálogo muestra únicamente bases de datos y colecciones cuyos nombres coinciden con tus criterios de búsqueda.

  3. opcional. Expande la configuración de Cluster Read Preference para configurar los siguientes campos.

    Nombre de campo
    Descripción

    Read Preference Mode

    Especifica el miembro del conjunto de réplicas al que se desea dirigir las solicitudes de lectura. Puedes elegir uno de los siguientes en el menú desplegable:

    • primary - para encaminar todas las solicitudes de lectura al set de réplicas primario

    • primaryPreferred - para enrutar todas las solicitudes de lectura al set de réplicas primario y solo a los miembros secundarios si primary no está disponible

    • secondary - para dirigir todas las solicitudes de lectura a los miembros secundarios del set de réplicas

    • secondaryPreferred - para dirigir todas las solicitudes de lectura a los miembros secundarios del set de réplicas y solo al principal en clústeres particionados si los miembros secondary no están disponibles

    • nearest - para derivar todas las solicitudes de lectura a un nodo aleatorio elegible del set de réplicas, independientemente de si ese nodo es un primario o un secundario

    Si añade un clúster de Atlas como almacén, el valor por defecto es secondary.

    Si no configuras nada en la configuración de almacenamiento de tu instancia de base de datos federada, el valor por defecto es nearest. Para obtener más información, consulte Modo de preferencia de lectura.

    IMPORTANTE: Impacto en la Data Federation y el nodo primario.

    Cuando las consultas de Data Federation se configuran con una preferencia de lectura que apunta a nodos secundarios, no se espera que generen carga en el primario del clúster de Atlas de respaldo. Las queries iniciadas en un secundario mantienen la afinidad del cursor con ese nodo durante toda su vida útil.

    En algunos registros, las operaciones getMore pueden aparecer con una preferencia de lectura de primaryPreferred. Este es el comportamiento esperado y no indica que el cursor haya cambiado al principal. La primaryPreferred moda es válida tanto en los nodos primarios como en los secundarios y permite a los drivers gestionar cambios de rol poco frecuentes (como que un nodo secundario se convierta en primario) sin volver a emitir la query. La ejecución del cursor continúa en el nodo original a menos que ese nodo cambie de rol.

    Data Federation aísla sus cargas de trabajo del primario sin requerir ninguna configuración adicional. El uso del modo primaryPreferred asegura la compatibilidad con nodos primarios y secundarios, permitiendo que los drivers gestionen cambios de rol poco comunes, como cuando un nodo secundario se convierte en primario, sin necesidad de volver a emitir la query. La ejecución del cursor continúa en el nodo original a menos que ese nodo cambie de rol.

    TagSets

    Especifica la lista de etiquetas o documentos de especificación de etiquetas que contienen pares de nombre y valor para el miembro del set de réplicas al que desea enrutar las solicitudes de lectura. Para obtener más información, consulta Conjuntos de etiquetas de preferencias de lectura.

    Maxstaleness Seconds

    Especifica el máximo atraso de la replicación, o "obsolescencia", para la lectura desde secundarias. Para obtener más información, consulte preferencia de lectura maxStalenessSeconds.

  4. Haz clic en Add Atlas cluster and collection y repite estos pasos para todos los clústeres de Atlas que desees usar como fuentes de datos.

  5. Una vez que hayas terminado de añadir clústeres, haz clic en Continue.

7

Ahora que su instancia de base de datos federada está implementada, continúe con Configurar la conexión para su instancia de base de datos federada.