去年,我们推出了http://tweetMp.org.au - 一个致力于澳大利亚政治和推特的网站。
去年年底,我们的政客架构需要调整,因为一些政客退休了,新政客进来了。
更改我们的数据库需要手动 (SQL) 更改,因此我正在考虑为我们的管理员实施一个 CMS,以便将来进行这些更改。
还有许多其他网站是政府/政治网站为澳大利亚管理自己的政治数据的。
我想提出一种集中的方式来做到这一点。
经过一段时间的思考,也许最好的方法是不对政治数据的当前视图以及它们与政治体系的关系进行建模,而是对交易进行建模。这样当前视图是过去发生的所有事务/更改的投影。
使用这种方法,其他站点可以“订阅”更改(la`pubsubhub)并提交更改并将这些更改项集成到他们的模式中。
如果没有这种方法,大多数站点将不得不拆除整个数据库并重新填充它,因此任何关联的记录都需要重新关联。以这种方式管理数据非常烦人,并且严重阻碍了将这些数据用于公共利益的混搭。
我注意到有些事情是这样工作的——源代码版本控制、银行记录、stackoverflow 积分系统和许多其他示例。
当然,这种方法的直接挑战和设计问题包括
- 当前视图是否被缓存并重新持久化?多久更新一次?
- 哪些基本实体必须存在且永不改变?
- 可能还有更多我现在想不出来的东西......
是否有任何人可以推荐的关于这个主题的著名文献?此外,像这样的数据建模的任何模式或实践可能有用吗?
任何帮助是极大的赞赏。
-简历