为什么不应该使用nosql进行金融交易

时间:2017-03-21 04:41:18

标签: sql database transactions finance nosql

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

有关nosql的专业知识是什么,有关sql数据库的金融交易的优点和缺点是什么?

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

此项目API的最佳方法是什么? SQL或NoSQL,以及为什么

3 个答案:

答案 0 :(得分:4)

由@ A2H解释,SQL和NoSQL取决于你的要求,说NoSQL不安全不准确,这就像说SQL不可扩展......这也不是真的。

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

  • 在文件级安全:如果有人有权访问数据库文件,他们是否可以使用它来加载其他地方的信息?例如,在SQL Server中,有关数据库的登录信息包含在文件中,因此复制没有密码的文件将使黑客难以窃取信息。
  • 可扩展:我们在说多少钱?几百万条记录?在什么意义上可扩展,您需要执行分布式查询还是只需要本地化数据库,具体取决于帐户信息的区域和中央表?或者您打算创建一个每秒钟会收到大量记录的应用程序(如外汇信息),因此您需要一些东西来摄取大量记录并分析结果?在这种情况下,NoSQL可能适合你。
  • 交易(ACID)投诉:您是否正在处理交易(比如此信用卡的借方类型?)然后您可能需要使用Djondb或传统RDBMS之类的东西来支持交易。
  • 灵活的架构:您需要一个灵活的架构,可以适应您的频繁更改,而无需重新设计数据库和更新以前的记录? NoSQL很擅长这个。

列表将继续......但我认为你明白了......

如同其他任何概括一样,说NoSQL不安全是一种夸大其词。

答案 1 :(得分:3)

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

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

如果您想详细了解 SQL NoSQL 之间的差异,请点击herehere

可以找到有关何时使用 SQL NoSQL 的一些见解here

答案 2 :(得分:0)

也许我认为其中一个原因是“nosql不支持ACID”

同样意味着没有交易。

也许它可以解释为什么不使用nosql进行“财务转换”。