Réplicas d'une géodatabase dans PostgreSQL
La réplication de géodatabase permet de créer des copies de données dans deux ou plusieurs géodatabases versionnées afin de pouvoir synchroniser les mouvements effectués sur les données. Une synchronisation implique qu'un réplica envoie des mouvements de données et que le réplica associé reçoive ces mouvements.
Avant de créer un réplica monodirectionnel ou bidirectionnel, vous devez ajouter une colonne GlobalID aux jeux de données à répliquer. Cela associe aux enregistrements du jeu de données une valeur unique, conservée dans l'ensemble des géodatabases (Pour plus d'informations sur la préparation d'un jeu de données à répliquer, reportez-vous à la rubrique Préparation des données à répliquer.)
Après la modification de l'un des réplicas, vous pouvez synchroniser les géodatabases pour reporter les mises à jour d'une géodatabase dans sa géodatabase relative. Lors de la synchronisation d'une géodatabase avec sa géodatabase relative, une table est créée dans la structure de l'utilisateur de la géodatabase de réplica (utilisateur à l'origine de la transmission de changements à la géodatabase relative) pour le suivi des généalogies de jeux de données modifiés.
Tables de réplicas dans ArcGIS for Desktop
La table utilisée pour la synchronisation dans ArcGIS for Desktop ne peut pas être affichée ; elle est utilisée en coulisse et uniquement pendant la synchronisation.
Vous pouvez toutefois identifier si une géodatabase est utilisée comme géodatabase de réplica à partir de ses propriétés dans la fenêtre Catalogue. Cliquez avec le bouton droit de la souris sur la géodatabase et sélectionnez Propriétés. L'onglet Général comporte une section Statut de la géodatabase répartie. Si la géodatabase a fait l'objet d'une réplication, le message de statut affiche "Il s'agit d'une géodatabase de réplica".
Dans ArcMap, un fichier MXD contient une ou plusieurs couches répliquées lorsque la plupart (ou même l'ensemble) des outils de la barre d'outils Géodatabase répartie sont actifs. Par ailleurs, le Gestionnaire de réplicas affiche un ou plusieurs réplicas.
Tables de réplica dans une base de données PostgreSQL
Avant leur réplication, les jeux de données doivent disposer d'une colonne GlobalID et être inscrits comme entièrement versionnés (non inscrits avec l'option d'enregistrement des modifications dans la base). Par conséquent, les jeux de données inclus dans le réplica disposent de tables métier comportant une colonne GUID des tables de deltas dans la base de données.
Les réplicas font l'objet d'un suivi dans la base de données, dans les tables système de géodatabase gdb_items, gdb_itemrelationships et gdb_replicalog. Le fait qu'il s'agit d'un réplica est enregistré dans la table système gdb_itemtypes. Reportez-vous à la rubrique Tables système d'une géodatabase dans PostgreSQL.
Les tables sont reliées de la façon suivante :
Les lignes pointillées indiquent les relations implicites entre colonnes.
Lorsque la synchronisation est effectuée entre deux géodatabases, une table temporaire est créée pour le suivi des généalogies de jeu de données.
Tables de réplica dans un document d'espace de travail XML
Si vous choisissez d'effectuer la réplication vers un document XML lors de la création du réplica, les données correspondantes et les jeux de données répliqués figurent entre balises <GPReplica> comme illustré ci-dessous.
Dans cet exemple, le nom du réplica est asia et la réplication a été effectuée à partir de la version de géodatabase editor9.
<GPReplica xsi:type="esri:GPReplica">
<Name>manager.asia</Name>
<ID>-1</ID>
<ReplicaVersion>sde.editor9</ReplicaVersion>
<CreationDate>2007-04-23T12:13:07</CreationDate>
<GUID>AFC2DA1A-B751-4096-82DE-7AC9E601A563</GUID>
<Role>esriReplicaRoleChild</Role>
<AccessType>esriReplicaChildReadOnly</AccessType>
<MyGenerationNumber>0</MyGenerationNumber>
<SibGenerationNumber>0</SibGenerationNumber>
<SibMyGenerationNumber>0</SibMyGenerationNumber>
<ReplicaState>esriReplicaStateWaitingForData</ReplicaState>
<SibConnectionString>SERVER=boar;INSTANCE=7300;DATABASE=consult;VERSION=sde.editor9;AUTHENTICATION_MODE=DBMS;ProgID=esriDataSourcesGDB.SdeWorkspaceFactory.1</SibConnectionString>
<GPReplicaDescription xsi:type="esri:GPReplicaDescription">
<ModelType>esriModelTypeFullGeodatabase</ModelType>
<SingleGeneration>false</SingleGeneration>
<SpatialRelation>esriSpatialRelIntersects</SpatialRelation>
<QueryGeometry xsi:type="esri:EnvelopeN">
<XMin>-5543912.2421665</XMin>
<YMin>3741401.908035</YMin>
<XMax>-5538272.6904335</XMax>
<YMax>3743452.058665</YMax>
<SpatialReference xsi:type="esri:ProjectedCoordinateSystem">
<WKT>PROJCS["Asia_South_Albers_Equal_Area_Conic", GEOGCS["GCS_WGS_1984", DATUM["D_WGS_1984", SPHEROID["WGS_1984",6378137.0,298.257223563]], PRIMEM["Greenwich",0.0], UNIT["Degree",0.0174532925199433]],PROJECTION["Albers"], PARAMETER["False_Easting",0.0], PARAMETER["False_Northing",0.0], PARAMETER["Central_Meridian",125.0], PARAMETER["Standard_Parallel_1",7.0], PARAMETER["Standard_Parallel_2",-32.0], PARAMETER["Latitude_Of_Origin",-15.0], UNIT["Meter",1.0]], VERTCS["Ha_Tien_1960", VDATUM["Ha_Tien_1960"], PARAMETER["Vertical_Shift",0.0], PARAMETER["Direction",1.0], UNIT["Meter",1.0]]</WKT>
<XOrigin>-21663300</XOrigin>
<YOrigin>-10280500</YOrigin>
<XYScale>207890747.363998</XYScale>
<ZOrigin>0</ZOrigin>
<ZScale>1</ZScale>
<MOrigin>-100000</MOrigin>
<MScale>10000</MScale>
<XYTolerance>0.001</XYTolerance>
<ZTolerance>2</ZTolerance>
<MTolerance>0.001</MTolerance>
<HighPrecision>true</HighPrecision>
</SpatialReference>
</QueryGeometry>
<GPReplicaDatasets xsi:type="esri:ArrayOfGPReplicaDataset">
<GPReplicaDataset xsi:type="esri:GPReplicaDataset">
<DatasetName>consult.pw.roads</DatasetName>
<DatasetType>esriDTFeatureClass</DatasetType>
<RowsType>esriRowsTypeFilter</RowsType>
<IsPrivate>false</IsPrivate>
<UseGeometry>true</UseGeometry>
</GPReplicaDataset>
Autres définitions de jeu de données
</GPReplicaDatasets>
<TransferRelatedObjects>true</TransferRelatedObjects>
</GPReplicaDescription>
<ReconcilePolicy>esriReplicaResolveConflictsNone</ReconcilePolicy>
</GPReplica>