Sql 实时对大量数据进行版本控制

Sql 实时对大量数据进行版本控制,sql,database,hadoop,versioning,bigdata,Sql,Database,Hadoop,Versioning,Bigdata,我正在寻找有关如何为我正在开发的应用程序最佳地进行数据版本控制的信息 摘要 我有基于行的数据,每秒更改多次。有些数据是静态的,有些是高度可变的,有些介于两者之间。我想存储所有的增量,这样我就可以返回到任何时间点并捕获值。 每个国家都同样重要。我希望能够搜索和评估状态,例如“给我所有X值为Y的时间” 类比:汽车 我将用汽车作为类比来解释我的问题: 我想保存汽车的所有可能属性(=大量数据) 汽车可以是静态的(=很少更新),也可以是移动的(=很多更新) 汽车可能需要重新喷漆(=某些值可能看起来是静态

我正在寻找有关如何为我正在开发的应用程序最佳地进行数据版本控制的信息

摘要

我有基于行的数据,每秒更改多次。有些数据是静态的,有些是高度可变的,有些介于两者之间。我想存储所有的增量,这样我就可以返回到任何时间点并捕获值。 每个国家都同样重要。我希望能够搜索和评估状态,例如“给我所有X值为Y的时间”

类比:汽车

我将用汽车作为类比来解释我的问题:

  • 我想保存汽车的所有可能属性(=大量数据)
  • 汽车可以是静态的(=很少更新),也可以是移动的(=很多更新)
  • 汽车可能需要重新喷漆(=某些值可能看起来是静态的,但它们不是)
  • 我不在乎汽车开往何处或从何而来
  • 我想检查它停在哪里(=按属性询问状态)
  • 我想计算各州之间的行驶距离(=询问和比较各州)
  • 如果有人偷了车,我想马上知道
我们讨论的是每辆车的数据量,以及成吨的不同车辆。 我还想在以后的某个时间点将汽车与其他汽车进行比较(例如,粉红色的汽车是否被盗较少?),因此更多的汽车=更多的数据

画面时间

我绘制了一个快速图表来可视化更新:。我将嵌入它一旦我得到10代表

问题

保存数据的最佳方式是什么?我正在考虑一种稀疏数据库解决方案,对于重复值具有较低的开销。
我对任何数据库引擎或解决方案都持开放态度。

存储到达的事实的最佳方式是完全。您只需先查看一次数据,数据到达的速度越快,确保数据的安全性就越重要


半个世纪以来,华尔街一直在做这种事情。将缓慢移动的东西——姓名、地址——放在一个表中,将短暂的东西——通常是价格——放在另一个表中。不要太担心“重复”;首先应用接吻原则。在管理delta时,很容易搞糟事情,更容易用delta簿记开销来淹没你的“储蓄”。另外,如果您将所有内容保持整齐排列,那么任何SQL DBMS都将以高度自信的方式回答时间点查询

尽管这是一个相当广泛且可能自以为是的问题,但我希望它保持开放。设计问题的范围界定得很好,我相信可行的答案将对未来的SO成员有用。物联网将有许多这种模式的应用,我相信我们已经看到了在创客社区可以访问的技术。你仍然对这个问题的答案感兴趣吗?