请问是否可以提供更加技术性但仍处于高级概述级别的描述,以说明银行需要什么,以及Oracle如何解决其他数据库管理系统无法解决或没有相应功能的问题?
小问题:如果您必须开发银行解决方案,您是否会使用ORM?
我来自Web应用程序(Web 2.0)人群,通常听到有关MySQL、PostgreSQL甚至键值/列定向存储解决方案的消息。我几乎没有从技术角度了解银行或金融公司的运营方式。
谢谢, Ed
Oracle以更高的可靠性和安全性闻名。历史上,它在性能和规模方面比其他任何SQL引擎表现出色。尽管情况正在改变,但这种观念仍然存在。在许多市场中,Oracle仍被认为是黄金标准。金融服务似乎是其中之一。
企业文化... 历史... 偏见...
Oracle是非常好的数据库,但现在有很多其他类似的选择。
然而,如果金融机构存在了很长时间,并且他们一直使用Oracle(因为它曾经是独领风骚),那么这里面就有一个投资。
此外,由于Oracle曾经主导了这个市场,有经验的人在这些行业中已经更容易熟悉它并对它感到舒适,因此在构建新系统时选择它是一个“舒适”的选择。
PostgreSQL也被使用,巴西的Caixa(一家大型银行)正在使用它:PostgreSQL在关键金融系统中的应用
ORACLE在速度方面具有非常高的性能。此外,在某些领域具有更多的功能和其过程PL/SQL。MySQL/SQL Server也有存储过程,但不同之处在于ORACLE具有更多的函数并且执行速度比其他数据库更快。它可以在其过程和查询中操作更高的缓冲区以处理多个事务。除此之外,它与其他SQL数据库几乎相同。
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具有事务处理功能。