地理数据库的类型
地理数据库是用于保存数据集集合的“容器”。有以下三种类型:
- 文件地理数据库 - 在文件系统中以文件夹形式存储。每个数据集都以文件形式保存,该文件大小最多可扩展至 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 数据集、地址定位器等,ArcGIS for Desktop Basic、标准版 和 高级版 的所有用户可免费获取这两种地理数据库。单用户可以对文件地理数据库和个人地理数据进行编辑,这两种地理数据库不支持地理数据库版本管理。使用文件地理数据库,如果要在不同的要素数据集、独立要素类或表中进行编辑,则可以同时存在多个编辑器。
文件地理数据库是 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 事务。
![注 注](rsrc/note.png)
此机制用于维护所有更改的记录及其元数据,其是术语版本管理的起源。
ArcSDE 使用版本的元数据来隔离多个编辑会话、支持复杂事务、共享复本、同步多个数据库之间的内容、执行自动存档并支持历史查询。
有关详细信息,请参阅编辑和维护数据概述。
ArcGIS 中如何包含 ArcSDE 技术?
过去,ArcSDE 作为单独的 Esri 产品进行销售。从 ArcGIS 9.2 开始,ArcSDE 技术成为 ArcGIS 内含的功能,不再单独提供。ArcSDE 技术已集成到了 ArcGIS for Desktop、ArcGIS Engine 和 ArcGIS for Server 中,以便用户能够在其组织内扩展基于 DBMS 的地理数据库。
从 ArcGIS 9.2 开始,ArcGIS for Desktop Standard 和 高级版 包含 Microsoft SQL Server Express 的安装程序。这些软件产品还包括支持 SQL Server Express 中 ArcSDE 地理数据库的 ArcSDE 功能,最多可同时支持三个桌面用户。
从 ArcGIS 9.3 开始,ArcGIS Engine 包含 SQL Server Express 的安装程序。对于用于编辑地理数据库的 ArcGIS Engine 应用程序,ArcGIS Engine 的可选 Geodatabase Update 扩展模块是必需的模块。
Microsoft 对 SQL Server Express 的使用做出了限制,要求只能使用一个 CPU(或套接字中的内核)和大小为 1GB 的 RAM。SQL Server 2005 Express 或 SQL Server 2008 Express 数据库最大只能为 4GB。SQL Server 2008 Express R2 数据库最大为 10GB。(有关具体实施时的实例大小限制的特定信息,请参阅 Esri 许可协议。)
在 ArcGIS for Desktop Standard 和 高级版 中,可通过 ArcCatalog 应用程序使用 SQL Server Express 全面管理 ArcSDE 地理数据库。这样,一次就可为多个用户提供全面的 ArcSDE 地理数据库功能。可在 ArcCatalog 中或目录窗口中设置和管理这些 ArcSDE 地理数据库。不需要具有额外的软件或数据库管理方面的专业知识。
ArcGIS for Server Workgroup 还包括 ArcSDE 对 SQL Server Express 的支持。使用此级别的 ArcSDE,通过使用 SQL Server Express,最多可同时支持 10 个 Windows Desktop 用户和编辑人员(ArcGIS for Desktop Basic、标准版、高级版、自定义 ArcGIS Engine 应用程序、AutoCAD、MicroStation 等的用户),并可支持任意数量的来自 Web 应用程序的额外服务器连接。(有关实现时所需的连接数量的特定信息,请参见许可协议。)
对于 ArcGIS for Server Workgroup,您可使用 ArcGIS for Desktop Standard 或 高级版 在 ArcCatalog 中或目录窗口中创建和管理 SQL Server Express 的 ArcSDE 地理数据库。不需要具有额外的数据库管理方面的专业知识。
ArcGIS for Server 中包含完整的企业级 ArcSDE 技术,未做任何限制。您仍可针对 Oracle、SQL Server、PostgreSQL、IBM DB2 和 IBM Informix 运行传统的 ArcSDE 技术。企业服务器级别的 ArcSDE 支持可以扩展为任意大小的数据库以及任意数量的用户,并可在任意大小和配置的计算机上运行。使用 ArcGIS for Server,您可以提供您自己的 DBMS 许可,以便使用此级别的 ArcSDE。选项包括以下内容:
- Oracle
- Microsoft SQL Server
- IBM Informix
- IBM DB2
- PostgreSQL
DBMS 通常由数据库管理员 (DBA) 进行管理。
您不必针对 SQL Server Express 监视和管理内存和 CPU 的使用情况。对于单个 CPU,SQL Server Express 软件会自动将计算机的使用限制在 1 GB 的 RAM,并且数据库大小为 4GB 或 10GB,这取决于您所使用的 SQL Server Express 版本。 |
与 Microsoft Access 数据库不同,SQL Server Express 的性能不会随着数据库大小接近其上限值而有所降低。 |
ArcSDE for SQL Server Express 作为 ArcGIS for Desktop Standard 和 高级版 的一部分免费提供。如果您选择安装 SQL Server Express,您就可以使用 ArcCatalog 管理 SQL Server Express 数据库。 |
安装 ArcGIS for Server Workgroup 时,可以安装和使用 SQL Server Express。安装 SQL Server Express 后,您便可以在 ArcGIS for Desktop Standard 或 高级版 级别许可中使用 ArcCatalog 来管理工作组服务器的 SQL Server Express 数据库。 |
这些不同的级别使得用户能够针对任意数量的用户(无论数量多少)充分利用 ArcSDE 地理数据库。这样,组织将获得一个可扩展的数据架构,这样的数据架构既适用于组织的单用户系统也适用于其大型企业系统。 |