Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

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:

  • La Alimentar sistemas descendentes el asistente te ayuda a configurar una instancia federada de base de datos que exporta datos de tu clúster de Atlas, transforma los datos en Parquet, CSV, BSON, o MongoDB Extended JSON, y copia los datos a sus depósitos AWS S3 en intervalos específicos mediante activadores Atlas.

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

  • El asistente Consulta de datos entre clústeres es útil para configurar una instancia federada de base de datos que acceda a datos desde varios clúster Atlas y así ejecutar queries federados entre colección 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 de base de datos federada, debe tener Project Owner acceso al 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úrese de cumplir los siguientes requisitos previos:

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

  • Para el asistente de sistemas de alimentación descendente, 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 de base de datos federada que escribe datos desde tu clúster de Atlas en tu bucket de AWS S3 de forma continua según un cronograma.

1
2
3
  1. Haga 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 que esté autorizado para Atlas desde la lista desplegable de selección de rol o elegir Authorize an AWS IAM Role para autorizar un nuevo rol.

Si seleccionó un rol existente para el cual Atlas está autorizado, continúe con el siguiente paso para enumerar sus buckets de AWS S3.

Si está autorizando a Atlas para un rol existente o está creando un rol nuevo, complete los siguientes pasos antes de continuar con el siguiente paso:

  1. En el menú desplegable, seleccione Authorize an AWS IAM Role para autorizar un nuevo rol o seleccionar 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 de 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 la ID externa única para agregar Atlas a las relaciones de confianza de un nuevo rol IAM en AWS. Sigue los pasos en la Interfaz de Usuario de Atlas para crear un nuevo rol. Para aprender más, consulta Crear un nuevo rol con la CLI de AWS.

      Al autorizar un nuevo rol, si abandona el flujo de trabajo:

      • Antes de validar el rol, Atlas no creará la instancia federada de base de datos. Puedes ir a la página de Atlas Integrations para autorizar un nuevo rol y luego iniciar el procedimiento para implementar una instancia federada de base de datos nuevamente cuando tengas el rol de IAM de AWS y ARN.

      • 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 único ID externo para agregar Atlas a las relaciones de confianza de un AWS IAM 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, consulte Agregar relaciones de confianza a un rol existente .

    Importante

    Si modificas tu AWS ARN de rol personalizado en el futuro, asegúrate de que la política de acceso del rol incluya el acceso adecuado a los S3 recursos para la instancia federada de base de datos.

    Para obtener más información,consulte Configurar el acceso unificado a AWS y Crear un rol de acceso de proveedor de nube.

  3. Haga clic en Validate AWS IAM role.

8
  1. Introduzca el nombre de su bucket S3.

  2. Siga los pasos en la interfaz de usuario de Atlas para asignar una política de acceso a su rol IAM de AWS.

  3. Haga clic en Validate AWS S3 bucket access.

  4. Haga clic en Continue.

9

Programa un activador para copiar continuamente datos desde tu clúster de Atlas en tu S3 bucket usando $out en la sección de 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 guarde en tu bucket S3. Atlas Data Federation admite Parquet, CSV , BSON , y MongoDB Extended JSON.

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

  5. Introduzca el prefijo de AWS para su S3 bucket de destino.

  6. Introduzca el nombre del campo de fecha indexado en Date Field y especifique el formato de su valor mediante el menú desplegable. Cada colección que desee copiar posteriormente debe tener un campo indexado que almacene una marca de tiempo como 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. Haga 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 de base de datos federada utiliza particiones optimizadas para consultas en los campos bedrooms y 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 de base de datos federada utiliza particiones optimizadas para consultas en el campo limit.

  • /analytics/customers/{birthdate isodate}/

    Estos datos hacen referencia al analytics conjunto de datos, que contiene colecciones de 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 ejemplo de Analytics.

    Para esta ruta, la instancia de base de datos federada 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 de base de datos federada utiliza particiones optimizadas para consultas en el campo account_id.

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

    Esta ruta hace referencia al conjunto mflix de datos, que contiene información sobre películas y salas de cine. Para obtener más información sobre este conjunto de datos, consulte el conjunto de datos de ejemplo 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

    Esta ruta hace referencia al conjunto mflix de datos, que contiene información sobre películas y salas de cine. Para obtener más información sobre este conjunto de datos, consulte el conjunto de datos de ejemplo de Mflix.

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

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

    Esta ruta hace referencia al conjunto mflix de datos, que contiene información sobre películas y salas de cine. Para obtener más información sobre este conjunto de datos, consulte el conjunto de datos de ejemplo 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 mflix colección, que contiene datos sobre películas y salas de cine. Para obtener más información sobre este conjunto de datos, consulte el conjunto de datos de ejemplo de Mflix.

    Esta ruta no contiene ningún atributo de partición y, por lo tanto, para las consultas sobre los datos de la colección, la instancia de base de datos federada busca 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. Haga 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. Expanda la Cluster Read Preference configuración 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 agrega un clúster Atlas como tienda, el valor predeterminado 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: Federación de datos e impacto en el nodo principal

    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 conjunto de réplicas al que se desean enrutar las solicitudes de lectura. Para obtener más información, consulte Conjuntos de etiquetas de preferencia de lectura.

    Maxstaleness Seconds

    Especifica el retardo máximo de replicación, o "obsolescencia", para las lecturas de los secundarios. 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, proceda a Configurar la conexión para su instancia de base de datos federada.

En esta página