Are There Large RDBMS Using Linux?
Jason Perlow of Linux Magazine writes:"
With all of the recent computer press coverage of Amazon and Intel converting their
web servers and other front end application servers to Linux, many of these stories
neglect to mention that the back end systems these companies use still rely on
commercial Unixes like Solaris, AIX and HPUX to host their RDBMSes (Oracle, DB2,
Sybase, Informix) for their mission critical transactional applications and data
mining.
Are there any companies out there actively using Linux to host a mission-critical
RDBMS ? or looking to replace UNIX with Linux for this purpose?"
If you are running a very large Unix box, such as an E10000, the operating system is optimized for the hardware, and the release of Oracle you're running is optimized for the OS. Even so, they still don't work that well--there are many unexplained bugs and glitches, even with the latest stable releases of Solaris and Oracle. No one would want to introduce further instability with a new OS.
Furthermore, there are no potential cost savings. Solaris essentially 'comes with' an E1000, and all your administrators are trained in Solaris.
When Oracle first started producing their appliance products, they were based on Sun's microkernel.
That has since changed. They are now using Suse Linux for all of their appliances. They work fairly well for what they are designed to do, which is to provide an administratively simple appliance... you don't deal with the OS, ony the Oracle admin interfaces.
Looking at my client list, 4 out of 12 of them are running various Oracle instances in Production on Linux, both Suse (the only officially Oracle supported Linux distro, if I'm not mistaken) and Red Hat. 9 of those 12 run Linux in development environments.
While the Linux deployment has usually been in a development environment, I've seen the trend start to move into Production environments. I think this can be attributed to a number of factors; the maturity/stability of Linux, the cost (hardware and software), the feature set (journalling file systems without having to pay through the nose for Veritas), and the hardware availability.
That and the fact that Oracle offers support for Suse. That is HUGE.
While the bigger companies are still using Solaris and HP-UX for their Oracle needs due to the hardware involved (I have yet to see an E10K run Linux, never mind in production), most of the smaller companies I deal with are running Oracle on Linux in some part of their company.
Also, a number of Oracle's newer integrated development tools (JDeveloper, Enterprise Manager, etc.) are being ported to be 100% Java so that they will (and do) run on Linux.
$0.02 (CDN)
Aside from this, much of the main databases (including almost all the mission critical stuff) here are on HP systems. Despite HP's uncertain future (having ditched PA-RISC), I doubt they'll move from HP in the near future.
Now take this reluctance to move between mainstream Unix vendors and apply this to linux, the upstart on the block. Quite aside from the "free" nature of linux and perceived lack of accountability, there's a further issue. Even when sticking with mainstream ventors, there's a reluctance to mix vendors; i.e. there's a desire to use IBM software on an AIX box, simply to avoid the finger pointing that can ensue. IBM have even had ad campaigns based on this. There's a certain comfort factor in knowing that you can go to one vendor and say "fix this" which you don't get with linux on Intel. IBM, HP and Sun all make the hardware and OS; you don't get that with linux (with the potential exception of some IBM kit like the S/390).
To get over this, there need to be vendors willing to support the software and hardware side of a linux solution. Hopefully IBM will pave the way with things like S/390 and the zSeries server.
I'm sure there are plenty large databases running on Linux and even MySQL. Solving the problem of large databases is relatively easy.
The much more difficult problems are availability (i.e. 7x24, runs for years with no interruption) and throughput.
When you combine these constraints to specify the problem of a large, highly available and highly active database that meets ACID test criteria, you have an enormously difficult problem. Until recently with the advent of Linux on mainframes Linux couldn't even dream of playing in this space simply because of the hardware it ran on. Sure, lots of people have Linux boxes that have uptimes for years, but some people have had to reboot because of a bad hard disk or other component. It doesn't happen very often, but it does happen. And the I/O bandwidth hasn't been there to support the kind of throughput needed at the high end.
Linux on mainframes doesn't really change this at all in the short term, even if you have a proven DBMS like Oracle (forget MySQL or Postgres), because the system as a whole hasn't proven itself. Question: How much money does an airline lose if it's reservation system is down for a few hours, even if it happens once every several years? How much money does a financial institution lose by being unable to execute transactions for even an hour? Answer: enough to buy plenty of proprietary software. People who run these kinds of applications are willing to pay the price for systems with a track record of success in this demanding area. They are often willing to sacrifice certain kinds of sophistication to ensure the safety of their company's critical operations.
I think that once Linux is established on the kind of iron that is needed for these applications, it will take as much as a decade before people will trust it for these kinds of missions. Phrases like "mission critical" are bandied about so they have little meaning; Linux is ready to support many applications that are important to businesses today, but can't be entrusted with other ones yet.
Nobody with a working application of the type I describe here is going to migrate to Linux. Nobody starting such an application from scratch will give more than a moment's consideration to Linux. The most likely entree into this space will be evolution of an application from something that is reasonable to host on Linux on small to midrange computers. If the company doesn't have the resources or the time to migrate to something more reasonable, the Linux will begin to get its shot at proving itself.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
A large database (in this context) is an enterprise-sized system: multiple platforms serving many millions of records in short periods of time.
I have customers fielding databases on multiple Enterprise 10000 servers...single tables of more than 35 million rows. This is actually a "medium" system in my mind.
I love Linux, I hacked around the pre 1.0 kernels many years ago. BUT, it does not scale up too well. Even the little things in Linux make it hard to do a good (maintainable) job: shifting device names (pull one of your HDs and see what happens), inability to modify hardware subsystems (storage in particular) while running live, etc. Even EMC, NetApp and XIOtech hardware can't fix these issues.
If the Linux crowd wants to be accepted by Big Business, they must learn the needs of Big Business.
Running a few 4-proc Intel servers with Oracle or Sybase does not put you in the same league. Nor does storing 10,000 articles in MySQL.
If you can imagine doing it yourself, if you can even imagine the amount of data to store, then you are almost surely below the threshholds I need to work in every day.