地理数据库是用于保存数据集集合的“容器”。有以下三种类型:
- 文件地理数据库 - 在文件系统中以文件夹形式存储。每个数据集都以文件形式保存,该文件大小最多可扩展至 1 TB。建议使用文件地理数据库而不是个人地理数据库。
- 个人地理数据库 - 所有的数据集都存储于 Microsoft Access 数据文件内,该数据文件的大小最大为 2 GB。
- ArcSDE 地理数据库 - 使用 Oracle、Microsoft SQL Server、IBM DB2、IBM Informix 或 PostgreSQL 存储于关系数据库中。这些多用户地理数据库需要使用 ArcSDE,在大小和用户数量方面没有限制。
关键特征 | ArcSDE 地理数据库 | 文件地理数据库 | 个人地理数据库 |
---|---|---|---|
描述 | 在关系数据库中以表的形式保存的各种类型的 GIS 数据集的集合(为在关系数据库中存储和管理的 ArcGIS 建议使用的本机数据格式。) | 在文件系统文件夹中保存的各种类型的 GIS 数据集的集合(为在文件系统文件夹中存储和管理的 ArcGIS 建议使用的本机数据格式。) | 在 Microsoft Access 数据文件中存储和管理的 ArcGIS 地理数据库的原始数据格式。(此数据格式的大小有限制且仅适用于 Windows 操作系统。) |
用户数 | 多用户:多位读取者和多位写入者 | 单个用户和较小的工作组:每个要素数据集、独立要素类或表有多位读取者或一位写入者。浮动使用任何特定文件最终都会导致大量读取者的降级。 | 单个用户和较小的工作组(具有较小的数据集):多位读取者和一位写入者。浮动使用最终会导致大量读取者的降级。 |
存储格式 |
| 每个数据集都是磁盘上的一个单独文件。文件地理数据库是用来保存其数据集文件的文件夹。 | 每个个人地理数据库中的所有内容都保存在单个 Microsoft Access 文件 (.mdb) 中。 |
大小限制 | 可达 DBMS 限制 | 每个数据集 1 TB。每个文件地理数据库可保存很多数据集。对于超大型影像数据集,可将 1 TB 限值提高到 256 TB。每个要素类最高可扩展至每个数据集数亿个矢量要素。 | 每个 Access 数据库 2 GB。性能下降前的有效限制通常介于每个 Access 数据库文件 250 到 500 MB 之间。 |
版本管理支持 | 完全支持所有的 DBMS。包括交叉数据库复制、使用检出和检入进行更新以及历史存档。 | 对于使用检出和检入提交更新的客户机和可使用单向复制向其发送更新的客户机,仅支持地理数据库格式。 | 对于使用检出和检入提交更新的客户机和可使用单向复制向其发送更新的客户机,仅支持地理数据库格式。 |
平台 | Windows、UNIX、Linux 和与 DBMS 的直连,这些 DBMS 可能会在用户的本地网络中的任意平台上运行。 | 跨平台。 | 仅适用于 Windows。 |
安全和权限 | 由 DBMS 提供 | 操作文件系统安全。 | Windows 文件系统安全。 |
数据库管理工具 | 备份、恢复、复制、SQL 支持、安全等的完整 DBMS 功能 | 文件系统管理。 | Windows 文件系统管理。 |
注 | 需要使用 ArcSDE 技术。ArcSDE for SQL Server Express 包含于
| 还可以以只读的压缩格式存储数据以降低存储要求。 | 通常用作属性表管理器(通过 Microsoft Access)。用户喜欢针对文本属性的字符串处理。 |
文件地理数据库和个人地理数据库
文件地理数据库和个人地理数据库是专为支持地理数据库的完整信息模型而设计的,它包含拓扑、栅格目录、网络数据集、Terrain 数据集、地址定位器等,ArcView、ArcEditor 和 ArcInfo 的所有用户可免费获取这两种地理数据库。单用户可以对文件地理数据库和个人地理数据进行编辑,这两种地理数据库不支持地理数据库版本管理。使用文件地理数据库,如果要在不同的要素数据集、独立要素类或表中进行编辑,则可以同时存在多个编辑器。
文件地理数据库是在 ArcGIS 9.2 中发布的新地理数据库类型。其旨在执行以下操作:
- 为所有用户提供可用范围广泛、简单且可扩展的地理数据库解决方案。
- 提供能够跨操作系统工作的可移植地理数据库。
- 通过扩展可处理非常大的数据集。
- 性能和可扩展性极佳。例如,要支持包含超过 3 亿个要素的单个数据集,并支持可扩展为每个文件超过 500 GB(且可获得极佳的性能)的数据集。
- 使用性能和存储能力都得到优化的高效数据结构。文件地理数据库所使用的存储空间约为 shapefile 和个人地理数据库所必需的要素几何存储空间的三分之一。文件地理数据库还允许用户将矢量数据压缩为只读格式,以进一步降低存储要求。
- 在涉及属性的操作方面优于 shapefile,数据大小限制可进行扩展,可使其超出 shapefile 限制。
自从个人地理数据库最初在 ArcGIS 8.0 版本中首次发布以来,ArcGIS 中一直在使用个人地理数据库,该地理数据库使用了 Microsoft Access 数据文件结构(.mdb 文件)。它们支持的地理数据库的大小最大为 2 GB。不过,在数据库性能开始降低之前,有效的数据库大小会较小(介于 250 和 500 MB 之间)。个人地理数据库只能在 Microsoft Windows 操作系统下使用。用户喜欢他们能够通过 Microsoft Access 针对个人地理数据库执行的表操作。许多用户确实喜欢 Microsoft Access 中用于处理属性值的文本处理功能。
出于很多用途,ArcGIS 将继续支持个人地理数据库。不过,多数情况下,ESRI 推荐使用文件地理数据库以实现数据库大小的可扩展性,这样可大幅度提高性能并可跨平台使用。文件地理数据库非常适合处理用于 GIS 投影的基于文件的数据集,非常适合个人使用以及在小型工作组中使用。它具有很高的性能,在不需要使用 DBMS 的情况下能够进行很好的扩展以存储大量数据。另外,还可跨多个操作系统对其进行移植。
通常,用户会针对数据集合使用多个文件或个人地理数据库,并针对他们的 GIS 工作同时访问这些地理数据库。
ArcSDE 地理数据库
如果需要一种多位用户可同时编辑和使用的大型多用户地理数据库,则 ArcSDE 地理数据库可提供一种极佳的解决方案。新增的功能可用于管理共享式多用户地理数据库和支持多种基于版本的关键性 GIS 工作流。从而使利用贵组织企业关系数据库的能力成为 ArcSDE 地理数据库的一项重要优势。
ArcSDE 地理数据库适用于多种 DBMS 存储模型(IBM DB2、Informix、Oracle、PostgreSQL 和 SQL Server)。ArcSDE 地理数据库使用范围广泛,主要适用于个人、工作组、部门和企业设置。它们充分利用 DBMS 的基础架构以支持以下内容:
- 超大型连续 GIS 数据库
- 多位同步用户
- 长事务和版本化工作流
- 对 GIS 数据管理的关系数据库支持(为保证可伸缩性、可靠性、安全性、备份以及完整性等提供建立关系数据库的优势)
- 所有支持的 DBMS(Oracle、SQL Server、PostgreSQL、Informix 和 DB2)中的 SQL 空间类型
- 可适应大量用户不同要求的高性能
通过许多大型地理数据库的安装启用,我们发现在将 GIS 数据所需的大型二进制对象移入和移出表格时 DBMS 的效率极高。此外,与基于文件的 GIS 数据集相比,GIS 数据库的容量更大且支持的用户数量也更多。
有关 ArcSDE 地理数据库架构以及 ArcSDE 地理数据库如何利用关系数据库技术的信息,请参见地理数据库的架构。
ArcSDE 可对 DBMS 事务框架进行长事务管理和短事务管理
ArcSDE 的主要角色之一就是支持每个 DBMS 中的地理数据库版本管理框架。
绝大多数情况下,GIS 中的单个编辑事务可能涉及对多个表中的多个行进行更改。例如,更新宗地可能需要更改面的表示,并更改相应的边界线和宗地拐角。此外,还必须更新这些要素中每个要素的属性记录。此编辑操作需要对多个表中的多条记录进行更改。在这些情况下,用户希望将此编辑集合视为单个事务。提交或回滚这些更改时,会将它们视为一个统一的操作来进行管理。
同时,用户希望能够在一个编辑会话中撤消和重做单个编辑操作。为了使这种情况变得更为复杂,可能需要在与中央共享数据库断开连接的系统中执行编辑操作。
而且,在这些专门化的 GIS 数据维护过程中,GIS 数据库必须持续保持对日常操作可用,而在这些日常操作中,每位用户都有可能获取共享 GIS 数据库的个人视图或状态。
通过使用一种称为版本管理的方法,ArcSDE 地理数据库支持在多用户环境下对这些数据管理情景及许多其他数据管理情景进行管理和更新。在版本管理这种机制下,所有的数据库更改都作为表中的行进行记录。例如,每次更新某一行中的某个值时,旧值即会失效,并会新增一个更新行。
这样,通过将更改信息以增量记录的方式存储在数据库中,ArcSDE 技术就能在简单 DBMS 事务框架中管理复杂的高级 GIS 事务。