The mainframe database landscape has been very consistent for the past 25 or more years. IBM introduced DB2 for the mainframe back in 1983, and it has ruled the mainframe roost ever since. Sure, the legacy DBMSs such as IMS, IDMS and Datacom persist, but new workload runs on relational, SQL database systems—and DB2 is the z/OS DBMS of choice.
There have been other mainframe RDBMS products over the years, but none of them have been very successful. Oracle had a z/OS version of its DBMS, but the company is now focused on Linux on System z for mainframe Oracle deployment. The last version of Oracle’s DBMS that runs natively on z/OS is Oracle Database 10gR2.
These days, Linux on System z is a burgeoning operating system choice for new mainframe development and, as such, is becoming a battleground for DBMS implementations. Oracle actively promotes and supports its database software on Linux on System z. There’s even an IBM RedBook to help guide you through setting up Oracle solutions on Linux on System z (Using Oracle Solutions on Linux for System z SG24-7573-00). Oracle’s support for z/OS used to lag far behind other platforms when a new version of the Oracle DBMS was released. But Oracle has indicated that will no longer be the case. Of course, neither 11g nor 11gR2 are available yet; the Oracle database releases available for Linux on System z are 9i, 10g, and 10gR2. Oracle Real Application Clusters (RAC) and Oracle Application Server 10g also are supported on Linux on System z.
Another helpful Website for shops choosing to implement Oracle on Linux on System z is the International zSeries Oracle Special Interest Group (SIG), an organization of companies licensed for Oracle on Linux on System z and/or the z/OS operating systems on IBM System z hardware. Membership is free via their Website at www.zseriesoraclesig.org.
IBM, of course, supports the Linux on System z platform with its DBMS offerings, too. Both DB2 and Informix are generally available. Informix Dynamic Server 11.10, Dynamic Server Enterprise Edition 11.50, and Dynamic Server Workgroup Edition 11.50 are supported on Linux on System z.
What about DB2? It can make a lot of sense for mainframe folks who are accustomed to using DB2 for z/OS to use DB2 for Linux, UNIX, and Windows (LUW) when they migrate to Linux on System z. DB2 Versions 8.1, 8.2, 9, 9.5 and 9.7 are supported on Linux on System z. Not surprisingly, IBM is more up-to-date than Oracle with its DBMS offerings on Linux on System z. A particularly compelling new capability in DB2 LUW 9.7 is its ability to simplify migrating applications from Oracle to DB2. Using technology licensed from EnterpriseDB, DB2 can run applications written for Oracle without having to change any code. So, IBM definitely isn’t conceding the fight to Oracle by any stretch of the imagination!
Because Linux (and therefore, Linux on System z) is an open source operating system, you might also choose to run an open source DBMS. The impetus to use an open source DBMS is basically the same as for using an open source operating system. There are many open source DBMSs from which to choose, but the most popular options are MySQL, PostgreSQL, and EnterpriseDB.
There don’t seem to be very many open source DBMS implementations running on Linux on System z, but there are some. Nigel DeFreitas, managing architect at a leading provider of risk-assessment services and decision analytics, says his company runs Linux on System z on five IFLs and they implemented version 5.0.51a of MySQL Community Server. One application served 80 users and housed about 100MB of data before it was migrated to VMWare and Microsoft SQL Server. According to DeFreitas, “We didn't have any problems using MySQL on Linux on System z.”
If you’re a mainframe professional using Linux for the first time, you will have a learning curve. There are the obvious differences such as interface, commands, JCL vs. scripts, etc. But there are others; for example, tuning differences. With DB2 LUW, buffer pools and the Linux file cache perform similar functions. Each caches data in memory after reading it from disk. Data is read into the Linux file cache and then into the DB2 buffer pool, duplicating the effort. Direct I/O can be used to bypass the Linux file cache and read the data directly into the DB2 buffer pool. But direct I/O isn’t the default in Linux on System z; it can be enabled for table spaces by specifying NO FILE SYSTEM CACHING.
This is just one tuning consideration for one of the DBMSs that you might choose to use with Linux on System z. While Linux on System z affords us the opportunity to consolidate many smaller servers and thereby save cost and conserve energy, we must remain cognizant of the fact it’s an environment that needs to be managed differently from standard mainframe environments. This is true not only for the operating system, but also for our database systems.