IBM’s DB2 Pure Scale–Not Quite iDatabase V1
October 12, 2009 Timothy Prickett Morgan
A few weeks ago, in the wake of the launch of the Exadata V2 database machine from Oracle and Sun Microsystems, I got all excited about the possibilities that IBM might remember that it had similar database clustering technology back in 1996 for the AS/400 and that it could take today’s Power Systems and build a powerful, yet relatively inexpensive, database cluster for i shops, something I dubbed iDatabase V1.
Imagine my excitement when I found out early last week, ahead of IBM’s official announcement last Friday, of something Big Blue is calling DB2 PureScale, which is a database clustering technology for DB2 databases running on Power Systems linked together by InfiniBand switches. It was almost like Big Blue finally remembered it could do this and finally listened to five years of yammering on my part, and the past three years of Oracle’s marketing for its Real Application Clusters.
DB2 PureScale is no iDatabase V1, however. It does everything right except two things: Support the i 6.1 operating system and the DB2 for i database. Well, at least until a whole lot of you start complaining to IBM and the business partners who manage your i relationship, and Big Blue wakes up and treats the i platform with the same respect it gives to the AIX platform.
DB2 PureScale is not a preconfigured rack of database and storage servers, like the Exadata V2 appliance from Oracle and Sun is. It is rather an add-on feature of IBM’s DB2 V9.7 database for Unix, Linux, and Windows operating. This DB2 is radically different from the mainframe version of DB2 and the DB2 for i variant. But, as I think I have said a zillion times, DB2/400 had a feature called DB2 Multisystem that allowed a cluster of Power-based servers running OS/400 V3R7 and V4 releases to link through OptiConnect ports and present a single database image for RPG and COBOL applications to smack against as they ran online transactions. This is more or less what DB2 PureScale (which is being sold as Power HA DB2 PureScale) does because it is as much about adding resiliency to DB2 applications as it is to providing horizontal scaling that feels like the vertical kind of scaling you get with a big SMP box. (I have heard of this clustered databases behaving something like SMP boxes as diagonal scaling.)
The DB2 PureScale feature is only being made available on Power 550 midrange machines and Power 595 high-end servers running AIX 6.1 and DB2 V9.7. The server nodes are clustered together using InfiniBand switches, and the nodes are linked to the InfiniBand switches directly through the 12X I/O ports on the Power Systems. The 12X ports are, as you know, a variant of double-data rate InfiniBand, which provides 20 Gb/sec of bandwidth. (Quad-data rate InfiniBand is now going mainstream, and will almost certainly be a part of the future Power7 servers as a remote I/O linking technology.)
Interestingly, DB2 PureScale takes advantage of a neat little feature of InfiniBand called Remote Direct Memory Access, or RDMA for short, which allows one server to reach out across the InfiniBand fabric and reach right into the cache and main memory of another server node to get data. RDMA is not a new idea, but it has been a real pain in the neck making it work right. But the upshot is that it is wickedly fast and even DDR InfiniBand is fast enough that the database nodes look and act more like system boards in an SMP box than they do like distinct server nodes in a parallel database cluster. In essence, InfiniBand is the backplane in a funky kind of SMP getup. (I am simplifying a bit, but you get the idea.) The point is, this is a lot more efficient and takes a lot less time than having server nodes talk over the InfiniBand backbone through a TCP/IP networking stack and a PCI-Express InfiniBand host channel adapter.
DB2 PureScale also has another interesting architectural feature: a master database locking and caching server that all of the nodes talk to in order to get access to the memory on other nodes or to get access to database fields for updating the data in them. The way Oracle 11g Real Application Clusters works, all of the database nodes in the system are constantly bugging each other to make sure they can update a database field. So there is all of this chatter flying around before they can commit transactions. This central server allows all of the server nodes to see what data is locked all at the same time, which helps make a DB2 PureScale cluster scale more or less linearly as server nodes are added.
According to Bernie Spang, director of product strategy for the Information Management division of IBM’s Software Group, this central locking node is mirrored because it would otherwise be a single point of failure for the PureScale cluster. Spang also says that no applications need to be changed for them to run on DB2 PureScale–a claim that Oracle has also made about its Exadata V1 and V2 database appliances–and that customers will not have to tune or tweak their applications for them to perform well.
Pricing for the DB2 PureScale was not divulged. It will be available in December. Scott Handy, vice president of marketing and strategy for the Power Systems division, did not want to talk about why the i 6.1 operating system or its integrated DB2 for i database were not supported or if they would ever be supported. The word on the street is that Linux will get support for this at some point (certainly on Power Systems and maybe on System x boxes), and so will Windows further down the road running on X64 servers. From what I hear, IBM is not going to support DB2 Pure Scale on servers running HP-UX or Solaris Unixes, even though it does support these platforms with DB2 V9.7.
Next week, I’ll walk you through how this DB2 PureScale software can allow databases to scale and make some estimates about price and performance compared to standalone SMP boxes.