数据压缩
有关内存中和持久数据库压缩的优势讨论,请参阅“数据压缩”页面。
内存数据库压缩
在 Java 内存数据库应用程序中,我们可以通过设置 Database.Parameters 中的 compressionLevel、compressionMask 和 expectedCompressionRatio 来管理数据压缩。这些参数与 C 应用程序中的 mode_mask 参数具有相同的效果。如果您设置了非默认的 CompressionLevel(即不为 -1),系统会自动应用模式位 MCO_DB_INMEMORY_COMPRESSION 到模式掩码中,因此您无需手动设置此标志。更多详细信息,请参阅 C API 数据压缩页面。
持久数据库压缩
对于持久数据库压缩功能,目前仅支持类 Unix 系统(如 Linux、MacOS 和 Solaris)。请注意,在 Windows 系统上暂时无法启用此功能。在 Unix-Linux 系统中,我们使用两个特殊的文件系统库 mcofu98zip 和 mcofu98ziplog 实现 LZ 压缩。要在 Java 中启用持久数据库压缩,您需要将 Database.MCO_CFG_DISK_COMPRESSION 传递给 Java 数据库类的构造函数。这将强制 JNI 包装器加载库 mcofu98zip。之后,您可以使用 Database.Parameters 类中的 compressionLevel 和 maxDiskDatabaseSize 字段来管理压缩设置。