一个 HyperSQL 数据库 被称为一个编目。
按照数据 存储方式的不同分为 3 种不同类型的编目。
• mem:将所有的实体存储在 RAM 中,其生存周期与 JVM 相同,当 JVM 被关闭后数据库实例将被关闭而销毁。
• file:存储在文件 系统 中。
• res:存储在 Java 的资源文件中,例如一个 jar 包。这种类型的永远是只读的。
在内存中保留的数据,mem: 类型可以被用于测试或者一个应用 的复杂缓存,这种类型的数据库是不包含有任何文件的。
file: 文件类型通常保留有 2 到 5 个文件,这些文件具有相同的名字,但是扩展名不相同。这些文件也被保留在同一个文件目录 中。
例如,数据库被命名为 “test”,那么在文件方式中将会有下面的一些文件存在:
• test.properties
• test.script
• test.log
• test.data
• test.backup
• test.lobs
properties:属性文件中,保留了一些与数据库有关的配置。
script:脚本文件包含和定义 了表格和其他的一些数据库对象,同时也包含没有缓存的表格数据。、
log:日志 文件保存了数据库进行的修改记录。
data:数据文件包含了缓存过的表格和一个数据文件最后状态的压缩备份文件。
在一个 HyperSQL 数据库中中,所有的这些文件都是必须的,任何时候都不能被删除 。
在一些目录中,可能没有 test.data 和 test.backup 文件。
对于其他的一些文件 HyperSQL 数据库有可能将实例连接到其他格式 化过的文件文本文件,例如 CSV 列表。
在磁盘上 "test" 编码被打开并开始使用后,一个 test.log file 文件用于记录数据库所做的修改。这个文件可以被在数据库被正常关闭后删除。
否则,这个文件用于在一次非正常关闭后用于回滚数据库的改变。
test.lck 文件用于记录数据库的打开状态,这个文件将会在数据库实例被正常关闭的时候删除。
注意:
当数据库引擎关闭数据库的时候,数据库引擎将会创建一个临时文件。这个文件被用扩展名 .new 命名,随后这个文件将会被命名为上面所提到的集中类型的文件。
在一些非正常的数据库关闭,文件 test.data.old 将会被创建而随后被删除。
这些文件不应该被用户 手工删除的,而应该由数据库实例自行删除。如果这些文件存在,那么在数据库引擎的下一次启动时将会被数据库引擎自行删除。
res: 编目是存储的一个小型和只读类型的数据库。