My client is looking to build an ecommerce site but wants Oracle as the backend (to handle the entire business from end to end, not just the webapp part) because he's been told that MySQL (and MS Access) will choke when the numbers start rising. I'm not a database expert, can someone tell me whether this statement is valid? Below are the client's points:
‘I’ve had two unrelated IT experts that I trust generally, both tell me that I need Oracle after I’ve described in detail the complexity and scalability I need. Within a few years we expect to be processing 100,000 orders per year, buying and analyzing hundreds of thousands of dollars in Google Adwords, etc. I’ve been told that MS Access or MySQL will choke when we scale up.’
Haha, that’s a pretty definitive statement r937! Would that still hold good for the client’s entire gamut of requirements below?
‘the complete end-to-end web and IT system? An integrated database that does everything in our company (capture and facilitate all orders, customers, inventory, fulfillment, tracking, customer service, capture Google Adwords analytics downloads, data mining to pair up click-thrus with orders and improve our Adwords buys…)’
We are conducting a feasibility study on a webapp product that seems to be promising (it’s called Oorjit, seems shop.com is one of the users) and need to validate these database queries before finalising. Would you by any chance also know any product similar to Oorjit?
Facebook runs on MySQL. It would be impossible to use it if it didn’t scale (granted, Facebook probably added some heavy modifications like it did with apache and PHP, but still…at its core, MySQL will scale).
Oracle DB is overkill, the free version is limited and the full versions costs money, and many webapps don’t run on it anyway.
I’m fairly certain the number of webshops running on oracle can be counted on one hand. It’s like killing a fly with a missile; it doesn’t make any sense.
Oracle is mostly found in “enterprise” environments, i.e., large corporations.
And I agree with others that MySQL should well be able to handle this volume. 100,000 orders a year ~= 11,4 orders an hour. A database has to be really poor to not be able to handle that. Hack, even SQLite should be able to handle that if you ask me.
If you want an alternative you can also look at PostgreSQL, which in my opinion is faster and in my experience more stable than MySQL. Plus it supports master-master replication (MySQL only supports master-slave), which is good for scaling.
Oh, and twitter also runs on MySQL. I wonder why people say it doesn’t scale, it clearly does.