首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么不使用nosql进行金融事务处理?

为什么不使用nosql进行金融事务处理?
EN

Stack Overflow用户
提问于 2017-03-21 04:41:18
回答 4查看 10.7K关注 0票数 10

我在一家银行组织的Hackaton活动上听到一位发言者说,出于安全原因,您不应该在金融交易中使用nosql。但我不知道他在说什么。我一直在寻找一个答案,为什么我不应该在我的应用程序中使用nosql数据库。

nosql的优点和缺点是什么,金融交易sql数据库的优缺点是什么?

现在,我正在为商店出纳员建立一个应用程序,出纳员将使用这个应用程序存储交易,接收订单,并接受现金或信用卡付款。

对于这个项目的API,最好的方法是什么?SQL或NoSQL,以及为什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-03-21 11:10:07

正如@A2H所解释的那样,SQL和NoSQL取决于您的需求,说NoSQL不安全是不准确的,这就像说SQL是不可扩展的.这也不是真的。

现在,对于一个金融应用程序,您将有一些非功能性的需求,我可以在下面列出:

  • 文件级别的安全:如果有人能够访问数据库文件,他们是否能够使用该文件将信息加载到其他地方?例如,在Server中,数据库的登录信息包含在文件中,因此,不使用密码复制文件将使黑客很难窃取信息。
  • 可扩展性:我们说的是多少?几百万张唱片?从什么意义上说,您需要执行分布式查询,还是只需要本地化数据库,这取决于帐户信息的区域和中央表?或者您是否计划创建一个应用程序,该应用程序将每秒接收大量记录(如外汇信息),因此您需要一些东西来摄取大量记录并分析结果?那样的话,也许NoSQL是给你的。
  • 交易(ACID)投诉:您是否在处理交易(比如借方的类型--另一种?)然后,您可能需要使用类似Djondb或传统RDBMS的东西,两者都支持事务。
  • 灵活的模式:您需要一个灵活的模式来适应频繁的更改,而不必重新设计数据库和更新以前的记录?NoSQL对此很在行。

名单还会继续。但我觉得你知道这个主意..。

说NoSQL是不安全的,就像任何其他概括一样,是夸大其词。

票数 8
EN

Stack Overflow用户

发布于 2017-03-21 07:59:37

SQLNoSQL数据库不可互换。没有银弹数据库技术。在选择要用于项目的数据库技术时,您应该考虑利弊。

简短回答:如果您需要处理事务,您的数据可以很好地安排在关系实体中,然后使用SQL。如果您需要处理大量的半结构化或非结构化数据,并且需要横向可伸缩性,请使用NoSQL

如果希望更多地了解、SQL、、NoSQL、之间的差异,请单击“这里”或“这里”。

有关何时使用SQLNoSQL的一些见解可以找到这里

票数 5
EN

Stack Overflow用户

发布于 2021-11-06 16:54:24

在支付、转帐、股票市场交易的情况下,我们需要严格的酸。甚至简单的事情,如,我想阅读我的帐户余额(100美元)和取款90美元,但在我可以取款之前,我的妻子提取80美元。因此,银行最终在我的账户中出现负余额,这很可能违反了银行不允许负余额的一些规定。

那我们该怎么办?关系数据库提供了优秀的ACID和数据库锁定工具。人们也可以在MongoDB上进行黑客攻击,但黑客仍然是黑客。MongoDB正在开发ACID等,但是在一个基于分布式碎片的系统中,没有很强的一致性,我会远离它。

最后,在服务器端应用程序的微服务体系结构时代,每个服务都有数据库(我指的不是专门的物理服务,而是逻辑上每个服务的db )。因此,有两个数据库很简单:一个是MongoDB,另一个是关系数据库。将关系用于事务性事务,这将仅占用例的10%。其余的用例使用MongoDB,如浏览数据、图像、阅读评论、内容、帐户历史等。因此,由于90%+上的大多数用例都是基于MongoDB的,所以仍然达到了高可伸缩性的目的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42918598

复制
相关文章

相似问题

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