|One size doesn't fit all|
|Written by Nelson KingHits : 546|
|Friday, 28 February 2003 19:00|
It's generally understood that databases--and consequently, database management systems--are vital to business computing. The choice of database management product (or products) is very important no matter what the company size. However, the owner of a small-to-medium-sized business, looking at the major players in the database industry, must feel a little like a farmer with a truckload of grain looking up at grain silos 200 feet tall. Sure, they can hold what he's got, but is that what he needs?
For smaller businesses, evaluating database products isn't easy. For one thing, the industry has a strong tendency to measure database management products by their high-end features, like parallel processing or clustered server management. Such features are most likely to appeal to very large enterprises and to mean much less to smaller companies. Another problem is the tendency of database management sales representatives to answer every question with, "Sure, it can do that!" Maybe it can, but it's a little like saying that a hammer is a sufficient tool to build a house.
Many sizes fit all
The major database products try to be all things for all purposes. Of the four we'll look at here--Oracle 9i, IBM DB2 Universal Database, Microsoft SQL Server 2000, and AB MySQL--the first three definitely try to do almost everything. One thing they have is editions (e.g., Enterprise, Workgroup, Developer, Personal) more or less tailored for a specific user, which usually means plus or minus features. The biggest product, typically the enterprise versions, are among the most complex and demanding pieces of software in the world. Other versions are cut down (a bit) in size and are often aimed at smaller businesses or even personal use. These are the versions we'll cover.
None of the database server products are truly easy to configure or operate properly. They all use Structured Query Language (SQL) and are relational database managers. Working with them requires considerable knowledge both of SQL and relational theory. Some usually require trained database administrators. This highlights something very important: Know who is going to do the work before you choose the product. Success with any of these products requires the right people, whether they're employees or outsourced help.
A couple of key points
All these products are fundamentally database server software designed for use on networks. Not long ago, this meant a corporate LAN or WAN. Today it more likely also means the Internet. Database management on the Internet, or more specifically for the Web, is a specialized area that is both expanding and becoming more complex. Providing data for Web pages, Web applications, XML, and Web services puts demands on all the products. They don't handle these demands the same way, or as well. This will be one area on which we'll concentrate in this article.
It may sound odd, but philosophy might enter into selection of a database management system. These products have been organized and developed in a way that reflects an underlying philosophy--besides making money for the vendors. There's Oracle's "centralized" versus IBM's "federated" (large centralized databases versus distributed databases). MySQL is open source, meaning the underlying code is publicly available and the product (at least in one form) is free. Microsoft SQL Server was designed with a strong belief in making sophisticated database management easy. These approaches have their appeal, and may even be significant under specific circumstances.
Oracle 9i Database
Oracle didn't invent the relational database (IBM did) but it was Oracle that took it to the corporate world with both creativity and determination. Today, Oracle is the biggest company in enterprise database management. At the high end, where clustering of servers, highly optimized caching, and parallel CPUs are de rigueur, Oracle has only IBM for competition. However, for smaller businesses, Oracle installations should be characterized as the gold standard both in terms of performance and cost.
With the release of Oracle 9i, database administration became easier as Oracle consolidated a lot of functionality into the Enterprise Manager, a GUI tool with its hooks into just about everything in the system. Still, most installations of an Oracle database require the services of at least a database administrator (DBA), a rather expensive full-time employee.
Oracle approaches the Web through a combination of Java (including storing and running Java from within the database), XML (in the form of the XDK), and database connectivity tools such as SQL*Plus. Oracle has its own top-tier developer's environment, Oracle 9i Development Suite. In general, Oracle has kept up with Web development, although in the areas of XML and Web services the development tools are not of the same caliber as those of Microsoft and IBM.
The centralized approach to database management has long been a hallmark of the Oracle server. Given the muscle of Oracle servers and the administrative tools provided, there's good reason to take advantage of high performance and security by bringing data into a central database--or so the argument goes. This point of view also fits with Oracle's belief that its database management system is a platform (somewhat like Microsoft and Windows, or Sun and Java).
IBM DB2 Universal Database v8
IBM deliberately calls DB2 a universal database, and that phrase fits. More than any other database management system, DB2 in its many versions and extensive family of support products covers the gamut of platforms (mainframe to PC), the range of data (business data to multimedia), and the demands of Web data.
The latest release continues the head-to-head combat with Oracle on such high-end features as cluster support and business intelligence; however, one major target is smaller businesses. The new workgroup ($7,500 per CPU) and personal ($969 per CPU plus $269 per user) server editions of DB2 offer most of the bang of the enterprise product with a much lower price. New configuration and administration wizards help simplify server management and avoid the need for a DBA. These help, but DB2 remains a complex system, especially if many support products are involved.
More than the other database products, IBM successfully associated a potent combination of ingredients for the Web: DB2, Java, open-source products (Linux, Apache Web Server), the IBM WebSphere Application Server, and a software development environment (WebSphere Studio). Within this combination DB2 is a tailored fit, although not a requirement (other database servers can be used). IBM has also consistently been one of the leaders in Web, Java, and Web service standards and DB2 has been modified and extended (such as with XML) to fit those standards.
With its history of large-scale (mainframe) computing and the techniques of managing large volumes of data for business analysis, IBM has developed DB2 UDB into one of the premier Business Intelligence (BI) systems. The comprehensive products in this arena include: data extraction and cleansing with ETI*Extract, Data Warehouse Center, DB2 Joiner, Warehouse Manager Connectors, DB2 OLAP Server, DB2 Intelligent Miner, and Life Sciences Data Connect. Smaller businesses may find entry into this realm daunting, though in recent years IBM has been providing more assistance.
Behind the organization of DB2 products and the use of open third-party and open-source products lies a federated approach to database management. IBM expects data to be diverse, distributed, and collaborative--a large and complex system of data management is most likely to be a federation of elements. This approach can be contrasted with that of Oracle, which, as described, favors the centralized approach to large data systems. Both models of data management are extremely sophisticated, and it's all too easy to oversimplify their effect. However, even for small-to-medium-sized businesses, it's worth considering the approaches in some detail to see whether one fits better than another.
Microsoft SQL Server 2000
Despite Microsoft's dominance of the desktop (or perhaps because of it), the company has had to scratch and claw toward respectability with its main database management product, SQL Server. Over the years, competitors have loved taking potshots at what the SQL Server lacked--and still do, to some extent. However, the current version, SQL Server 2000 (and a new version on tap for 2003), Microsoft has achieved near parity on the high-end features (Microsoft introduced OLAP as a standard feature), while still retaining the feature it highlighted most often: ease of use.
In SQL Server 2000, the Enterprise Manager module stands out as the easiest-to-use administration of all the database management systems. Implementations that require a DBA for Oracle (or even IBM) may not require one for SQL Server. This is not to say that trained people aren't involved in operating SQL Server, but specialists may not be--at a considerable savings.
Within the framework of Microsoft's .NET Connected strategy, SQL Server is a primary engine for data on the Web, including advanced support for XML and Web services. For Web data applications Microsoft, along with IBM, is a leader and provides some of the best tools available.
Although it can connect to data on many platforms, SQL Server runs on Windows, and is fundamentally a Windows-only product. It's no surprise that this remains one of the negatives its competition likes to cite. However, SQL Server has its roots in small-to-medium-sized business. It has moved upscale into larger enterprises, but it still provides some of the best support and value for the smaller customer.
If you know about open-source, then you also know Linux, Apache Web Server, and MySQL. Although there are many open-source database products, MySQL has quietly come forward as the leader not only of that group, but also to be mentioned in the same breath as the major database management systems. The reason: MySQL has matured into a powerful and reliable database server--in some benchmarks, even running in the league with Oracle and IBM. It does not, however, have the range of support products such as OLAP or programming tools of the big proprietary systems, and in fact, MySQL doesn't try. In open-source fashion, support comes from a wide variety of third-party products. Its main feature is that for very low cost of entry--the server software is free--you get a good database management system, one that can be trusted to run a company.
This last point is critical, since reliability is the bedrock of corporate data management. For years the question at the back of people's minds was, "Can we trust this open-source product?" The answer is yes, especially for small-to-medium-sized businesses that don't require high-end transaction management. The downside to the lack of some common features, such as graphical systems management and stored procedures, is that complex projects require a high level of skill in MySQL and a bevy of other products. Programming with MySQL is more difficult than the other products precisely because it lacks the tight integration between the database capabilities and a top-flight application development environment.
This weakness doesn't show up for run-of-the-mill Web applications, but when it comes to Web services, advanced XML applications, and the use of application servers, MySQL forces some very difficult programming--if it can be done at all. Such limitations don't necessarily negate consideration of MySQL, but even smaller businesses should be careful in matching requirements (present and future) with MySQL features. Because of its low overall cost, targeted use of MySQL (perhaps as a workhorse Web page data server), has made it a favorite choice as an alternative database management product.
Is there a winner?
For small-to-medium-sized businesses, there's no compelling reason to rule out any of the four database servers systems. We suspect that price, familiarity, and belief in an underlying philosophy (like open source) will strongly influence decisions. However, detailed analysis of features and requirements could be very important for specific uses. For us, the four products stack up in the small-to-medium-sized business market like this: If performance and depth take absolute precedence over costs, consider Oracle 9i. For reasonable costs, scalability, and long-term support, IBM DB2 UDB is a good bet. For ease of use, high value, and capability--in the Windows environment--consider Microsoft SQL Server. For simplicity and power combined with lowest cost, as long as it can do the job, consider MySQL.