Welcome!

Linux Authors: Dana Gardner, Elizabeth White, Gary Kaiser, Noel Wurst, Liz McMillan

Related Topics: Linux

Linux: Article

NASA Department Saves Nearly $180,000 with MySQL

Speed and reliability are key

The NAIS (NASA Acquisition Internet Service) organization provides procurement Web applications for the entire agency through a suite of 14 applications. Tools relating to efficient procurement, such as posting solicitations and looking up past performance data for contracts, are provided via the online service. John Sudderth, a senior computer scientist with Computer Sciences Corporation, has been working with NASA on the project for several years and was instrumental in bringing a practical open source solution to the agency.

Dropping Oracle Saved Nearly $180,000

In 2000, the organization was faced with a dilemma. The procurement Web applications were running on Oracle and Solaris. A change in the enterprise-wide agreement NASA had with Oracle meant that individual departments would now be required to purchase each license used. The development team evaluated the requirements and according to Sudderth, "an Oracle license was going to be around $180,000 for what we needed. It was going to eat up a good chunk of the entire budget for the project."

After analyzing the numbers, Sudderth determined that Oracle was prohibitively expensive. They then turned to evaluating the two most popular open source databases, PostgreSQL and MySQL. The team searched the Web for basic descriptions, and compared the feature set of each with their project requirements. They decided on MySQL because it had just the feature set they needed. The database was free, and they purchased support from MySQL AB. The end result was a savings of nearly $180,000.

Performance: An Added Benefit

Speed and reliability were the most important features needed for the NAIS project. Sudderth was not concerned about missing advanced features. "One of the things we like about MySQLis the flexibility to get just what you need. The new 4.0 version has advanced features like row-level locking and naturally they come at a cost - performance. But they're offered as different table types, so if you need the features, you can use them and take the performance hit. If you don't need them, you don't have to use them and you retain the speed advantage. With Oracle, you get everything, whether you need it or not. You can't 'turn off' features like you can with MySQL."

Reliability has also been better with MySQL. "The way that MySQL stores files tends to make it less prone to crashes and makes it easier to recover. Crashes were more severe with Oracle."

Sudderth's team did their own benchmark tests of Oracle versus MySQL, both on the exact same Sun hardware running Solaris. They found that MySQL was 28% faster for their application suite.

Better Support

Many technical managers assume that commercial vendors will provide superior support, but Sudderth was never satisfied with the support they were getting from Oracle. When they chose MySQL, they purchased support from MySQL AB. "It's definitely not the same experience as Oracle. I wasn't even allowed to talk directly with Oracle support, but had to go through the DBA with questions. Much of the time we knew as much as they did about the product. The MySQL support has been totally different, and very satisfying."

When a problem did arise, Sudderth was able to talk with a core developer and get it fixed quickly. "A patch was available in about a week. That never would have happened with Oracle, in my experience."

Perl Kept the Application Neutral

The applications are written in Perl, an open source language. "We are so comfortable with Perl that it would be hard to switch languages. Everything just works. There are lots of solutions out there pre-written. When we needed graphics, we found a free module and plugged it in. It amazed me how easy it was to move our Perl applications. Literally one line out of about 15,000 was changed to get our applications running on MySQL."

According to Sudderth, language portability is key. "If the language is portable, it's a tremendous asset. I can't run old Visual Basic code on anything. Something breaks with each upgrade and it infuriates me. You've heard about DLL hell - I've spent a lot of time there. I like the fact that Perl works every day when I come to work. It sounds so simple, but it's a big deal."

Stick with Standards for Future Flexibility

Sudderth offers a word of caution, "This is something that I try to be aware of - stick with ANSI SQL. Don't use pro-prietary features. The fact that MySQL is ODBC compliant is a huge benefit. You can connect from Excel, or any- thing, really. Using open standards allows us to consistently provide services to other departments without problems.

"I'm a big believer in choice. Open source is a tremendous benefit for all of us. Operating systems all do basically the same things now, so there is no need to be locked into a single vendor anymore."

SIDEBAR

Open Source Software Used

In benchmark tests of Oracle versus MySQL, the NAIS department of NASA found that MySQL was 28% faster for their application suite on the exact same Sun hardware running Solaris.

Open source products used:

  • Red Hat Linux
  • MySQL database
  • Perl scripting language

More Stories By Maria Winslow

Maria Winslow is the author of The Practical Manager's Guide to Open Source, available at http://www.lulu.com/practicalGuide and can be contacted at [email protected]

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Atul Gupta 10/27/04 09:47:13 AM EDT

MySQL is definitely the best database solution for OLTP(Online transaction processing) applications where the singleton transactions fetch the data _or_ do most of the IUD(Insert/Update/Delete) operations.
But, Oracle database server is still better for OLAP(Analytical processing) and data warehousing/mining applications. In the next few years, oracle will be phased out for transactional applications because of the obvious overheads, license cost, maintenance and upgrades.