数据库是使用数据库向导创建的 IRIS.DAT 文件。 IRIS数据库保存称为全局变量的多维数组中的数据和称为例程的可执行内容,以及类和表定义。
全局变量和例程包括方法、类、网页、SQL、BASIC和JavaScript文件
注意:在 Windows 系统上,不要对 IRIS.DAT 数据库文件使用文件压缩。 (通过右键单击 Windows 资源管理器中的文件或文件夹并选择属性,然后选择高级,然后压缩内容以节省磁盘空间来压缩文件;压缩后,文件夹名称或文件名在 Windows 资源管理器中呈现为蓝色。)如果压缩IRIS.DAT 文件,它所属的实例将无法启动,并出现误导性错误。
IRIS 数据库根据需要动态扩展(假设有可用空间),但可以指定最大大小。如果使用默认的 8KB 块大小,数据库可以增长到 32 TB。
可以动态更改大多数数据库配置;可以在系统运行时创建和删除数据库以及修改数据库属性。
注意:这些主题描述了使用管理门户手动配置数据库的过程。 IRIS 还包含可用于自动化数据库配置的编程工具。可以使用新选项卡类中的 Config.Databases 来创建和配置数据库;还可以使用 ^DATABASE 命令行实用程序配置数据库。
配置数据库的另一种方法是将 CreateDatabase、ModifyDatabase 或 DeleteDatabase 操作与配置合并结合使用。配置合并允许通过应用声明性合并文件来自定义 IRIS 实例,该文件指定要应用于该实例的设置和操作。
IRIS 将数据——持久多维数组(globals)以及可执行代码(例程)——存储在一个或多个称为数据库的物理结构中。数据库由存储在本地操作系统中的一个或多个物理文件组成。一个 IRIS 系统可能(并且通常确实)有多个数据库。
每个 IRIS 系统都维护一个数据库缓存——一个本地共享内存缓冲区,用于缓存从物理数据库中检索到的数据。这种高速缓存大大减少了访问数据所需的昂贵 I/O 操作的数量,并提供了 IRIS 的许多性能优势。
IRIS 应用程序通过命名空间访问数据。命名空间提供存储在一个或多个物理数据库中的数据(全局变量和例程)的逻辑视图。一个 IRIS 系统可能(并且通常确实)有多个命名空间。 IRIS 将逻辑命名空间中可见的数据映射到一个或多个物理数据库。这种映射为应用程序提供了一种强大的机制,可以在不更改应用程序逻辑的情况下更改应用程序的物理部署。
在最简单的情况下,命名空间和数据库之间存在一一对应关系,但许多系统利用定义命名空间的能力来提供对多个数据库中数据的访问。例如,一个系统可以有多个命名空间,每个命名空间提供存储在一个或多个物理数据库中的数据的不同逻辑视图。
可以在单个 IRIS 实例中配置的数据库数量的绝对限制(如果有足够的存储空间)是 15,998。其他限制如下:
256 KB。这意味着,如果数据库目录名称的平均长度较长,则实例可以拥有较少的数据库总数。以下公式描述了这种关系:maximum_DBs = 258048/ (avg_DB_path_length + 3)
例如,如果所有数据库目录路径的格式为 c:\InterSystems\IRIS\mgr\DBNNNN\,则平均长度为 33 个字节。因此,最大数据库数为 7,168,计算如下:258048/ (33 + 3) = 7168。
15,998 的绝对限制中计数两次。如果实例上的所有数据库都进行了镜像,则有效限制为 7,499 个数据库。这是因为 IRIS 为镜像数据库创建了两个数据库定义;一个用于目录路径 (c:\InterSystems\IRIS\mgr\DBNNNN\),另一个用于镜像定义 (:mirror:MIRRORNAME:MirrorDBName)。IRIS 将大约一半的操作系统打开文件分配留给自己和设备使用。以下是配置数据库时要考虑的提示:
IRIS 提供了一个无缝选项,可以在多个物理数据库 (IRIS.DAT) 文件中传播数据。因此,可以根据需要构建具有多个数据库的应用程序或通过全局或下标级映射拆分数据。IRIS.DAT 数据库文件中)全局映射到单独的数据库,并且将流数据库配置为大 (64 KB) 块大小。8 KB 数据库块大小更有利。除了 IRIS 支持的 8 KB(默认)块大小(始终启用)之外,还可以启用以下块大小:
16 KB (16384)32 KB (32768)64 KB (65536)但是,在创建使用大块的数据库时应该谨慎,因为使用它们会影响系统的性能。
在启用和使用大的块大小之前,请考虑以下几点:
8 KB)确保最佳性能;8 KB块大小的数据库。要创建一个使用不支持的块大小的数据库,请执行以下操作:
DBSizesAllowed条目中描述。
如创建本地数据库过程中所述,可以通过复制或移动 IRIS.DAT 文件将 IRIS 数据库复制或移动到创建它的实例之外的实例,或临时装载在另一个实例中创建的数据库在同一个系统上。还可以将数据库的备份(请参阅数据完整性指南的“备份和恢复”一章)恢复到其原始实例以外的实例。但是,为避免数据不兼容,必须满足以下要求:
8位或Unicode;此要求的一个例外是使用基于 ISO 8859 Latin-1 字符集的区域设置的 8 位实例与使用相应宽字符区域设置的 Unicode 实例兼容。例如,使用 enu8 语言环境在 8 位实例中创建的数据库可以在使用 enuw 语言环境的 Unicode 实例中使用。
根据平台的不同,多字节数据存储在最低内存地址(即首先)中的最高有效字节或最低有效字节:当最高有效字节首先存储时,称为“大端;”当首先存储最低有效字节时,它被称为“小端”。
当使用在不同端序的系统上创建的现有IRIS.DAT定义数据库时,请在使用数据库之前使用cvendian实用程。