地理数据库 (Geodatabase) 版本管理
版本化地理数据库包含一些非版本化地理数据库中不存在的附加表格和记录。这些附加表和记录有助于长时间执行并行编辑。如果不进行版本化处理,则编辑者需要锁定数据并防止其他用户对数据进行编辑或查看。要使用此功能,您需要进行规划和管理。
为进行版本化编辑,各用户需要将数据注册为版本。各用户还可创建其他版本的地理数据库。您必须预先进行规划,才能确保以下几方面内容:
- 需要访问数据和版本的用户具有适当权限。例如,如果版本所有者以外的用户需要访问某个版本,则必须将该版本的权限设置为受保护(其他用户可查看版本)或公共(其他用户可查看和更新版本)。
- 对已编辑的版本化数据进行协调的所有用户都应了解如何定义版本间的冲突:按行或按列。
- 解决冲突时特定用户将决定要保存的编辑内容的版本。
- 每个编辑者都知道应使用哪个版本进行编辑。
- 您确定是否将复制用作版本化工作流的一部分。
- 您确定是否将存档用作版本化工作流的一部分。
- 具有一组用于压缩地理数据库的时间表。
将数据注册为版本
将表或要素类注册为版本时,会在数据库中创建两个附加表:添加表和删除表。这两个表追踪对表或要素类所做的编辑。系统会为每个版本化数据集新建一组添加表和删除表。将要素数据集注册为版本时,会针对要素数据集中的每个要素类创建添加表和删除表。
要将数据注册为版本,您必须是该数据的所有者。有关说明,请参阅将数据注册为版本。
创建其他版本并授予对它们的访问权限
所有地理数据库都至少拥有一个版本:默认版本(创建地理数据库时存在的版本)。任何用户都可根据现有版本来创建其他版本。这些新版本用于对数据的更改内容进行分组。
创建新版本并非创建地理数据库的副本。无论您拥有多少个地理数据库版本,每个表和要素类都只会在数据库中存储一次。不同版本的地理数据库将被在 VERSIONS 系统表中进行追踪,并与添加表和删除表中的记录以及各种追踪数据状态的系统表相关联。
创建一个新版本后,该版本的所有者将确定允许用户对该版本进行何种类型的访问。可能的访问级别如下:
- 公共:任何用户都可查看版本。任何具有数据集读/写(更新、插入和删除)权限的用户都可以修改版本中的数据集。
- 受保护的:任何用户都可以查看版本,但只有所有者或地理数据库管理员可以编辑版本中的数据集或版本自身。
- 私有:只有所有者或地理数据库管理员可以查看版本和修改已版本化的数据或版本自身。
协调版本
协调版本将目标版本的更改同步到正在编辑的版本。同时,ArcGIS 会检查您正在编辑的版本与目标版本之间是否存在冲突。这样便为您提供了一种查看和解决由不同编辑者所进行的编辑之间的任何冲突的方法。有关说明,请参阅协调版本。
压缩地理数据库
随着对地理数据库不时进行编辑,添加表和删除表的大小会有所增加。表越大,每次显示或查询版本时 ArcGIS 所必须处理的数据就越多。如果添加表和删除表变得很大,则会对地理数据库性能造成负面影响。
要保持地理数据库性能,地理数据库管理员必须定期压缩地理数据库以移除未被版本引用的编辑内容,并将所有版本的常见编辑内容重新压缩到业务表中。地理数据库压缩操作必须由地理数据库管理员执行。