5.1 同步复制技术概述

为了解决多级应用、分布在不同地方的数据的管理维护、同步更新等问题,ArcGIS提供了分布式地理数据库(Distributed geographic database)实现分布的地理数据库的管理,同步复制、更新等功能。

通过为地理数据库创建复本(Replica),在目标地理数据库上创建相同的数据,在数据变更后,通过数据同步,实现分布式的地理数据的同步更新。

5.2 同步复制技术使用场景

1.需要与网络断开连接的移动用户和现场工作人员

2.需要在不同的组织级别(城市、县、州)维护数据副本的用户

3.需要在不同的地理环境中维护数据副本的用户

4.需要向承包商分发工作的用户

5.需要生产和发布地理数据库的用户

5.3 同步复制技术特点

ArcGIS提供的建立在版本机制(和归档机制且具有全局ID)之上的数据分发的方法,可以在2个或者更多的GDB中分布式地管理和应用数据的拷贝;

支持所有的Geodatabase数据模型,包括拓扑和几何网络;

松散耦合的同步机制,可以独立地编辑各个GDB, 在需要的时候对它们实施数据同步;

跨数据库平台之间可以实现复制;

有许多可选的设置用来支持不同类型的工作流。

5.4 同步复制技术理念

说到ArcGIS数据库复制,就不得不先提下分布式数据库.所谓的分布式数据库,常是由一组物理上或逻辑上分布的计算机组成,各个子节点相对独立但又互相协同进行工作,共同组成一个完整的、全局的大型数据库。

分布式数据库最显著的特点就是数据的分散存储,这种分散存储可以是不同的地点或是不同的数据库。ArcGIS支持这种数据存储方式,方便了各个部门管理本单位、本行业的数据信息,同时又利于国家、政府进行统筹规划建设时的使用。

既然用分布式数据来管理数据,大家不禁要问,数据是如何进行分发、更新的呢?数据在国家、省、市、区、县等各级行政单位间流转又是如何管理的呢?

ArcGIS提供的建立在版本机制(和归档机制)之上的数据分发的方法,可以在2个或者更多的GDB中分布式地管理和应用数据的拷贝;

支持所有的Geodatabase数据模型,包括拓扑和几何网络;

松散耦合的同步机制,可以独立地编辑各个GDB,

在需要的时候对它们实施数据同步;

跨数据库平台之间可以实现复制;

有许多可选的设置用来支持不同类型的工作流。

ArcGIS数据复制更新解决方案

ArcGIS数据复制可以对整个或部分数据创建复本,复本之间相对独立但又可以进行同步;在线也好、离线也罢,变化的数据能够在所关联的两个复本间流动。

利用Geodatabase归档:

ArcGIS数据同步过程中更新发生变化的部分,来达到关联复本数据的状态一致。那么ArcGIS如何知道那个部分、区域的数据发生了变化,如何锁定这些数据,依靠的就是数据库归档功能。

Geodatabase归档:

记录数据在各时间点的变化

基于版本

用以追踪和反演数据随时间的变化趋势

提供了捕获、管理、分析数据变化的途径和方法

5.5 同步复制工具

在ArcMap中提供了2种分布式地理数据库工具:

分布式地理数据库工具栏和ArcToolbox工具,如下图所示:

分布式地理数据库工具栏

Toolbox工具

5.6 同步复制工具使用

ArcGIS同步复制可以对整个或部分数据创建复本,复本之间相对独立但又可以进行同步;不管在线还是离线,变化的数据能够在所关联的两个复本间流动。

5.6.1 Replica (副本)

  • 每个参与复制的geodatabase都称为replica
  • 一个子replica由一个父replica创建成
  • 一个父replica与一个子replica构成一个“replica对” ,彼此称为对方的“相对应的replica”

5.6.2 数据同步复制类型

1. CheckIn/CheckOut

ArcGIS还提供了CheckOut、CheckIn数据下载、上传方式,结合离线编辑可以实现在离线的情况下来实现对数据的更新,在管线、石油、电力、交通等行业的数据采集更新中广泛使用。

CheckIn、CheckOut离线更新是基于版本的,且只能同步更新一次。

CheckOut:数据下载的源头必须是SDE数据库,数据要注册版本;下载的数据可以是全部的,也可以是指定区域的;下载后的数据可以是SDE、FGDB、PGDB等格式;

CheckIn:数据上传的目标必须是SDE数据库,且只能更新一次。

2. OneWay单向复制

  • 单向复制的源头即父Replica必须是SDE数据库,复制的目标即子Replica可以是SDE Geodatabase、File Geodatabase、Personal Geodatabase;
  • 必须注册为版本,且注册时不勾选“move edits to base”选项;
  • 具有GlobeID字段;对数据有读写权限。

其中单向数据复制的同步又分为由子到父的同步和由父到子的同步 
        由父到子同步:适用与数据自上而下的分发管理,可对各个子本(SDE、FGDB、PGDB)进行同步 
        由子到父同步:ArcGIS10的新功能;子本和父本都必须是SDE数据库,适用于数据由下收集,自下而上汇总的情形。

3. TwoWay双向复制

简单介绍

双向复制可用于多次将数据变更从父复本发送到子复本,或从子复本发送到父复本。如果在两个复本地理数据库中编辑同一行,同步复本时会检测到冲突。提供的协调策略可用于定义冲突的处理方式。

同步后双向复本会继续存在,以便用户继续编辑和同步复本。创建双向复本时,目标必须是 ArcSDE 地理数据库。

几点必要条件

  • 数据复制的两端必须都是SDE数据库
  • 必须注册为版本,且注册时不勾选“move edits to base”选项
  • 具有GlobeID字段;对数据有读写权限
  • 支持Simple Model(ArcGIS10)、Full Model

5.6.3 数据同步复制功能介绍

本节介绍同步复制中用到的具体功能。

在线环境和离线环境中均可使用地理数据库复制功能。

对于在线复制,将通过计算机网络(有线或无线)来连接复本地理数据库。可以使用以下形式中的任一种:

始终在线 - 在网络上始终可以访问复本地理数据库。

间歇在线 - 在这类情况下,只能于某些时候在同一网络上访问复本地理数据库。当两个复本地理数据库均位于网络中 时,可以执行复本创建和复本同步操作。

当未通过计算机网络连接复本地理数据库时,将进行离线复制。

在线或离线环境中均可执行复本创建过程、同步过程以及应用架构更改过程。

1. 创建复本

所有数据集必须来自同一企业级地理数据库。

您希望复制的数据必须进行版本化,但是无法通过“将编辑内容移动到基表”选项进行版本化。连接的数据库用户也必须具有对该数据的写入权限。对于双向复本和单向复本(两种类型),所有数据集都必须具有 globalid 列并且具有高精度的空间参考。

对于检出复本和单向复本,子复本地理数据库可以是企业级、文件或个人地理数据库。

对于双向复本和单向“子-父”复本,子地理数据库必须是企业级地理数据库。

要对单向复本使用归档,父工作空间必须连接至“默认”版本。对于单向“子-父”复本,子工作空间必须连接至“默认”版本。

2. 在线数据同步

系统是根据子库父库存储的Replica的XML获取相关的角色、连接、数据描述等相关信息,然后编辑数据根据版本表、增量表将变化的数据读取然后进行相关的操作。

在线数据同步的原理就是从一个数据库A后台静默导出数据增量包,通过网络连接的方式在另一个数据库B中导入获得的数据增量包,同时数据库B后台静默生成确认消息,通过网络连接的在线方式传输到数据库A,数据库A静默导入确认消息完成整个流程,以完成在线数据同步功能。

3. 离线数据同步

离线数据同步的原理就是从一个数据库A导出数据变更(.xml文件),通过发送邮件或者U盘、光盘等方式在另一个数据库B中导入获得的数据变更(.xml文件),进行离线同步,B导入成功后,导出确认消息(.xml文件),再次通过发送邮件或者U盘、光盘到达A数据库,A数据库导入确认消息,完成离线数据同步功能。

下面4个步骤截图即为过程:

父库数据编辑导出数据(数据或者XML)->子库接受数据->子库导出确认消息->父库接受确认消息

5.6.4 数据同步三种方式

本节介绍同步复制中CheckIn/CheckOut 、OneWay、TwoWay三种同步方式具体过程。

1. CheckIn/CheckOut

       签入签出(Check Out/In

签入签出的使用在我们平常的业务中使用非常广泛,试想有一个中心数据库,用户在外边进行数据的编辑更新,可以利用该方式事先导出Check Out文件数据库(PGDB、FGBD、也可以是ArcSDE数据库),用户可以在文件数据库文件进行编辑更新,然后在将该数据Check In进去,以保持总数据库的同步更新。

      数据库要求

数据源必须为ArcSDE GDB的数据库,既可以注册版本也可以非注册版本(ArcGIS10新特性),GDB里面既可以是Simple Model也可以是Full Model(ArcGIS10新特性)

签入签出只介绍两个工具(需要将ArcSDE数据加载到ArcMap才能高亮):

  1. 创建复本
  2. 同步变化

创建复本

我们可以将数据库的所有数据导出,也可以事先将某一区域(用户可以利用查询条件,高亮选中数据导出),也就是我们是支持范围选择的。

其实在注册版本数据Check Out时,利用的是版本的机制,创建了一个版本(复本),本例就是创建了一个MyCheckOut版本。勾选进一步可以得到更详细的选择信息。

Simple Model:简单的点线面

Full Model:带有拓扑、几何网络等复杂数据类型

点击完成后我们可以看到,生成的一个文件GDB是属性是:this geodatabase contains single generation replica,说明该数据可以进行修改签入,而且签入之后,就不能再次进行签入了。签入之后状态会发生变化为:this is not a replica geodatabase。

同步变化

然后我们对Check Out的数据CheckOut_Output.mdb进行编辑修改,

然后选择同步复制按钮,选择同步的版本,同步的数据文件.

上面的选择我们在版本的使用看起来比较熟悉,这更说明了同步复制也使用了版本的原理。

在ArcGIS10版本之后可以对非注册版本进行签入签出,那么就不存在版本的概念了,也就是说我们的数据直接同步到Default版本了。

在将数据Check In后,我们在看该mdb数据状态已经【This is not a replica geodatabase】

2. OneWay在线数据同步

创建复本

在线数据同步

3. OneWay离线数据同步

创建复本

离线数据同步

父库数据编辑-导出数据(数据或者XML)-子库接受数据-子库导出确认消息-父库接受确认消息

注意:

DataSender才能导出数据

4. TwoWay在线数据同步

创建复本

在线数据同步

5. TwoWay离线数据同步

创建复本

离线数据同步

父库数据编辑-导出数据(数据或者XML)-子库接受数据-子库导出确认消息-父库接受确认消息

注意:

DataSender才能导出数据

下面三个图即为DataReceive方不能导出变化数据

参考:https://desktop.arcgis.com/zh-cn/arcmap/latest/manage-data/geodatabases/what-is-a-geodatabase.htm

arcgis地理空间数据库学习记录05-管理分布式数据库相关推荐

  1. vue学习记录-05 事件监听

    vue学习记录-05 事件监听 这篇文章是根据codewhy老师在b站的视频进行的学习记录 文章目录 vue学习记录-05 事件监听 一.v-on的基本使用 二.v-on的参数问题 1.方法不需要参数 ...

  2. ARCGIS地理信息系统学习笔记001--认识ARCGIS

    1.认识ARCGIS  地理信息系统,应用于资源调查,环境污染监测,城市和区域  规划,等慢慢扩展到金融业,保险业,运输导航,医疗救护,  即时灾害救助等多个领域.地理信息系统的应用是  结合传统的地 ...

  3. 大数据学习(4)--分布式数据库HBase

    文章目录 目录 1.HBase概述 1.1BigTable 1.2 HBase简介 1.3 HBase和传统的关系型数据库之间的区别 2.HBase访问接口 3.HBase数据模型 3.1 数据模型概 ...

  4. 【空间数据库】ArcGIS地理空间数据库GeoDatabase(GDB)概述及建立过程图文详解

    地理数据库(Geodatabase)是一种面向对象的数据模型,它对于地理空间特征的表达更接近我们对现实世界的认识.地理数据库在一个公共模型框架下,对GIS处理和表达的空间特征,如适量.栅格.Tin.网 ...

  5. 空间相关性----地理探测器--学习记录

    目录 相关教程--软件及数据准备 R语言数据分析 1.R包.数据准备.GD综合代码 2.分异及因子探测---q值 gd 3.交互作用探测---评估因子gdinteract 4.风险区探测--显著性-- ...

  6. 编程学习记录11:Oracle数据库的一些基本操作1,创建用户,授权

    登录指令: 初始管理员登录,在命令窗口输入sqlplus / as sysdba 进行登录, 普通用户登录 在命令窗口输入sqlplus 后会出现输入账号密码,输入密码时不会显示. 修改用户指令: 创 ...

  7. 编程学习记录12:Oracle数据库的一些基本操作2,表相关操作,添加约束

    数据库中表的创建一般需要考虑三部分:表名.列名及类型.列的约束 表名:没什么要求,只要不重名就行. 常用数据类型: 1.字符类型 1)CHAR(长度):定长字符串,位数不足时用空格填充 2)VARCH ...

  8. 编程学习记录13:Oracle数据库,表的查询

    表达查询是数据库中最常用的操作,最基本的语句为 SELECT <列名.值.函数> FROM <表名> 当在 SELECT 后使用 * 即表示所查询表中的所有列,如SELECT ...

  9. 【学习记录】第一章 数据库设计-《SQL Server数据库设计和开发基础篇视频课程》...

    一.课程笔记 1.1  软件开发周期 (1)需求分析阶段 分析客户的业务和数据处理需求. (2)概要设计阶段 设计数据库的E-R模型图,确认需求信息的正确和完整. /* E-R图:实体-关系图(Ent ...

  10. 达梦数据库学习记录-包含安装、创建、体系结构、表空间用户模式对象管理备份与还原等

    达梦数据库DCA学习记录 目录 达梦数据库以及认证体系简单介绍 安装DM8数据库及常见问题解决办法 创建数据库.数据库实例及相关知识点介绍 数据库连接 数据库启动与关闭 DM8线程 DM8逻辑存储结构 ...

最新文章

  1. StereoDRNet:基于stereo的三维重建网络
  2. Redis 高可用特性之 “持久化” 详解
  3. ECMAScript 对象类型
  4. Apache-Tomcat的安装配置
  5. 机器学习-决策树(Decision Tree)
  6. SAP SD里CDS view对status的设计
  7. tps 数据库写并发衡量_硬核干货!抗住百万高并发的 6 个关键技术!
  8. 华为手机滑动速度设置_华为手机打字速度慢?开启这个设置,一分钟就能打200字...
  9. 使用RDLC报表(三)--向RDLC报表传入参数
  10. python之zip
  11. C++ 变量在内存中的分布
  12. 优启通制作系统u盘_IT天空优启通(U盘PE制作助手)制作U盘PE启动图文教程
  13. C# GridView 排序及分页
  14. android硬盘加密方法,Android硬盘加密工具
  15. 安全基础:0-day漏洞
  16. SQL Server2012企业版与标准版比较
  17. 计算机频道地读写硬盘是因为,怎样读取硬盘数据
  18. iPhone用android充电头,苹果能用安卓充电头吗
  19. 【微积分知识】 导数,偏导数,方向导数,梯度
  20. 修改注册表来修改文件关联

热门文章

  1. P1606 [USACO07FEB]白银莲花池 P1979 华容道(bfs预处理+状态连边建图+最短路算法求解,最短路计数)
  2. 技术干货 | MindSpore AI科学计算系列(三):SciML分析
  3. 如何学计算机打字,电脑如何快速学会打字
  4. swing添加按钮监听后,面板监听失效
  5. pre-trained模型的使用
  6. PyTorch深度学习快速入门教程(绝对通俗易懂!!!)
  7. 激光条纹中心线提取算法总结和复现
  8. OSPF-1.ospf基础及工作流程
  9. C 语言发展史的点点滴滴
  10. OSPF的DR/BDR的选举规则,数据包,接口网络