【发布时间】:2018-12-20 06:30:51
【问题描述】:
我正在为我正在维护的数据库提供客户端驱动程序。数据库有很多具有明确定义的模式的表。 (本例中为 Cassandra)
有时会出现一些重大更改(源于产品和系统要求),并且客户端会“中断”,因为他们迄今为止执行的查询对于新架构而言将是不正确的。
我很想知道是否有一种干净的方式来“版本化”客户端以使用相应的表?
例如,一个简单的实现可以将版本号添加到表名,即对于 db 中的每个表,将版本号附加到表名。
客户端将始终查询与此命名约定匹配的表。较新的破坏版本会更改表名称以匹配较新的版本,并且客户端将相应地升级。
有没有更好的方法来处理这个问题?
【问题讨论】:
标签: cassandra schema database-schema database-migration cassandra-3.0