购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.9 版本

随着数据库系统的不断演进,开发人员不断加入新功能并修复bug和性能问题。其后果是,二进制文件的格式也会发生变化。大多数时候,任一版本的存储引擎都要支持不止一种序列化格式(比如,当前的格式加上一种或多种旧的格式,以实现向后兼容)。为此,我们必须能够确定当前文件是什么版本。

有几种方式都能做到这一点。例如,Apache Cassandra中的文件名带有版本前缀,这样不用打开文件就可以知道文件的版本。从4.0版本开始,数据文件名带有“na”前缀,例如na-1-big-Data.db。旧版本文件则带有不同的前缀:3.0版本的文件带有“ma”前缀。

或者,可以将版本存储在单独的文件中。比如PostgreSQL将版本存储在PG_VERSION文件中。

版本也可以直接存储在索引文件的头部。在这种情况下,头部的一部分(或整个头部)必须用一种不随版本变化的格式进行编码。在找出文件编码的版本之后,我们可以创建出特定版本的读取器来解析文件内容。某些文件格式使用魔数(magic number)标识版本,我们将在4.1.1节中详细讨论。 /jgAEp+eDj4eWxE3LqPbe7PsicMQfbsnJNCxdMkR4M8liRIotwX/9XTu9mzmxs1w

点击中间区域
呼出菜单
上一章
目录
下一章
×