使用关系数据库和组合键 - 值存储(Using a relational database and

2019-09-17 13:07发布

对于我的工作项目的要求似乎指向组合同时使用关系型数据库(如postgre,MySQL的)用key-value存储(如HBase的,卡桑德拉)。 我们的数据几乎打破很好地与相互依存的少量异常的两个数据的机型之一。

这不是临时抱佛脚关系数据库为key-value存储的尝试; 它们是相互独立的。

是否有任何重大理由不这样做呢?

Answer 1:

我在SQL DBMS境内工作,所以采取这种偏见考虑,但是...

与西拉Bhaiji,我担心“除了相互依存少量”。 有一些事情要思考的问题,这些问题的答案将帮助您决定做什么。

  • 如果出现错误的相互依存关系会发生什么? (客户赔钱 - 那么你需要在整个使用DBMS,你赔钱 - 可​​能是相同的;有人被报道,拥有3045点的时候,他们真的有3046 - 也许它并不重要。)
  • 有多难解决了“烂摊子”出问题的时候?
  • 如何在工作中有多少是在key-value存储,又有多少是在DBMS?
  • 可以相互依存通过移动从key-value存储一些东西DBMS被删除?
  • 作为一个key-value存储使用时,如何慢是DBMS? (你确定有没有办法把它足够接近平价?)
  • 在灾难恢复情况下,会发生什么? 同步备份?

如果你有足够的这些问题和相关的问题,那么它是OK去与混合设置 - 你已经想通了,权衡风险,所形成的判断,这是合理的继续。 如果你不知道答案,让他们。



Answer 2:

它应该很好地工作。

有一对夫妇,你需要知道的/注意事项:

  • 你的程序是现在负责的商店,而不是关系模型之间的数据一致性。
  • 根据你的技术,你可能会或可能不会有跨越数据存储事务。 在这里,你可能需要编写在发生故障的情况下,一些手动清理工作。


Answer 3:

当你说key-value存储你在一个会话或执行的缓存类型的意思怎么样? 总有一些理由做这样的事情...读取和写入到数据库通常是你最资源密集型操作。 更多细节?



文章来源: Using a relational database and a key-value store in combination