关于多时态数据存储的解决方案
请教各位高手是否接触过多时态数据存储相关的项目,即数据的版本非常之多更新非常频繁,而数据的存储空间又极其有限,要求随时都可以查询到任意版本的数据和各种版本之间的差异且对速度的要求较高。那么采用何种方案可以较好的平衡这二者的关系。
------解决方案--------------------得自已好好研究,想个好点算法
------解决方案--------------------vss样的东西?
------解决方案-------------------- vss样的东西?
-------------------------------
貌似
------解决方案--------------------你说的该是数据库增量备份的问题,各个版本维护的只是和完全备份的差异数据
数据库的恢复和比较以完全备份+差异备份实现,具体实现取决于你使用数据库的api
如sqlserver的sqldmo
------解决方案--------------------异地存储,增量更新到一地,缩短数据同步时间即可
------解决方案--------------------可以用实时数据库
------解决方案--------------------可以在数据库上只保存当前最新数据的信息,如果有新的数据要入库,首先与当前数据进行比较,比较情况可分为三种(增加,删除,更新),将这些差异信息用序列化的方法以二进制流的形式存储入数据库中(以二进制流形式存储可以减小数据库占用空间,看楼主的意思应该是海量数据),让后删除当前数据,保存新的数据,这样数据库上就永远保存着最新版本的数据,而要找回历史数据也非常简单,只需要结合当前最新数据与差异数据就可以反推出历史数据,这样的好处是相应减少了占用数据库的空间,但是新数据入库首先要做差异比较,速度会相对比较慢。
如果想在速度上实现突破,可以在新数据入库的时候,以二进制流形式保存所有的当前数据,然后删除掉当前数据,将新数据写入数据库,这样操作起来也比较简单,速度也相对比较快,缺点就是数据库上计录了所有版本的所有记录,数据量比较大。
------解决方案--------------------什么叫做时态,什么叫做版本,什么叫做版本差异,概念是很容易鱼目混珠的,你先定义清晰。
------解决方案--------------------學習ing....