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