为什么银行或金融公司更喜欢使用Oracle而非其他关系型数据库管理系统作为其“核心”系统?

16
我想知道为什么大多数银行或金融公司在其核心系统(银行必须支持的最基本功能)中更喜欢使用Oracle而不是其他关系型数据库管理系统。我找到了一些回答,但它们并没有让我满意。例如,Oracle具有更多的功能。但这些功能是用来做什么的?如果您不使用Oracle,您不能在应用程序级别实现吗?
请问是否可以提供更加技术性但仍处于高级概述级别的描述,以说明银行需要什么,以及Oracle如何解决其他数据库管理系统无法解决或没有相应功能的问题?
小问题:如果您必须开发银行解决方案,您是否会使用ORM?
我来自Web应用程序(Web 2.0)人群,通常听到有关MySQL、PostgreSQL甚至键值/列定向存储解决方案的消息。我几乎没有从技术角度了解银行或金融公司的运营方式。
谢谢, Ed
7个回答

15

Oracle以更高的可靠性和安全性闻名。历史上,它在性能和规模方面比其他任何SQL引擎表现出色。尽管情况正在改变,但这种观念仍然存在。在许多市场中,Oracle仍被认为是黄金标准。金融服务似乎是其中之一。


3
当你向Oracle支付数千美元的许可费时,如果出现问题,你就有人可以联系。 - Frank Farmer
2
所有主要供应商也是如此。微软有高级支持服务。你也可以购买MySQL的高级支持。更准确地说,当您已经投资了100万美元以上用于大型Oracle数据库基础架构并建立了具备必要专业知识的团队,就像许多金融机构一样,只要它保持正常运转,您就没有扔掉它的动机。请记住这些人曾经坚定地坚守在主机环境中。 - Tom Cabanski

10

企业文化... 历史... 偏见...

Oracle是非常好的数据库,但现在有很多其他类似的选择。

然而,如果金融机构存在了很长时间,并且他们一直使用Oracle(因为它曾经是独领风骚),那么这里面就有一个投资。

此外,由于Oracle曾经主导了这个市场,有经验的人在这些行业中已经更容易熟悉它并对它感到舒适,因此在构建新系统时选择它是一个“舒适”的选择。


好的回答。Oracle 基本上就像 Kleenex 对于面巾纸一样,是黄金标准。 - Kuberchaun

6

3
巴西有联邦政府的规定要使用开源技术,而卡伊沙银行是(或曾经是)政府所有的银行,所以选择可能并非出于技术原因。 - Otávio Décio
1
你说得没错,但它仍然非常好用。比政府自己还要好用... 像NTT这样的公司也使用 PostgreSQL,他们不能犯错误,因为它是公司的支柱。 - Frank Heikens
你们俩向我展示了一个有趣的事实,对于那些有时不了解加拿大或美国以外行业的人来说,这对我很有帮助。非常感谢你们。 - edwin.nathaniel
很抱歉,我的水平不是非常高 :) 无论如何,我经历了整个80年代和90年代的“市场储备”,在那里不允许进口“现有类似产品”,仿制美国产品的数量令人难以置信,从DOS到dBase再到Wordstar。谈论一下倒退... - Otávio Décio

2
无论你得到什么答案,很可能都会受到OP对所使用的关系型数据库管理系统的个人偏好的影响。
任何公司实施新的工作解决方案时,需要填写更多的文件(从1Tc到R2D2),并获得批准,这比购买房子还要复杂。
因此,如果你所讨论的环境使用的是Ms Access,你会发现很难说服他们改变。
鉴于这一切,曾经有一个时期(甚至今天仍然如此),这些决策不是由开发人员做出的,而是由成本公司做出的。
另一个笑话。根据程序员的年龄,你听说过 COBOL吗?

嘿,COBOL是一种很棒的编程语言。甚至还有一个适用于.NET的COBOL版本!(http://www.netcobol.com/) - Tom Cabanski
你可能会感到惊讶...我还不到30岁,但我曾经简要地编写过Fortran代码。 - edwin.nathaniel
天啊,.NET 也有 Fortran 版本了。(http://www.mpassociates.gr/software/distrib/science/lahey/lfnet.html)。 - Tom Cabanski

2
除了之前提到的所有原因,Oracle比MS SQL和其他产品如IBM DB、PostgreSQL等更受青睐的原因是:
- Oracle自1977年以来就是最老的数据库,所以我们谈论的是37年的发展历程,而MS SQL Server自1989年起基于Sybase-SQL Server,这是一个由MS、Ashton-Tate和Sybase联合开发的项目。 - Oracle专注于数据库开发,而微软更注重Windows操作系统和Office,此外还有各种编程语言在.NET框架下打包在Visual Studio中。 - 在Oracle数据库与MS-SQL Server之间的技术优势方面,主要表现为Oracle跨平台,在数据库专家看来,它执行查询更快,并且它有两个MS-SQL Server目前没有的东西,一个是Oracle如何处理存储过程,它可以将SP分组成包,使得每个包内的所有存储过程都可以作为一个单元被应用程序显式调用和执行,而这在MS SQL Server中目前无法实现。 - Oracle相对于MS SQL Server的商业营销主要来自于公司ERP解决方案的主要开发人员,他们倾向于选择Oracle而不是MS SQL Server,因为它更容易部署和实施在公司的基础设施上,因为Oracle是跨平台的,所以他们认为安装和运行Oracle数据库会更快,而使用MS SQL Server数据库则不太容易,除非整个平台都是Windows,这取决于Windows NT和.NET框架,这在公司的基础设施中可能并不总是使用或可用。

1

ORACLE在速度方面具有非常高的性能。此外,在某些领域具有更多的功能和其过程PL/SQL。MySQL/SQL Server也有存储过程,但不同之处在于ORACLE具有更多的函数并且执行速度比其他数据库更快。它可以在其过程和查询中操作更高的缓冲区以处理多个事务。除此之外,它与其他SQL数据库几乎相同。


0

Oracle也被Salesforce和Amazon(http://highscalability.com/amazon-architecture)以及航班预订(http://www.dbms2.com/2010/04/21/ita-software-needlebase-google/)等公司所使用。而且,Oracle可以在多个操作系统上运行,因此您不会像使用MS SQL那样受到限制。

像闪回(http://www.oracle.com/technology/deploy/availability/htdocs/Flashback_Overview.htm)这样的功能在客户端中很难实现。如果您不想从数据库中检索所有数据,因为这需要太长时间,那么散列连接、分析查询和物化视图都不是客户端可以执行的操作。我了解到MySQL无法执行散列连接。Oracle还可以自动并行化长时间运行的查询。

此外,Oracle还支持在不离线的情况下更改数据库架构。

Oracle还具有加密和数据安全功能(甚至在行级别)。

我认为金融公司不会使用非ACID的NoSQL系统。也许用于日志记录,但不用于“重要”的事情。也许有些公司使用Berkeley DB,因为Berkeley DB具有事务处理功能。


是的,我确定他们不会走 NoSQL 的路线。他们可能会在日志记录和一些分析/数据挖掘/仓库任务中使用它。但这只会在遥远的未来发生,并且仍将以关系型数据库为核心。 - edwin.nathaniel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接