Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » UltraLiteJ » 使用 UltraLiteJ » UltraLiteJ 简介

 

UltraLiteJ 数据库存储区

支持的数据库存储区

以下是 UltraLiteJ 所支持的数据库存储类型的列表:

数据库存储类型 平台支持
文件系统存储 Java SE
RIM 对象存储 (RIM1x) Java ME
记录存储 Java ME
非持久存储 所有 Java 平台
BlackBerry 对象存储的限制

在 BlackBerry 智能手机上,数据库存储区的大小受可用对象句柄数量的限制。可用的对象句柄数量由闪存大小确定:

闪存 持久句柄 句柄
8 MB 12000 24000
16 MB 27000 56000
32 MB 65000 132000

UltraLiteJ 需要使用对象句柄以在数据库中存储值。例如,列数为 10 而索引数为 2 的表行至少需要 12 个对象句柄。

要使数据库存储区更大,UltraLiteJ 需要为每个数据库页使用持久对象句柄。

持久存储区配置和恢复

创建数据库时,使用 Configuration 对象为应用程序选择以下一种持久性形式。

  • 非持久性   创建 NonPersist 对象可以配置仅存在于内存中的数据库存储区。数据库在应用程序启动时创建,并在应用程序运行时使用,然后在应用程序关闭时也随之被放弃。应用程序关闭时,将删除非持久存储区中包含的所有数据。

  • 最终写入持久性   使用持久性配置对象的 setWriteAtEnd 方法启用最终写入持久性后,只有在释放连接后才向数据库写入数据。虽然此形式的持久性会改善事务的整体速度,但如果应用程序异常终止,数据会丢失。

  • 影子分页持久性   影子分页是最强大的持久性形式。它可通过持久性配置对象的 setShadowPaging 方法启用。如果在启动时就启用该持久性形式,它会将数据库恢复到上一个检查点状态,即使应用程序意外中止。

  • 简单分页持久性   未启用影子分页时,会使用简单分页持久性。所有数据都会写入从中读取数据的同一页。从更新开始后到完成前的时间段内,将数据库视为处于损坏状态。在启动时可以检测到损坏的数据库,但无法恢复。与影子分页相比而言,简单分页使用的内存明显要小,并且可提高性能。