首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无模式的金融数据,以及NoSQL?

无模式的金融数据,以及NoSQL?
EN

Stack Overflow用户
提问于 2011-11-23 19:01:15
回答 2查看 1.4K关注 0票数 5

我们有一个处理财务数据的应用程序,它是没有原理图的。更准确地说,shemaless数据是关于订单的信息,其中字段是由商家定制的。一致性和耐久性是很重要的。

因为我们的数据是如此的动态,报告是非常困难的。每个记录可能略有不同,或者完全不同。如果我们继续使用关系数据库,那么我们唯一的选择似乎是将“文档”序列化为blob。报告必须单独进行,也许可以将数据复制到用户定义的报告定义的公共结构中(每个“报告”都有一个自定义表)。

另一种选择是面向文档的NoSQL数据库,如MongoDB。在进行了一些研究之后,似乎大多数人都不相信NoSQL数据库有财务数据,因为它依赖于基座而不是

我似乎发现自己处于两个完全不同的用例中间。我的数据非常适合一个面向文档的数据库(MongoDB),但我需要一个ACID数据库的可靠性。同时,复杂的用户定义的报告也是必要的。

所以我似乎有三个选择:

  1. 使用两个MySQL数据库:一个用于存储数据(blob),另一个用于用户定义报表(大量表)。
  2. 使用MongoDB,它支持大型数据库,但具有全局写锁,并且“最终一致”。
  3. 使用MySQL存储数据(blob),然后将其复制到MongoDB进行报告。考虑到唯一的指标很可能是merchantID,这会有多好呢?

那么这三种中哪一种是我最好的选择(最灵活和耐用)?还有其他我没有考虑过的选项,知道我不能改变数据的动态性吗?有人在生产中使用MongoDB报告吗?

(对于我们的RDMS,我们使用MySQL。考虑切换到MariaDB。选择的编程语言是PHP。考虑使用Sphinx进行全文搜索,比如搜索某人的名字。)

EN

Stack Overflow用户

回答已采纳

发布于 2011-11-23 20:15:57

只是几点:

只有从辅助节点读取数据时,MongoDB才最终是一致的。否则,它是一致的。

如果您需要多个对象ACID事务,那么MongoDB将无法工作。如果您需要原子性、一致性和持久性,那么如果您启用日志记录并明智地使用写关注点,则可以获得该MongoDB。

票数 3
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8247666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档