Home > Articles > Open Source > Linux/UNIX/Open Source Operating Systems

  • Print
  • + Share This
This chapter is from the book

Workgroup Databases

Historically, there has been a fundamental barrier to the widespread use of databases. Data input and reporting output has been available to common users, but the activities of forming data structures, creating data relationships, and filtering output through custom queries and reporting have always required database expertise—something that very few people have access to. Input and output formats have been canned, while flexible access and manipulation—things that are extremely valuable to knowledge workers and decision makers—have only been possible if you roll up your sleeves and learn the technical details. And, if you are technical enough to write your own queries, you often end up maintaining a high-end workstation in your office to run the database, usually with the added expense of database licenses and high-powered hardware.

Again, open source helps break down this barrier by extending database creation and manipulation capabilities to anyone with browser access. It provides simple tools for data structure development, manipulation, and reporting, so more than just the quant jocks can see what's happening. In addition, it significantly lowers the expense of database implementation and use by providing distributed access to GPL-based software running on low-cost hardware.

Several open source databases are available for Linux in addition to many commercial versions that have recently been ported to Linux. Two open source databases that come with Novell SUSE Linux are MySQL and PostgreSQL. Both provide a feature-rich selection of database services that are easily exposed to web users for data input, access, and manipulation when combined with Apache Web Server and web services tools such as scripting languages and application servers.

As mentioned earlier, PostgreSQL originated with the Ingress project at UC Berkeley. PostgreSQL architecture is designed to accommodate high volume environments while maintaining performance and responsiveness. GUI tools exist for both administrators and users for database design and data manipulation. The latest release supports over 34 different platforms of Unix and Linux.

MySQL is also a fast and responsive database with good connectivity and manipulation through PHP, Perl, PHP, and Java. MySQL is multithreaded, multiuser, SQL-based, and includes ODBC support. MySQL AB, the owner of MySQL, has as its mission to "define a new database standard...based on its dedication to providing a less complicated solution suitable for widespread application deployment at a greatly reduced TCO." MySQL has gained widespread popularity and currently boasts five million active installations. Companies using MySQL for web-based and business-critical applications include Yahoo!, Sabre Holdings, Cox Communications, the Associated Press, and NASA.

Database for the Enterprise

The Associated Press's (AP) implementation and use of MySQL provides an interesting case study into both the reasons for using open source and the benefits gained. AP hosts a huge news repository, with news not only coming in from all over the world, but also being made available to over 15,000 member affiliates who incorporate AP news content into their own websites. With big breaking sports or news stories, the AP hosted news system must be able to concurrently support up to 11,000 users. This includes news story storage and search capabilities as well as fully hosting 600 websites for affiliated newspapers. Using MySQL, Associated Press was able to re-architect a solution from the ground up, based on nonlicense-binding open source, which allows it to flexibly add database capability as the demand flucuates. The system was relatively easy to set up and deploy and has required minimal management—it doesn't even require one full-time database administrator.

Database for Workgroup

One of the simple database needs at Novell was to organize and classify the open source solutions that run on Linux. With the focus on Linux, it was extremely important that many groups within the company be able not only to see how many solutions were available, but also to sort and categorize them based on a number of different factors. This was a perfect use of database technology that served different internal workgroups, such as product marketing, product management, training, and consulting. Putting this information in a web-accessible database made it available to anyone who needed it in the company from any location.

How do nondatabase types create and maintain databases? Try the open source database management tool called phpMyAdmin. phpMyAdmin is an open source tool written in PHP intended to handle the administration of MySQL over the Web. It can create and drop databases, create/drop/alter tables, delete/edit/add fields, execute any SQL statement, manage keys on fields, manage privileges, export data into various formats, and more. From a web browser, any authorized user can create a database, populate tables and fields, construct queries, and then distribute the results of their work to anyone else. It provides database capabilities to the masses—without licensing expense or the requirement for specialized technical help.

Stability, performance, ease of use, and price has led the majority of leading database companies to port high-quality commercial applications to run on Linux. Full access to source code has made it possible for database vendors to provide extensions that significantly enhance database performance and tailor solutions to specific needs and requirements. The list of commercial database solutions that are available on Linux is extensive and includes the following market leaders:

  • Oracle—Oracle first ported Oracle8 to Linux in 1998 and has since then standardized on Linux. All Oracle's application developers develop on Linux, and with the Oracle 10g release, Linux is the base development platform for Oracle. Support for Oracle on Linux is standard and equal to any other operating system platform.

  • DB2—IBM has had its DB2 database available on Linux since late 1998. DB2 is a multimedia, Web-ready relational database management system, strong enough to meet the demands of large corporations and flexible enough to serve medium-sized and small businesses.

  • Informix—Another IBM database, Informix software delivers the highest levels of application performance for transaction-intensive environments. Enterprise-class OLTP (online transaction processing) and data warehousing solutions combined with reliability, flexibility, and cost-effectiveness are reasons why IBM chose to support Informix on Linux.

  • Sybase—Sybase delivered an enterprise-class relational database management system on Linux in 1999. Today, all Sybase solutions, from their high-end Adaptive Server Enterprise to SQL Anywhere Studio for embedded applications, run on Linux.

  • Other notable commercial databases running on Linux include Empress, SOLID, Adabas D, D3, Flagship, jBASE, Interbase, Ingres, Pervasive.SQL, Polyhedra, and many more found at http://www.linuxlinks.com/Software/Databases/. About the only commercial database not ported to Linux is Microsoft SQL Server.

Database Implementation

Workgroup databases are another category of services that are prime targets for early open source and Linux implementation and migration. If a current database solution is from an existing database vendor, chances are great that there is a commercially available version of the same database that runs on Linux. In these cases, moving the database to Linux could be as simple as copying over the data. At minimum, upgrading to a newer database version might be required using vendor migration tools.

Many organizations are following the lead of Associated Press and redesigning a solution from the ground up based on open source. Advantages are flexibility, the ability to use advanced web services, and often the opportunity to consolidate and simplify data management to single servers with greater scaling capacity.

Migrating or implementing databases, such as edge services, can have minimal impact on end users. Access to a database can be provided through a web-based portal—there's no need for changes to the client workstation. Access to the database can be controlled through a central directory, such as LDAP or eDirectory.

Inversely, web-based access to structured data can have a huge impact on users inside and outside an organization. Think of access to inventory information, self-service tracking of accounts payable, shipping and delivery monitoring, collaborative project tracking—the list goes on and on. Database access can be a very powerful and effective tool for tracking and measuring organizational objectives. Linux and open source make it reliable and inexpensive.

  • + Share This
  • 🔖 Save To Your Account