Database 历史数据建模文献、方法和技术
去年,我们推出了一个致力于澳大利亚政治和twitter的网站 去年年底,我们的政客模式需要调整,因为一些政客退休了,新的政客加入了进来 更改数据库需要手动(SQL)更改,因此我考虑为管理员实现CMS,以便将来进行这些更改 澳大利亚还有许多其他政府/政治网站管理自己的政客数据 我想想出一个集中的方法来做这件事 经过一段时间的思考后,也许最好的方法不是对政客数据的当前视图及其与政治制度的关系进行建模,而是对交易进行建模。这样,当前视图就是过去发生的所有事务/更改的投影 使用这种方法,其他站点可以“订阅”更改(一个lapubsub)并提交更改,只需将这些更改项集成到它们的模式中 如果没有这种方法,大多数站点将不得不拆除整个数据库并重新填充,因此需要重新关联任何相关记录。以这种方式管理数据非常烦人,并且严重阻碍了为公共利益而将这些数据进行混搭 我注意到有些东西是这样工作的——源代码版本控制、银行记录、stackoverflow points系统和许多其他示例 当然,这种方法面临的直接挑战和设计问题包括Database 历史数据建模文献、方法和技术,database,data-modeling,datamodel,websub,Database,Data Modeling,Datamodel,Websub,去年,我们推出了一个致力于澳大利亚政治和twitter的网站 去年年底,我们的政客模式需要调整,因为一些政客退休了,新的政客加入了进来 更改数据库需要手动(SQL)更改,因此我考虑为管理员实现CMS,以便将来进行这些更改 澳大利亚还有许多其他政府/政治网站管理自己的政客数据 我想想出一个集中的方法来做这件事 经过一段时间的思考后,也许最好的方法不是对政客数据的当前视图及其与政治制度的关系进行建模,而是对交易进行建模。这样,当前视图就是过去发生的所有事务/更改的投影 使用这种方法,其他站点可以“订
- 当前视图是否已缓存并重新加载?多久更新一次
- 什么样的基本实体必须存在,永远不会改变李>
- 可能现在我想不起还有更多
-CV这是数据建模中相当常见的问题。基本上可以归结为: 您对当前视图、某个时间点的视图或两者都感兴趣吗? 例如,如果您有一个为订阅建模的服务,您需要知道:
- 某人在某个时间点有哪些服务:这是计算收费金额、查看帐户历史记录等所需的;及
- 某人现在有哪些服务:他们可以在网站上访问哪些服务
- 服务历史记录:id、userid、serviceid、开始日期、结束日期
- 谁是众议院每个席位的现任议员李>
- 谁是每个席位的现任参议员李>
- 谁是各部门的现任部长李>
- 谁是首相
- 希金斯的成员李>
- 司库;及
- 副总理
所有这些都不需要模式更改,因为模式应该能够处理它。数据仓库体系结构中的更改跟踪技术有很好的技术(缓慢变化的维度)可以捕获此类内容。这样做的好处是,它在很大程度上使您的主要应用程序数据库处于孤立状态,缺点是进行追溯性更改更加困难,而且创建数据仓库显然需要大量的工作。如果人们对当前的历史记录不满意,并且希望通过一些数据输入追溯添加历史记录,或者经常需要对历史记录进行更正,那么您必须构建工具来删除这些信息。