12

I always thought the largest scale of banks use Oracle. However, there is no proof they really use Oracle instead of Mysql or PostgreSQL, nobody knows the secret.

Any idea what they really use? Can i build an ATM/Bank system where millions of transaction will happen using Mysql? Can I use PostgreSQL? Or must I use Oracle only?

11
  • And what makes you think what the bank does not disclose its past or present employees will on this forum? Would that not be illegal?
    – Fanatic23
    Commented Jun 12, 2011 at 16:54
  • @Fanatic23: That was not the way i was trying to ask. I was trying to understand reliable Database that was used in Banking system is mostly oracle or others. Not specifically by name of bank used this and that. Sorry you misunderstand my words.
    – YumYumYum
    Commented Jun 12, 2011 at 17:16
  • 1
    My opinion, Oracle is mostly marketing, thy're a fine RDBMS but rarely, if ever, worth the pricetag. Commented Jun 12, 2011 at 17:28
  • 1
    @George: If Oracle's sales are based on marketing then it's a wonder they sell anything at all - their marketing is a trifle compared to (for example) Microsoft's. I think they get away with charging what they do because if a business wants to buy one of the multi-million dollar LOB applications, they've generally got no choice because they're all built on Oracle (because they're all over 30 years old, before open source was a twinkle in Stallman's eye and even before Microsoft was a serious contender). Fortunately, it does happen to be a good engine.
    – Aaronaught
    Commented Jun 12, 2011 at 20:10
  • 1
    Related: stackoverflow.com/questions/2701443 Commented Jun 13, 2011 at 10:27

9 Answers 9

8

When databases became really popular (1970s and 1980s), banks already had millions of customers, but getting hardware and software for that kind of database size was really hard and only Oracle could really handle this reliably. And to this day, Oracle is the only provider of a properly working, commercial multi-master transactional RDMS (and before you flame me, yes I know about the MySQL replication cluster, but show me one commercial implementation). Combine this with the (justified) tendency of banks to be reluctant about change, and you know why they mostly use Oracle (AFAIK).

When you are in that realm, there is not much of a choice. The market is small (banks, insurance companies and government agencies) and has extreme safety requirements, which explains the high prices.

With today's hardware you could probably build such an application using any of the modern RDMS, your biggest problem (for deployment in a bank or similar) would be the geographical spread of all clients combined with the need to correlate all the client interactions into (effectively) one database to ensure consistency.

1
  • 3
    How do they manage to get such quick consistency and availability to all their customers? Especially for high frequency trading? Commented Jun 20, 2014 at 6:15
7

Most large companies have many, many different systems including all sorts of databases.

Goldman Sachs is an enormous investing firm and I know they have a large Postgres infrastructure.

7
  • Thats really a nice info, i wanted to know. Thank you.
    – YumYumYum
    Commented Jun 12, 2011 at 17:36
  • @George Mauer, really? where did you get this information?
    – Nim
    Commented Jun 12, 2011 at 19:36
  • @Nim - Secrets! No, I just have an uncle who works for them Commented Jun 12, 2011 at 23:04
  • 2
    The question is what do they use it for. Most banks will have multiple RDMBSs but for the most part the core systems will be on one of the better established platforms - Oracle, Informix, SQL Server or something running on a mainframe. Commented Jun 13, 2011 at 9:31
  • 2
    A large financial firm I worked for used Oracle and SQL Server databases internally. Both were used in production environments, for different purposes. Oracle mostly for internal data collection, while SQL Server for time sensitive operations.
    – Ayush
    Commented Mar 22, 2012 at 4:43
5

Easiest way to figure this out is to filter data off the job boards, and just see what technology the banks are asking for. i.e. go to simplyhired or indeed and search for things like "citi programmer" or "boa programmer" etc...

4

Let's break this down into two parts.

First is challenging the commonly received wisdom that banks use Oracle over Postgres and MySQL. Questioning things like this is a good idea but in this case the evidence is pretty straight forward as a quick Google will give you a fairly complete list of oracle banking case studies, Postgres doesn't. While I'd hesitate to say this is authorative, I'd be surprised if Postgres weren't shouting from the rooftops if the product was being used in this way.

Add to this the mass of anecdotal evidence that Oracle (and the other big boys) is the defacto standard for this sort of system and I'd suggest that you need to be finding solid evidence that it's not the case, rather than the other way around.

I wouldn't dispute that Postgres (or MySQL) is being used by banks, just that it's not being used for the sort of mission critical, high availability, high volume systems you talk about.

And that moves into the second part. What are the requirements here?

For an ATM system I'd suggest you do need high availability and absolutely top quality support (who do your developers call when they need help at 6pm on a Friday?). You need to ask yourself what platform can provide that.

If you believe that you can architect a Postgres / MySQL solution that meets those needs to the standards a bank would expect (remember, these are very conservative people as a rule) then go ahead with it but I suspect that they'll have questions about support and reliability and will want to see someone else using that platform for that sort of solution rather than being the first to take that sort of a risk.

I get the impression you want Postgres to be a contender and that's fine, but it's your reputation at stake here if you're making the recommendation so you need to be absolutely confident that it really can do the job and not let what you want to be true cloud your judgement.

Finally, I'm not saying any of this is right in terms of how things should be, just that it's the way things are from my experience of the banking and finance sectors.

5
  • 2
    Postgres is perfectly acceptable for mission critical, high availability, high volume systems. ICANN uses it to run the .org registry. Commented Jun 13, 2011 at 10:12
  • @Denis - I'm not saying it's not, I'm saying convincing a bank of that is a different thing. Commented Jun 13, 2011 at 10:15
  • Not saying your points are invalid, far from it. But insofar as I've experienced it while selling things to large banks, managers also have a budget. In quite a few cases, I've seen the business side overrule an army of techies -- in my case, by settling for a cheap VPN over the internet instead of using the hugely expensive leased lines that the techies were adamant that they needed because of performance and security considerations. :-) Commented Jun 13, 2011 at 10:21
  • pgcon.org/2010/schedule/events/204.en.html Commented Jun 13, 2011 at 10:26
  • @Denis - Don't disagree. What I would say is that it's something that should be agreed with the business rather than making assumptions. I've seen examples of what you say but I've also seen banks spend stupid money on things which were complete overkill. Commented Jun 13, 2011 at 11:08
3

not banking, but I know the telephony systems for some Ambulance services use Postgresql. So when you dial '911', a postgresql database is involved in the process of getting that ambulance to you. This may not say anything abotu transaction volumes, but does say reliability is good with this kind of mission-critical service.

3

I worked for an investment bank where they used Open Source database systems for storing non-critical data like calculation results. The rules was: the more important the data, the more expensive the data base system (soft and hard ware).

1

The company I worked for was not a bank, but it handled and processed lots of financial data. They used Oracle.

I don't think a bank would care much about disclosing such stuff, it's not something which gives them a competitive advantage.

2
  • Thanks for your input. I want to believe on Mysql or PostgreSQL to make similar lots of data handle, i know Oracle proved to be the best. But google bigtable proved also that Oracle cant be the only 1.
    – YumYumYum
    Commented Jun 12, 2011 at 17:32
  • 2
    @89899: You can rest assured that just about every single financial system ever built requires ACID semantics. bigtable is nice, but eventually-consistent stores are not appropriate for that kind of an application.
    – Aaronaught
    Commented Jun 12, 2011 at 20:06
1

Not all applications and associated databases are mission critical or justify the expense of a product like Oracle. Cost conscious organizations of all types are likely to use less expensive alternatives for such applications.

1
  • 1
    In finance, the cost of Oracle license is peanuts compared to the scale of money usually involved. The cost of data feed you in to the database is way higher than the Oracle license.
    – quant_dev
    Commented Jun 13, 2011 at 7:38
1

You've missed out two very big alternatives - Sybase and Microsoft SQL. I don't claim to know what any of the big boys use, but, I'd be very surprised if the above two were not in the mix. I also know of some very large Oracle installs, but their licensing model leaves a lot to be desired.

2
  • Sybase was very popular in the UK investment banking industry 10 years ago - and ORACLE was nowhere. I suspect that may have changed. Commented Jun 12, 2011 at 20:04
  • Sybase is popular also because of Murex integration.
    – quant_dev
    Commented Jun 12, 2011 at 20:23

Not the answer you're looking for? Browse other questions tagged or ask your own question.