我们有一个处理财务数据的应用程序,它是没有原理图的。更准确地说,shemaless数据是关于订单的信息,其中字段是由商家定制的。一致性和耐久性是很重要的。
因为我们的数据是如此的动态,报告是非常困难的。每个记录可能略有不同,或者完全不同。如果我们继续使用关系数据库,那么我们唯一的选择似乎是将“文档”序列化为blob。报告必须单独进行,也许可以将数据复制到用户定义的报告定义的公共结构中(每个“报告”都有一个自定义表)。
另一种选择是面向文档的NoSQL数据库,如MongoDB。在进行了一些研究之后,似乎大多数人都不相信NoSQL数据库有财务数据,因为它依赖于基座而不是酸。
我似乎发现自己处于两个完全不同的用例中间。我的数据非常适合一个面向文档的数据库(MongoDB),但我需要一个ACID数据库的可靠性。同时,复杂的用户定义的报告也是必要的。
所以我似乎有三个选择:
那么这三种中哪一种是我最好的选择(最灵活和耐用)?还有其他我没有考虑过的选项,知道我不能改变数据的动态性吗?有人在生产中使用MongoDB报告吗?
(对于我们的RDMS,我们使用MySQL。考虑切换到MariaDB。选择的编程语言是PHP。考虑使用Sphinx进行全文搜索,比如搜索某人的名字。)
发布于 2011-11-23 20:15:57
只是几点:
只有从辅助节点读取数据时,MongoDB才最终是一致的。否则,它是一致的。
如果您需要多个对象ACID事务,那么MongoDB将无法工作。如果您需要原子性、一致性和持久性,那么如果您启用日志记录并明智地使用写关注点,则可以获得该MongoDB。
https://stackoverflow.com/questions/8247666
复制相似问题