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?"
Ok, maybe they are not huge, but Prada (Italian fashion designer and sponsor of "Luna Rossa" at the last America's Cup), uses Oracle running on RedHat stored on a pair of EMC Clariions for their datawarehouse.
I don't know what size the database is, but the Clariions had 400GB each worth of disks.
--
The world is divided in two categories:
those with a loaded gun and those who dig. You dig.
As distributions like SuSE continue pushing ahead with high-end features (like logical volume managers, which SuSE already has), usage of these products on Linux will undoubtedly increase. Part of the situation here is cost. When Oracle Enterprise Edition costs $40,000 per CPU, plus another $8,000 or so per year for support, who cares about spending a little more for high end Sun or IBM systems?
Also, Oracle 8i, while supported on Linux, did not offer a couple of features found in Oracle 8i for other systems. In particular, full interMedia support for full-text searches of all sorts of documents (especially from software made in Redmond) was not available in the 8i Linux version. The new 9i does support this feature under Linux.
Are there people stabbing themselves in their ears?
I like Linux, but on the scalabilty front, it's still got a ways to go. Moreover, since most Linux used by corps (at least here) is Intel based, you've got to deal with less mature hardware (backplanes, reduncancy, etc.). Plus the enterprise management tools required are only starting to appear for Linux.
*climbs into his asbestos underwear to wait for the inevitable jihad*
I like lots of people. That doesn't mean I go carting them around the galaxy with me. --Dr. Who
On a related note, what are the largest installations of free software databases... especially the most popular, PostgreSQL and MySQL?
Any war stories?
How about building Redundant Arrays of Inexpensive Database Hosts?
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.
Our company, a custom e-solutions provider, uses Oracle 9i on Linux almost exclusively because of Oracle's reliability and the fact that we have the resources in-house to support it. There is a caveat to this, though.
At $5,250 for just a 2-year. single processor standard edition license, 9i is not cheap and
most companies who already have an infrastructure built on it will not always realize a signifigant cost savings by moving to a Linux platform. 9i
Enterprise Edition is a cool $45K per processor so it is easy to see how the difference between $20K and $100K for an 8-way Intel versus an 8-way Sun
machine may not always be the determining factor in a platform decision for a system with a 5+ year time horizon.
The City of Bloomington, IN will be doing this. All of our servers are Linux, with the exception of one NT machine for a small Progress database, and several HP-UX machines for Oracle. We'll be migrating them to Linux in 2002.
irb(main):001:0>
i myself am in the datawarehouse of a large international company, our DWH is run off IBM as400's with DB2 + essbase/hyperion.
there are several factors why there will be no change in this.
IBM offers complete intergrated solutions (HW+SW) that you dont get with opensource solutions.
the opensource rdbms cant compete with the likes of DB2 and Oracle in terms of scalability and features.
3rd party integration. (Esssbase/Hyperion) database cube solutions dont exist for linux/freebsd. (man 3d cube db's are funky)
stable cross platform ODBC drivers, (winnt drivers for ASP, JODBC java+websphere, AS400 + RS6000 drivers)
support. (who gives 24/7 support on postgress, and send out tech support guys giving consultations, will come on site on a sunday at 4am?)
what OpenSource rdbms provide true mutli language support (we have records in cryllic, japanese, american, german, etc)?
high availablity (i dont know the current state of HA functionality in the linux kernel)
Linux on the AS400 is not seen as providing anywhere need the requirements at present, and its opensource database solutions are same.
(and i dont even think there is any cube database products in the opensource area... ???)
no sig for you
In addition to the links above, most of the big database systems have active Linux ports. Any Oracle, Sybase, Informix or DB2, InterSystems, Poet, or Versant customer is a potential Linux customer.
If you are running a VLDB on Oracle, you want a 64-bit system; otherwise the SGA is limited to 2GIG.
Oracle only supports Linux x86, with all of its 32-bit memory constraints. Does Linux implement memory windows like 32-bit HP-UX?
Also, at linux.sybase.com, you can download for free the Alpha-axp version of Sybase ASE 11.0.3.3 - this is probably the most available commercial 64-bit database for Linux.
Really, the Linux and WinNT versions of Oracle are at the low end of the food chain.
We have four linux machines using Oracle 9i RAC for our database. The boxes are penguin computing 200x Relions each with qlogic 2200 fibre channel cards and an Intel 10/100 dual nic card, which ties into our SAN'd up Clariion 4500 disk processor/array. The three nics (including the onboard) gives us a frontend/app network, backup network, and an oracle IPC interface.
We have had success using Redhat 7.1 (upgraded kernel to use LVM) and Suse 7.2 (comes w/LVM) for the linux distribution. Do not attempt RAC or OPS without an LVM of some sort. It can be done, but it shouldn't.
The biggest expense you will have is the disk array, and you should not skimp on this. Buy fast reliable maintained disk.
The Linux solution beats out Sun solutions in price hands down. You are talking $30,000 per box for the minimal Sun allowed hardware requirement for the Sun Cluster software with the Oracle Parallel DB runtime licenses (this has changed with v3 and so have the hw requirements). The Sun Cluster software requires an extensive review process by Sun which basically insures your company has two extra of everything and can be onsite to help Sun with their software and hardware in 4 hours. If your company doesn't have it's shit together, Sun and the few vendors that even know what Sun Cluster is aren't even going to bother talking to you about it.
This Linux solutions beats out a Windows NT solution in reliablity over the simple fact that the disk and volume management is clumsy. There is no easy way to create labeled raw devices on a Windows machine. The process as I remembered it was creating unlabeled logic partitions for each disk space and then maintaining a file pointing to the value of the related registry key to map out the tablespaces. As soon as you added a partition, modified a partition, or even used another node to look at the partition table, you and the database were screwed (i.e. restore). This problem with managing shared disk may have been fixed in 2000.
The weakest point in the entire Oracle 9i RAC is the cluster software layer. Whether you are using Sun's Cluster Software, the Oracle supplied cluster manager for Linux, or the hardware vendor supplied OSD layer for Windows. Be prepared to spend serious time in monitoring and getting it under control with appropriate patches.
Once you have fought your way through all of this you can reap in the rewards that multiple nodes with shared data gives you. The greatest benefit is the ability to partition your data and your application which allows you more opportunities to scale. If your data does not partition by some logical means (date, timezone, city, planet, etc) forget about it. Just get a big honking database machine (especially you SAP/Peoplesoft poor SOBs).
No.
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.
If you have to use Access, you can connect to it via PHP or Perl from Linux using ODBC Socket Server, located at http://odbc.sourceforge.net
ODBC Socket Server is an open source database access toolkit that exposes Windows ODBC data sources with an XML-based TCP/IP interface.
It has clients for PHP, Perl, C (in Windows, Mac, and Linux), Java
.
At http://www.wohl.com/middleware5-01.htm they mention a couple of real world examples (where the Wimbledon example might be considered as a high capacity showcase for IBM technology)
"At the Wimbledon Tennis Championships, Linux, dB2, and Netfinity servers make it possible to offer real-time information on scores to fans around the globe. Last year, over 914 million web hits occurred during the games, requesting scores and statistics."
"ERP Central is a portal for ERP consultants. They offer ERP news, job postings, and other information, but their big 'traffic builder' is a free time and expense tracking program which users can access to maintain their schedule information and submit it back to their offices from the site. Linux hosted and built on top of Websphere and dB2, the application can scale to handle over 100,000 users and organizations whose consultants use the software estimate that it saves them 75% in time savings, an average value of $500,000 per organization per year."
JK
We have a need for a new DB system
What systems are available?
Schedule meetings with the sales people from the various vendors, so that we can compare what's out there.
Boink! That's where Linux bounces up against the wall of established companies... except for a smattering of VARs, nobody is there to "attend the meeting" to tout Linux's praises to the big boss... except for the internal sysadmin and/or program managers, who then have to plug the stuff as a better alternative to the established vendors. So, IMHO, for corporate usage, it's not about what the OS can do, it's all in the selling of it.
Now if you'll pardon me, I have to go to a meeting where a big storage vendor will be showing us their wares. Really. ;)
I'd have a personalized plate on my car, but "toxic bachelor" won't fit into 7 letters.
One might consider a "large" database in terms of total disk used for the tables, indexes, and logs. Or it could be total concurrent users logged in to the database. Or it could be total simultaneous users - different than concurrent users since simultaneous users are those actually issuing a SQL statement.
A high number of simultaneous users will require more processor/CPU capacity. A high number of concurrent users (with a low number of simultaneous users) might not require much processor capacity but will likely require more memory capacity due to the number of concurrent connections (and each connection having some amount of it's own memory).
At the company I work for (which will remain unnamed because I am not in a position to speak on its behalf - but it is an old and large american company with a single character stock symbol) we use Oracle 8i on Compaq Proliants running Red Hat Linux - not only that but it's RH6.2 with all of the limitations of that line of kernels.
None of the databases are gigantic - 80Gb is the largest, but we haven't had any problems at all. If anything, most of these databases used to be on True64 (Digital Unix before that) and we had a lot of problems (although they were probably hardware related). Also - users have reported that performance is better (not that it was a real issue before) but we've never bothered/attempted to document that.
I can't say that the main factor for the move was money (although it was a factor) - after all, if you can afford the Oracle licenses you probably should not be cheap with the hardware/OS but we've had a whole lot of RH Linux for other applications and it just made sense to consolidate.
Why are they using Sun/HP/IBM Own Unix other then Linux for their mission Critical Apps its really simple The Software is Designed around the Hardware and the Hardware is designed around the Software. I do a lot of work with Sun Sparc Systems with Solaris. And I find that Solaris Works Really good with the Sparc Arcecture and Vice Versa. Linux on the other hand was designed for Hardware that the hardware was designed to run on DOS, Windows systems. And linux had did a good job making their OS run this platform and do it better then windows. But still I find that using Solaris on Sparc/Ultra Sparc systems runs very smoothly and I have little to no trouble adding Hardware. Or upgrading. And I find that Solaris is far more stable then Linux is in special cases. Such as their X Server that runs a lot smoother then XFree86 (I know XFree is not Linux) but Every once in a while XFree86 Will completly crash on me with no way of accessing Linux (Including telnet). In a sence it locked up. Wile I never had that problem with Solaris.The main reason is that their are thousands of different vidio driver to use. But still Solaris and other UNIX on their own platform seem to take the Brunt of the work very well. (Plus it helps that these system generally use higher quality parts)
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
At my company we are in the process of switching our progress database currently running on a sco unix box to a new compaq server that will be running Red Hat. This database is extremely mission critical to our company (ie pays the bills. Progress is one of the best platforms I have ever used and is extremely stable on linux.
I'm *certain* there are companies out there using Linux to host "mission-critical" (whatever that means) RDMSes. But this by itself would tell us nothing of Linux's suitability for this purpose. I happen to know lots of companies that use Linux for this purpose, but they also are companies that would not be able to afford the Sun boxes and Oracle licenses that they wish they could run. I also know several places running Linux for - what they would consider to be - "mission-critical" RDMS, but what they consider to be mission-critical is FAR different than what a big investment bank or hospital would consider to be mission critical.
Instead of just asking a question that is almost guaranteed to pat ourselves on the back, we need to also ask for descriptions of the conditions that people are using Linux for RDMSes. That is, before the answer "are you using Linux" can be properly interpreted, we also need to know answers to questions like: How many connections ? How many users ? What size of a database ? What kind of availability do you demand ? What kind of information is being stored ? How big is your staff ? How big is your budget ?
After all, knowing that a company uses Linux to host Postgres/MySql tells us nothing if the company can't afford to buy a Sun box/Oracle license in the first place.
the Freeserve portal uses Apache webservers on Sun E220Rs with Oracle running on Sun E4500s at the back. No Linux RDBMS that I'm aware of. I know, cos I built 'em. ;-)
The mail system used to be on Linux (presumably still is), DNS on Solaris and a heap of NT boxes for customers' websites. Things might have changed since I last worked there, but I don't remember a large Linux database anywhere.
I run avidgamers.com, a community hosting service currently hosting around 7000 communities. We have 1.2 million records getting an average of 20 queries per second, ranging from sigle-record results to large summarizing queries. (With a fairly large part leaning towards the latter, tallying the number of replies to each thread in message boards.)
Running MySQL 3.23.40 on a 1.4GHz Athlon with 1GB of RAM and an 18GB 15krpm SCSI drive, the system is doing ok, but it's starting to feel the load peaks. I'll be upgrading to RAID fairly soon, which should help things.
All in all, I'm very happy with MySQL, but I'm strongly considering a move to Postgres, because the lack of row-level locking is starting to become a problem. Stability has been no problem... no crashes, no data corruption, nothing.
I'm sure this is in no way one of the largest installations of free software databases, but I thought I'd post my experiences anyway.
-- If no truths are spoken then no lies can hide --
Would we have had this if the software package was from Sun? Well, Sun might have blamed IBM, IBM might have blamed Sun and we'd be left with something which doesn't work. We've been lucky in that IBM want this to work to secure future business, and that is the carrot you can use to 'bribe' vendors to fix bugs.
While open source allows you to track down the bugs and fix them yourself, it relies on you hiring programmers and/or smart admins. Many companies don't want to do that, particularly when you can get the people who wrote the code to fix it (whether you can get them to fix it or not is a different matter; managers' perception is that you can and that's what affects buying decisions).
As for suing, it depends on the terms of the contract. A large enough business should be able to negotiate special terms with vendors to secure business (don't play ball with us, you don't get our money). If a company wants to be bullish enough, it can negotiate terms that do allow it to sue the company, even with UCITA and DCMA. Unless I'm mistaken, those acts mean that vendors are allowed to put horrible restrictions on sale of software etc. It doesn't say that individual purchasers can't negotiate a better deal.
One final point. I'm not saying this to say "linux is doomed, it's never going to make it". I have great hopes for linux (in my last job, I made a lot of use of open source software to good effect), but there are still a few things to be ironed out before big companies are going to adopt it in a large scale. Half of what I'm doing here is playing devil's advocate because I like a good argument (NB: argument != flame-fest!).
Linux can run RDBMS just fine, it's all the other stuff that is lagging. Manufacturers of fiber storage and other high end products tend to focus on solaris more than linux. Large RDBMS includes a lot of other important details that need constant management and attention. Building a PC box with redudant powersource, fans, backup CPU's and motherboards gets you close to solaris prices, so enterprise projects tend to choose solaris or mainframes.
I want to give an anecdote of client leverage that sort of relates. This is a third hand story, but knowing the person who told it to me I suspect it's true.
A friend of mine was consulting many years ago with a large financial firm helping them to maintain their Netware 3.x servers.(as you can see it was several years ago) They had a tape backup system in house from one of the really large vendors that was not working.
They went for like a month where they could not get good reliable tape backups on the servers, and playing phone tag with the vendor trying to figure out the problem. Just wasn't working.
Anyway towards the end of the month, my friend griped to the CIO about the problems they were having and his frustration with dealing with the vendor. The CIO brought up the issue at the board meeting and how it was a risk to the company.
At this point the VP of trading piped up... "You know, we own several million shares of that company in our portfolio... let me see what I can do"
VP of trading calls up the President of the vendor company, tells him that if they don't fix the problem with the tape backup software he's going to issue a warning about the companies product quality and dump every single share of their stock on the market.
The next morning a team of developers were flown in and working on the problems. They had to recompile several modules, but they had the issues resolved within two days.
I guess the point is, there are many ways you can leverage a vendor. It doesn't have to be a lawsuit.
As larien said, usually you just threaten to not pay the contract, or not renew. Or add stipulations as part of the negotiation. I've been involved in many an instance where that has played a huge part in getting better support.
Once I had some issues with a GIS package we had purchased. I tried to work with support, and they ignored me. So when the $5k yearly maintenance agreement came up, I told my boss not to pay it because it didn't gain us anything. I also posted a note to a usenet group explaining my problem.
Next day I got a phone call from the development manager.
Financial incentives are the strongest leverage you can have with a software vendor. Like it's been pointed out... that doesn't work with Open Source in quite the same way.
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.
The question under discussion here isn't moving from Oracle to MySQL -- it's going from Oracle on AIX to Oracle on Linux. As useful as Postgres and MySQL may be for small jobs, they just cannot compete with Oracle, Sybase, or DB2 in a datacenter or enterpise setting. All three major databases have been ported to Linux and are fully supported by the vendors.
Why is it that the proponents of "one nation under God" are so eager to get rid of "liberty and justice for all"?
We're currently running Oracle 8i under Windows NT on a couple of DEC Alphaservers (4100's with quad processors).
With MS's abysmal support for NT on the Alpha these days, we've considered moving the Oracle database to another OS. I don't think we want to trash the DEC Alphaservers yet though - since they're still respectable machines. Linux for Alpha is definitely an interesting option for us - but I'm wondering if anyone has had experiences with Oracle for Linux on the DEC Alpha? How does it compare, performance-wise, to running Oracle on the Alpha version of NT?
Last time I checked, Oracle wasn't really giving a high level of support to Oracle for Linux unless you used it on Intel hardware?
Sorry, but you go too far. Whereas x86 servers may compete with low-end Sun and IBM servers, compared to the high-end Sun or IBM everything that x86 can offer (or the comping itanium for that matter) is in a totally different league.
Clustering dozens of separate boxes doesn't help for most applications. If you have some high-volume (w.r.t. transactions) tables you can really forget distributing those over separate boxes.
Have you really ever tried running large databases (in size and transaction volume) on any kind of x86 configuration?