Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question

closed as not constructive by ChrisF Mar 21 '12 at 22:30

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

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 Jun 12 '11 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 Jun 12 '11 at 17:16
My opinion, Oracle is mostly marketing, thy're a fine RDBMS but rarely, if ever, worth the pricetag. – George Mauer Jun 12 '11 at 17:28
@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 Jun 12 '11 at 20:10
Related: – Denis de Bernardy Jun 13 '11 at 10:27
up vote 6 down vote accepted

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.

share|improve this answer
How do they manage to get such quick consistency and availability to all their customers? Especially for high frequency trading? – CMCDragonkai Jun 20 '14 at 6:15

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.

share|improve this answer
Thats really a nice info, i wanted to know. Thank you. – YumYumYum Jun 12 '11 at 17:36
@George Mauer, really? where did you get this information? – Nim Jun 12 '11 at 19:36
@Nim - Secrets! No, I just have an uncle who works for them – George Mauer Jun 12 '11 at 23:04
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. – Jon Hopkins Jun 13 '11 at 9:31
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. – xbonez Mar 22 '12 at 4:43

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...

share|improve this answer

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.

share|improve this answer
Postgres is perfectly acceptable for mission critical, high availability, high volume systems. ICANN uses it to run the .org registry. – Denis de Bernardy Jun 13 '11 at 10:12
@Denis - I'm not saying it's not, I'm saying convincing a bank of that is a different thing. – Jon Hopkins Jun 13 '11 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. :-) – Denis de Bernardy Jun 13 '11 at 10:21
@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. – Jon Hopkins Jun 13 '11 at 11:08

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.

share|improve this answer

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).

share|improve this answer

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.

share|improve this answer
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 Jun 12 '11 at 17:32
@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 Jun 12 '11 at 20:06

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.

share|improve this answer
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 Jun 13 '11 at 7:38

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.

share|improve this answer
Sybase was very popular in the UK investment banking industry 10 years ago - and ORACLE was nowhere. I suspect that may have changed. – nbt Jun 12 '11 at 20:04
Sybase is popular also because of Murex integration. – quant_dev Jun 12 '11 at 20:23

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