Trabajar con réplicas de geodatabase
Este tema se aplica a ArcGIS for Desktop Standard y ArcGIS for Desktop Advanced exclusivamente.
Existen diversos flujos de trabajo para los que hace falta distribuir los datos entre distintas geodatabases y sincronizar los cambios realizados a los datos de cada una de ellas. La siguiente es una guía que le ayuda a determinar cuál es la mejor forma de utilizar datos distribuidos, réplicas de geodatabase y sincronización para el sistema.
Para comenzar, revise el tema comprensión de los datos distribuidos, que describe la replicación de geodatabase y otros métodos para la distribución de datos. El tema escenarios también enumera varios casos de uso común para los que se puede utilizar la replicación de geodatabase. Si la replicación de geodatabase parece ser el método más apropiado para su sistema, el próximo paso es comenzar a crear réplicas.
Crear réplicas
Lo siguiente le ayudará a determinar la mejor forma de crear réplicas para su sistema.
- Determinar qué réplicas se requieren: en algunos casos, puede necesitar crear solo una o dos réplicas, mientras que en otros, se necesitan muchas réplicas. Por ejemplo, se requieren muchas réplicas si está distribuyendo datos para que los trabajadores de campo trabajen en sus dispositivos móviles en el lugar. En los casos donde desea mantener dos geodatabases corporativas sincronizadas, es posible que solo necesite una réplica. Para comprender qué es una réplica y cómo funciona en una geodatabase, consulte el tema réplicas y geodatabases.
- Decidir sobre el tipo de replicación: el tema tipos de replicación describe los tres tipos de replicación disponibles. Es posible que su sistema requiera el uso de un tipo de réplica en un caso y de otro tipo en otro caso. Por ejemplo, es posible que desee utilizar una replicación doble para sincronizarla con otra oficina y una replicación unidireccional para actualizar la geodatabase de publicación de mapas.
- Elegir el conjunto de herramientas que se va a utilizar para crear las réplicas: ArcGIS proporciona varios entornos para trabajar con la replicación de geodatabase. Cada entorno ofrece distintas ventajas. A continuación se describen las características de cada entorno.
- El asistente Crear réplica: el asistente Crear réplica se encuentra disponible en la barra de herramientas Geodatabase distribuida en ArcMap. El asistente ofrece diversas opciones y una interfaz de usuario bien definida que está estrechamente integrada con ArcMap. Se recomienda que utilice el asistente Crear réplica cuando cree réplicas por primera vez o si sólo desea crear una cantidad pequeña de réplicas.
- La herramienta de geoprocesamiento Crear réplica: la herramienta de geoprocesamiento Crear réplica también se puede utilizar para crear réplicas. La herramienta brinda diversas opciones pero no ofrece algunas de las opciones más avanzadas del asistente Crear réplica.
La herramienta de geoprocesamiento Crear réplica es ideal en los casos donde necesita crear réplicas en forma regular. Los modelos y las secuencias de comandos que se pueden ejecutar reiteradamente son fáciles de crear en el entorno de geoprocesamiento. Por ejemplo, se puede construir un modelo para crear réplicas de check-out diariamente para cada miembro del personal de campo. Vea la ayuda de la herramienta de geoprocesamiento Crear réplica para obtener más información.
- API de ArcObjects: una API de ArcObjects también está disponible para admitir el código de escritura con el fin de crear réplicas en diversos idiomas. Esto resulta útil si desea personalizar la experiencia de creación de réplicas o si necesita crear réplicas con opciones complejas en forma regular.
- Integrar la replicación en los flujos de trabajo del versionado: la replicación de geodatabase se crea sobre el versionado. Durante la creación de réplicas, se define una versión de réplica en la réplica principal y secundaria. Esta es la versión desde la que se envían y reciben los cambios durante la sincronización. Consulte el tema creación y versionado de réplicas para obtener más información.
Debido a que la versión de réplica es el conducto a través del cual se sincronizan los cambios, planifique cómo trabajará con las versiones de réplica antes de crear una réplica. Por ejemplo, puede planificar la ejecución de una validación de los cambios recibidos durante la sincronización antes de integrarlos al flujo de trabajo principal. Para realizar esto, se debe analizar el contenido de la versión de réplica después de una sincronización y, posteriormente, conciliarlo y publicarlo en la versión de trabajo regular. La versión predeterminada también se puede utilizar como la versión de réplica. Esto resulta útil en los casos donde desea que los cambios tomen directamente el valor predeterminado durante la sincronización.
- Definir los datos que se van a replicar: la replicación de geodatabase permite replicar algunos o todos los datasets en la geodatabase de ArcSDE. También permite definir qué entidades o filas se van a replicar utilizando filtros y clases de relación. Durante la creación, los filtros se aplican siempre primero y después las clases de relación se utilizan para adjuntar entidades y filas adicionales. Consulte el tema preparación para la replicación para obtener más información.
Tenga en cuenta sus necesidades futuras al definir los datos que se van a replicar. Por ejemplo, las réplicas dobles y unidireccionales se crean una vez y se sincronizan varias veces. Los filtros que define en la creación de réplicas también se aplican durante la sincronización. Con el tiempo, sus necesidades pueden cambiar y requerir un área de réplica más grande. Además, es importante considerar el tipo de datos que se replica. Para mantener la integridad de los datos, se aplican reglas adicionales cuando se replican tipos de datos complejos como redes geométricas y topologías. Los siguientes temas de Ayuda describen estas reglas y muestran ejemplos: Redes geométricas, Topologías, Clases de relación, Datos ráster y Terrenos y datasets de red.
- Considerar las opciones de creación de réplicas: se han agregado algunas opciones para que el proceso de creación de réplicas sea lo más eficaz posible. Estas opciones están diseñadas para trabajar en casos específicos y se pueden o no aplicar al flujo de trabajo. Revise la siguiente lista para ver si puede aprovechar estas opciones:
- Reutilizar esquema: con Reutilizar esquema, especifica una geodatabase de destino que ya tiene un esquema para los datos que está replicando. Esto ahorra tiempo, ya que se puede omitir la creación del esquema cuando se crea una réplica. Esto opción sólo se aplica a las réplicas de check-out pero se debe utilizar siempre que sea posible.
- Solo esquema: la opción Solo esquema permite crear una réplica donde no se replican filas. Aquí, sólo el esquema se copia durante la creación de la réplica. Esto opción sólo se aplica a las réplicas de check-out. Por ejemplo, esta opción se puede utilizar cuando crea una réplica para el personal del campo que sólo desea introducir nueva información. Si utiliza esta opción no tendrá que establecer cada dataset en esquema sólo en el asistente.
- Registrar datos existentes: si replica una cantidad de datos muy grande, considere utilizar la opción Registrar datos existentes. Esta opción permite omitir el paso de copiado de datos en la creación de réplicas y simplemente registrar una nueva réplica. Para utilizar esta opción correctamente, se debe seguir un conjunto de pasos específicos antes de crear la réplica. Tenga en cuenta que esta opción no está disponible cuando se utilizan las herramientas de geoprocesamiento.
- Replicar datos relacionados: durante la creación de réplicas, primero se aplican los filtros y después se procesan las clases de relación para determinar los datos que se van a replicar. Puede elegir desactivar el procesamiento de clases de relación, lo cual le ahorrará tiempo. Si elige desactivar el procesamiento de clases de relación, las clases de relación aún se incluyen pero no se procesan durante la creación y la sincronización. Hay una opción disponible para desactivar el procesamiento de todas las clases de relación en la sección de opciones avanzadas del asistente Crear réplica y la herramienta de geoprocesamiento. El asistente Crear réplica también permite desactivar el procesamiento de clases de relación específicas.
- Utilizar el archivado para rastrear cambios: cuando se utiliza el archivado para rastrear cambios en lugar de las tablas delta asociadas con el versionado, no se crean versiones del sistema. Por tanto, los procesos reconciliar y enviar y comprimir no se ven afectados, con lo que se consigue una administración de la versión y de la réplica independientes. Esto también posibilita que el programa de sincronización sea más flexible.
- Considerar utilizar un entorno con conexión o sin conexión: las réplicas se pueden crear en un entorno con conexión o sin conexión. En un entorno con conexión, la creación y sincronización se llevan a cabo mientras están conectadas en la misma red. En un entorno sin conexión, la red no se utiliza. La creación y sincronización se llevan a cabo al exportar archivos, como documentos XML, enviarlos y después importarlos al destino. Consulte el tema replicación con conexión y sin conexión para obtener más información.
Si la red está disponible pero no es confiable, aún puede considerar utilizar una replicación sin conexión. Un proceso de creación de réplica que se ejecuta en una red lenta puede demandar tiempo y no ser confiable. Mediante la replicación sin conexión, puede exportar a un archivo y seguir trabajando sin tener que esperar que se envíe la información a través de la red. En este caso, sin embargo, deseará crear copias de seguridad de estos archivos en caso de que se pierdan antes de que se importen al destino.
Sincronizar réplicas
Una vez que se crea una réplica, puede comenzar a sincronizar los cambios entre las geodatabases de réplica. Consulte el tema acerca de la sincronización para obtener más información. Para que su sistema funcione eficazmente, es importante crear una estrategia para sincronizar los cambios. Se debe considerar lo siguiente al determinar la mejor estrategia para su sistema.
- Métodos de sincronización: primero determine el mejor método de sincronización para sus necesidades. A continuación se enumeran algunas opciones:
- Sincronización manual: si trabaja con un número pequeño de réplicas y desea sincronizar cambios solo en algunas ocasiones, considere utilizar las herramientas que proporciona ArcGIS. La barra de herramientas Geodatabase distribuida y el menú contextual Geodatabase distribuida en el árbol de catálogo ofrecen asistentes para realizar las sincronizaciones. Estos asistentes están disponibles para las conexiones de geodatabase y los objetos de geodataserver que se exponen a través de ArcGIS for Server en el árbol de catálogo. Esto permite sincronizar las conexiones locales y remotas en Internet. También hay herramientas de geoprocesamiento de geodatabase distribuida que ofrecen la misma funcionalidad.
- Sincronización automatizada mediante agentes: en un sistema donde hay muchas réplicas o sincronizaciones frecuentes, debe considerar la creación de un agente de replicación. Los agentes de replicación se conectan automáticamente a las geodatabases replicadas y realizar sincronizaciones. En este caso, los usuarios finales no deben sincronizar sus bases datos en forma explícita, ya que la sincronización ocurre automáticamente. En un entorno con conexión, se pueden utilizar las siguientes técnicas para crear agentes de sincronización:
- Sincronización con las herramientas de geoprocesamiento: con las herramientas de geoprocesamiento, puede crear fácilmente modelos para sincronizar réplicas mediante conexiones de geodatabase locales o conexiones a los objetos del servidor de geodatos que se ejecutan en Internet. Estos modelos se pueden exportar a secuencias de comandos de Python y se pueden ejecutar a través de Python. Los comandos para ejecutar las secuencias de comandos se pueden agregar al software de programación, como el programador de Windows, para que se puedan ejecutar en forma regular. Por ejemplo, es posible que desee programar una sincronización entre dos geodatabases corporativas una vez por semana en las horas de menor demanda.
- Sincronización con ArcObjects: la sincronización se admite completamente a través de la API de ArcObjects. La API permite crear agentes de sincronización más sofisticados que aquellos que se crean con las herramientas de geoprocesamiento. Por ejemplo, puede agregar la funcionalidad para sincronizar un equipo portátil del campo cuando el sistema operativo detecta que el equipo portátil está conectado en la red.
- Sincronización y conflictos: si las modificaciones realizadas en los datos de una réplica entran en conflicto con las modificaciones que se sincronizan desde la réplica relativa, deberá decidir cómo solucionar el conflicto. Se puede aplicar una política de reconciliación para solucionar los conflictos de forma automática o habilitar la resolución de conflictos manual más adelante. Revise el tema sincronización y versionado para ver si esto puede generar un problema en su sistema. Una alternativa para trabajar con conflictos es utilizar la API de ArcObjects con el fin de crear un sistema para procesar los conflictos. En este sistema, las sincronizaciones utilizan una política de reconciliación manual pero tienen un proceso secundario que se ejecuta automáticamente después para solucionar todos los conflictos que pueden ocurrir.
- Los datos que se están sincronizando: para las réplicas de check-out, se sincronizan todos los cambios en los datos que se realizaron en la réplica secundaria. Para las réplicas dobles y unidireccionales, sólo se aplican los cambios que cumplen con los requisitos de los filtros y las clases de relación. El administrador de la réplica se puede utilizar para determinar los filtros y las reglas de clase de relación que se aplicaron a todos los datasets replicados. También puede crear una huella de réplica para almacenar esta información localmente y visualizar el filtro espacial de cada réplica.
Para mantener la integridad de los datos, se aplican reglas adicionales cuando se sincronizan tipos de datos complejos como redes geométricas y topologías. El procesamiento de clases de relación también se puede agregar a los datos que se están sincronizando. Es recomendable revisar los siguientes temas para familiarizarse con la sincronización de diferentes tipos de datos: Sincronizar topología, Sincronizar datos relacionados y Sincronizar redes geométricas.
Los metadatos para los datos que decida replicar se copiarán durante el proceso de creación de la réplica. Sin embargo, los cambios en los metadatos no se aplican durante la sincronización de la réplica.
- Volumen de los datos: cuando lleva a cabo una sincronización, solo se aplican los cambios realizados desde la última sincronización. ArcGIS filtra todos los cambios que ya se enviaron y fueron reconocidos. Además, una vez que se envía un cambio, nunca se devuelve a la réplica original. De este modo, los volúmenes de datos se recortan sólo a la cantidad necesaria.
Planifique la frecuencia de sincronización para que corresponda con el índice en el que los cambios se aplican a los datos. Si no realiza sincronizaciones con la suficiente frecuencia para el volumen de cambios, el proceso puede demandar mucho tiempo. También se recomienda la sincronización durante las horas de menor demanda. En un entorno sin conexión, debe utilizar siempre archivos ZIP en lugar de formatos sin comprimir, como archivos XML, al exportar cambios de datos. También se recomienda adoptar una práctica donde envíe mensajes de reconocimiento en forma regular.
- El orden de sincronización de las réplicas: si trabaja con varias réplicas, el orden de sincronización puede ser importante. Por ejemplo, considere el caso donde crea varias réplicas dobles desde una sola geodatabase de ArcSDE. Una estrategia para sincronizar estas réplicas podría ser que cada réplica secundaria se sincronice en ambas direcciones con la principal. Aquí la réplica secundaria envía los cambios a la principal y, a continuación, la réplica principal envía los cambios a la secundaria. Otra estrategia podría ser que cada réplica secundaria primero envíe sus cambios a la principal. La réplica principal incorpora todos los cambios y, a continuación, los envía nuevamente a cada réplica secundaria. En el primer caso, la réplica principal sólo envía sus cambios, mientras que en el segundo caso, también envía los cambios incorporados a partir de otras réplicas. Según los requisitos del sistema, una estrategia puede ser más apropiada que la otra.
- Cambios del esquema: la replicación de geodatabase está diseñada para admitir cambios en el esquema. Esto significa que las sincronizaciones seguirán funcionando aun si se realizan cambios de esquema en los datos replicados. En cierto punto, también puede aplicar cambios de esquema en las réplicas. Consulte trabajar con cambios de esquema para obtener más detalles.
En general, es mejor mantener los cambios de esquema a un mínimo nivel. Si desea aplicar cambios de esquema en las réplicas, es mejor hacerlo de forma estructurada. Por ejemplo, para agregar un campo en las réplicas, primero agregue el campo a la clase de entidad en la réplica principal de nivel superior. A continuación, inicie un proceso donde el cambio del esquema se aplique a todas las réplicas en orden descendente. Consulte el tema Cambios de esquema y réplicas para obtener más información.
- Solucionar errores: durante el proceso de sincronización, pueden ocurrir errores por diversos motivos. En un sistema con conexión, la red del equipo puede fallar o se puede intentar sincronizar una réplica que está en conflicto. En un sistema sin conexión, es posible perder mensajes o se puede intentar importar erróneamente los mensajes en el orden incorrecto. En todos estos casos, el sistema está diseñado para permanecer en un estado consistente. Se revierten los cambios y se rechazan los mensajes inadecuados. El registro de actividades de la réplica se puede utilizar para buscar los errores que han ocurrido y determinar qué se debe hacer para lograr una recuperación. En muchos casos, el sistema se recuperará automáticamente de los errores si simplemente continúa sincronizando los cambios. Las réplicas además contienen información de generación, que indica cuántos conjuntos de cambios se han enviado y cuántos se han recibido. Consulte administrar réplicas para obtener más información.