模式与兼容
修改应用程序的功能也也意味着修改其存储的数据:使用新的字段或记录类型,或者以新的方式展示现有的数据。
不同的数据模型有不同的方法应对这种变化:
- 关系型数据库假定数据库中的所有数据都遵循一个模式:尽管可以更改这个模式(通过模式迁移,即
ALTER语句),但是在任何时间点都有且仅有一个正确的模式。 - 读时模式(schema-on-read,或 无模式,即 schemaless)数据库不会强制一个模式,因此数据库可以包含在不同时间写入的新老数据格式的混合。
当数据 格式(format) 或 模式(schema) 发生变化时,通常需要对应用程序代码进行相应的更改(例如,为记录添加新字段,然后修改程序开始读写该字段)。但在大型应用程序中,代码变更通常不会立即完成: