Information management software is at the core of enterprise computing. Companies need access to a wide range of information such as XML, message queues, documents, streaming video, and other rich media types. The On Demand evolution makes continuous availability a necessity and is driving the convergence of transaction, business intelligence, business performance management, and content management applications as companies integrate their business operations and processes thereby transforming their operations to the On Demand paradigm.
The IBM Information Management software portfolio provides the foundation you need for providing information on demand via a rich set of services. These services can be used to support and query structured, semi-structured, and unstructured data, integrate data, provide entity resolution, master data management, federation, and content management, as well as a host of rich run-time analytic capabilities. When you take into account the complete set of these services, collectively they are referred to as Information as a Service. In 2008, vertical best practices were built among these core services allowing companies to systematically transform their data assets into core strategic strengths for the business; collectively these practices are knows as the Information Agenda.
At the heart of the Information Management portfolio are the DB2 9.5 database servers which are the focus of this article. Note that this article describes only the DB2 data that run on distributed and pervasive platforms. For information about the entire DB2 portfolio, see the Information Management Software Web site or each product's respective Web site: DB2 for z/OS® or DB2 for i™ (formerly known as i5/OS).
DB2 is also at the heart of all the InfoSphere Warehouse editions - these editions are all based on DB2 Enterprise which is covered in this article). The InfoSphere Warehouse editions are not covered in this article because they have services which extend well beyond the core database.
It's easy to arrive at the decision to use DB2; however, there are different editions of DB2 (and respective licensing options) that are well suited for different parts of the marketplace. From Palmtop to Teraflop, there's a DB2 that's right for you.
For each version of DB2, I write an article like this which is designed to help you decide which distributed DB2 edition you want to use to power up your business. As changes impact the server release over time, this article morphs into a reference that details licensing and product changes on a marginal basis. For this reason, it's important that you take note of the publication date when reading this article.
On February 10th, 2009, IBM announced some major (and beneficial) changes to the DB2 9.5 packaging. Typically, changes are made on release dates, but considering the present state of the economy, these changes are welcome news for all; for example, the pureXML Feature Pack is now free for all DB2 editions. In this article, the description of an edition is the most up to date with respect to features, licensing rules, and so on. Below each edition description is often a change log which allows you to see the changes within a release cycle.
When talking with customers, I often get asked a lot of high availability licensing questions, or feature comparisons between the different editions of DB2. For details on these topics, and more, other articles I've written may be helpful:
- "Licensing distributed DB2 Version 9.5 servers in a high availability configuration"
- "Compare the distributed DB2 9.5 servers" (Uses a chart to compare the distributed DB2 servers on a feature-by-feature basis.)
- "DB2 and IBM's Processor Value Unit (PVU) pricing"
DB2 is DB2 is DB2
The first thing that you should understand when choosing an edition of DB2 to service your workload is that, with the exception of DB2 Everyplace® and Apache Derby (whose SQL API is fully compatible with DB2), each DB2 edition has the same code base across all the distributed platforms. DB2's support for Linux extends across all of IBM's servers: POWER (formerly known as System i and System p), System z®, and System x®: the DB2 on all of these platforms is the distributed version too. For example, DB2 for Linux on System z is the same code base and licensed the same way as DB2 on an Intel or AMD-based workstation. This means that DB2 Connect is not required to access DB2 for Linux on System z data even though the copy of DB2 resides on a System z server. (Read that sentence twice - if you were connecting to a DB2 for z/OS database on this System z server, you would require DB2 Connect; the difference here is that DB2 for Linux on a System z Integrated Facility for Linux (IFL) is the distributed version of DB2.)
A common code base offers portability and assurances that if you ever need to scale your DB2 solution, you can do so seamlessly without migration concerns or efforts; and since the SQL API within the DB2 family is about 95% common, movement between the DB2 family members is just as easy too. To add even more benefit to porting or integration challenges, as of February 10th, 2009, hetergeneous federation is now free of charge between the IBM database server editions (note that DB2 Express-C and DB2 Express-C FTL aren't considered DB2 editions; rather, they are DB2 packages). Now you can integrate your applications with a single API across a wide array of databases.
There is compatibility beyond the SQL API too. For example, there's a common Web Services framework that allows you to point-and-click your business logic into a Service Oriented Architecture (SOA) framework. In fact, this framework, called IBM Data Web Services, includes support for Informix servers and can even be used for back-level versions of Informix or DB2 (on any platform, inlcuding i and z/OS) database software. Amazing!
Not to sound like an infomercial, but there's more cross-IBM Data Server stuff that's packed into every edition of DB2. For example, all IBM relational databases share a common API to instrument the SQL. For example, the JDBC driver that ships with DB2 for z/OS is the same code as DB2 for Windows. When you consider that billions of dollars per minute every day depend on this driver, you know you've got a rich and robust driver for your applications. There's also a common client; if you are connecting to DB2 for z/OS, DB2 for AIX, or Informix, you install just one client as of DB2 9.5. You can learn more about the new common client by reading my article "Which DB2 9.5 client connectivity option is right for you?". For example, did you know you can migrate from a DB2 client to DB2 Connect Personal Edition by simply installing a license key?
In addition, tooling for application development and management (like Microsoft Visual Studio integration, IBM Data Studio, or the Data Studio Administration Console are cross-IBM database server family as well). pureQuery is enabled for all platforms. Quite simply, more than ever, across the IBM DB2 family (and in many cases Informix too) you've got skill reuse when it comes to application development, deployment, management, and more.
Figure 1 shows an architectural view of DB2 9.5 across its supported distributed platforms.
If you ever decide to change your strategic direction with respect to a hardware architecture (for example, from an Intel-based architecture to a POWER6 one), operating system (like moving from Linux™ to Windows®), or programming architecture (like .NET to Java or vice-versa), you can count on the fact that DB2 will be there. Quite simply, it's all about choice, and DB2 is literally the only database in the world that really gives you the breadth and depth of an information platform tailored to your environment.
Figure 1. DB2 is DB2 is DB2 across supported distributed platforms due to its common code base.
The different editions of DB2 are shown in Figure 2. With the exception of DB2 Everyplace and Apache Derby, you can (for the most part) assume that each function, feature, and benefit of an edition shown at the bottom of Figure 2 is included in each subsequent edition as you move up the 'edition chain' -- kind of like a Russian Doll. I say 'for the most part' because DB2 Express-C FTL may contain a feature, such as High Availability Disaster Recovery (HADR), that isn't included in DB2 Express (unless you additionally purchase it). That said, DB2 Express-C and DB2 Express-C FTL are considered packages as opposed to editions; but for the most part, you can follow this simple rule of thumb.
Figure 2. The distributed DB2 9 product line
The DB2 Everyplace Editions... A lot of power from such a little thing
The true power of mobile computing lies not in the device itself, but rather in its ability to tap into data from other sources. DB2 Everyplace (DB2e) brings the power of DB2 to mobile devices, leveraging their ability to synchronize data with other systems -- literally putting your enterprise data in the pockets of your mobile workforce and giving them the ability to update data from mobile locations (even in an occasionally connected environment).
DB2e is more than just a mobile computing infrastructure. It's a complete development environment that includes the tools you need to build, deploy, and support powerful Information on Demand applications. DB2e features a tiny "fingerprint" engine (about 350 KB) which is packed full of security features such as table-level and wire-level encryption (including SSL) and advanced indexing techniques that lead to high performance. It can comfortably run on a wide variety of hand-held devices, with support for Palm OS, Windows Mobile (and Windows Mobile CE), traditional Windows desktop platforms, Symbian OS, QNX Neutrino, various Linux distributions (including embedded ones like BlueCat), and more.
The SQL API used to develop DB2e applications is a subset of that used for building DB2 applications. This means that enterprise applications, for the most part, can be easily extended to include mobile devices. DB2e is also a very simple to use database - users don't need any database management skills as it is 100% self managing. DB2e is extremely flexible for developers, with support for a myriad of programmable API interfaces like ODBC, JDBC, .NET, DB2 CLI, and more.
Another nice thing about developing DB2e applications is that the database engine is platform independent. This gives you the flexibility to seamlessly move a populated DB2e database on a Pocket PC device to a Symbian smartphone, or whatever other supported device you have. This feature, coupled with the rich support for application development, enables developers to quickly create, deploy, and support applications on all platforms.
DB2e can be licensed as a fully synchronized environment or as a stand-alone embedded database. DB2e comes in two editions: DB2 Everyplace Database Edition (DB2e Database) and DB2 Everyplace Enterprise Edition (DB2e Enterprise).
DB2e Database has no synchronization middleware to extend or synchronize data to back-end enterprise database servers (although it does come with command line-based import and export utilities). DB2e Database is primarily used for applications that require an embedded database or a local relational storage facility that is exposed to end-users through some sort of application (they never really see the database) yet have stringent footprint requirements because of the device.
A DB2e Enterprise license provides clients with an unlimited number of DB2e database engines to deploy on their company's mobile devices and enables those devices for remote data synchronization via the accompanying DB2 Everyplace Synchronization Server (DB2e Sync Server). The DB2e Sync Server handles data, profile, and management synchronization between devices running DB2e Database and back-end JDBC-enabled compliant servers (for example, DB2, Oracle, Informix, SQL Server, and so on). In addition to this, there is a special DB2 family synchronization adapter that uses SQL replication technology which is free in the distributed version of DB2.
The number of concurrent synchronizations the DB2e Sync Server can support is dependent on the hardware configuration of that server, the associated workload, and data change rates. If you need to scale to handle very large concurrent synchronizations, you can install any Java application server (like IBM WebSphere Application Server). In addition to this, further scalability and high availability is supported through DB2e Sync Server farm configurations that allow you to cluster a number of DB2e Sync Servers to provide load balancing and high availability services.
Licensing and pricing
DB2e Database is licensed on a per authorized user basis. If you have 10 devices which are equally shared across three 8 hour shifts by 30 workers, you would need 30 DB2e Database licenses.
The licensing rules associated with DB2e Enterprise use the Processor Value Metric (PVU) methodology which essentially prices a product based on the PVU rating of the underlying server or virtualization session where the DB2e Sync Server software is installed. This license gives you the right to deploy and synchronize as many DB2e clients as you want; however, all of those devices must connect to the licensed DB2e Sync Server to perform this operation.
If you need a relational engine (and perhaps synchronization services) on a mobile device with limited resources (for example, a mobile phone), you likely need to use DB2e. However, this product could also be considered for occasionally connected mobile users on laptops if their applications don't need advanced features found in a richer DB2 edition (like a trigger) which are not part of DB2e today. DB2e deployments typically require a "black box" database on their machines or mobile devices (you don't want merchandisers having to collect statistics or build indexes).
If you need to leverage a richer featured database that supports triggers or any other feature that isn't available in DB2e, still have stringent space requirements, and your devices are capable of running Java, you may also want to consider Apache Derby which has a footprint of about 2 MB. Another alternative could be DB2 Express-C FTL (covered later in this article).
Tell me about something cool running on DB2 Everyplace
The Japanese firm, XING, is a developer of Karaoke services. The company wanted to transform the Karaoke experience into the modern era and help Karaoke bars attract more business by creating a solution to replace cumbersome paper song catalogs that patrons have traditionally used to locate and request songs. Xing introduced a customized purpose-built Karoke PDA - built on DB2e - to improve the Karoke experience and replace their archaic and unwieldy paper song catalog. Now Karaoke participants leverage these PDAs to not only search song catalogs, in excess of 10,000 songs, using any search criteria they want (album, artist, genre, etc.), but are also shown promotional advertisements and can even wirelessly order food and drinks through an intuitive touch screen panel! DB2e making it easier for me to make a fool of myself by singing Led Zeppelin's Stairway to Heaven when perhaps I shouldn't have had that last beer which makes me think I can sing? Now that's cool!
DB2 Personal Edition... All the power of DB2 with a personal touch
DB2 Personal Edition (DB2 Personal) is a single user database that runs on desktop-based commodity hardware. DB2 Personal is available on Windows- and Linux-based Intel and AMD workstations. DB2 Personal has most of the features that you'll find in DB2 Express, but it can't be used as a central database server because remote clients can't connect to this edition of DB2. However, the DB2 administration tools can connect to it in order to perform remote administration. This edition of DB2 also includes support for 64-bit instances and has no memory limits.
DB2 Personal comes with installation rights to the DB2 Net Search Extender and the Spatial Extender (both are free with all DB2 9 and later editions), as well as SQL-based replication. The replication features can be used in conjunction with a DB2 server for an occasionally connected workforce or to create your own publication/subscription (pub/sub) architecture. DB2 Personal also includes the pureXML feature which is free in all DB2 editions and packages as of February 10th, 2009 (more on that in a bit).
Licensing and pricing
DB2 Personal is licensed on a per installation basis, very much like most PC workstation software. If multiple users took turns using the same endpoint (obviously they can't be working at the same time since there is only one machine and DB2 Personal isn't a database server) where DB2 Personal was installed, you would still only require one license because it is licensed by installation and not by authorized user. Each installation of DB2 Personal does not have to take into account considerations for RAM, Processor Value Units, and so on. For example, if you have 10 workstations that are equally shared across three eight-hour shifts by 30 workers, you would need 10 DB2 Personal licenses.
DB2 Personal is an excellent choice for applications that require a personal single-user-at-a-time data store for a large number of PC workstations which would each have a copy of DB2 Personal installed on it. Consider DB2 Personal over DB2 Everyplace and Apache Derby when 100% compatibility with distributed DB2 servers is required and/or support for specific advanced features are required. You can also consider DB2 Personal for occasionally connected users that may want to leverage DB2 Personal's built-in SQL replication feature to set up a synchronized data and management environment where mobile workers or remote servers can keep in touch with their enterprise. Of course, this would only be suitable for laptop users and certain workstations, such as those running point-of-sale (POS) applications or sales force automation (SFA) applications among others. Finally, DB2 Personal is often used by developers too - though I personally think that the DB2 Express-C packages are better suited (and more capable) for developers.
Tell me about something cool running on DB2 Personal
The National Geographic Society (publishers of the famous National Geographic magazine) are using DB2 Personal to power up The Genographic Project - a five-year research effort that uses a sophisticated DB2 database to find patterns in DNA samples collected from hundreds of thousands of volunteers. The goal of this project is to pretty much find answers to age old questions like "Where did we come from?" and "How did we get here?" Teams of field researchers led by 11 principal investigators are outfitted with ruggedized IBM ThinkPad laptops that use biometric fingerprint scanners to validate each researcher's identity. These ThinkPads are equipped with a customized data collection application which runs on DB2 Personal. This information is collected and stored on these devices and is subsequently fed back from DB2 Personal to a DB2 Enterprise database for DNA analysis. Tracking the history for mankind with DB2? Now that's cool!
DB2 Express-C... It's free to build, develop, and distribute
On January 30th, 2006, IBM announced a special free DB2 server package called DB2 Express-C. You'll note that I refer to this as a pacakge, as it's not an 'official' edition of DB2. DB2 Express-C was designed for the partner and development communities, but as you get to know this package, you'll start to realize it has applicability almost anywhere. This in contrast to some competitor free Express offerings that impose strict limits not just on database size (for which DB2 Express-C has no limit), but also for things like autonomics, automated maintenance, the memory bit model, and more. As you investigate this DB2 package, you will become pleasantly surprised. DB2 Express-C is perfect for developers and small and medium deployments, academic communities, and more.
The major features that are not included in DB2 Express-C include when compared to DB2 Express are:
- The code is unwarranted. For example, there is no support for the product or available downloads like the DB2 Spatial Extender. Notice I said support, you can still download the free DB2 Extenders (DB2 Spatial Extender and DB2 Net Search Extender) and use them; but you're on your own with anything you do with this DB2 package.
- The ability to purchase add-on Feature Packs which can be used to provide a varying array of extended services. For example, you can't buy the Storage Optimization Feature Pack which provides deep row compression services.
- You can't cluster two DB2 Express-C data servers together for high availability using clustering software like HACMP, SteelEye, or the built-in clustering services in DB2 9.5, and so on. If you need to set up DB2 Express-C in a highly available environment, you must minimally license DB2 Express-C Fixed Term License (FTL) which is a subscription and feature option added to this package of DB2 (see the next section).
- There are no replication services. This may be a source of confusion for many because previous versions of DB2 Express-C collateral indicated that the APPLY component of the SQL replication built into DB2 was available with this package. You are not licensed to use any replication services with DB2 Express-C.
- You can't purchase the award winning 24x7 IBM Passport Advantage support model available with purchasable DB2 editions. This is perhaps one of the biggest restrictions with DB2 Express-C (in addition to the inability to cluster these servers for high availability). The DB2 Express-C support model lies within the strength of its community. This community is made up of some of the world's most experienced DBAs from the world's largest companies (and smaller ones too) and a legion of DB2 developers and engineers monitoring a forum of questions that you can tap into for DB2 Express-C help, advice, and support (it kind of resembles the open-source community methodology). To help nurture and grow this community, strong practitioner resources are available on Web sites like developerWorks Information Management.
- DB2 Express-C is only available at the current version. In other words, when a new version of DB2 Express-C is released, older versions are no longer available for download. This caveat requires special attention if you are using ISV software that is certified for a specific release level.
If you want to leverage any of the features listed above, you need to minimally purchase DB2 Express-C FTL (or any other for-fee edition of DB2).
The nice thing about DB2 Express-C is that you'll find a lot of things missing - from a limits perspective: no database size limits, no automated management or tooling limits, no memory model limits (you can use a 64-bit memory model), and more - you're just using DB2. This just isn't the case when you look beneath the marketing veneer of some competitor Express offerings; however, that's outside the scope of this article.
As of 1Q09, DB2 Express-C is available for servers running Linux, Windows, Mac OS X, or Solaris (x64) operating systems. A complete list of supported platforms is available at the IBM DB2 Express-C download site.
Developers love DB2 Express-C because it allows them to develop and deploy applications free of charge. ISVs love DB2 Express-C because it allows them to develop, deploy, and distribute DB2 free as part of their packaged application. And remember, since DB2 Express-C is DB2, it means that you can deploy these applications on any edition of DB2 and even move them to DB2 for z/OS with no changes (assuming you write your applications to the 95+% common SQL API set for the DB2 family).
In the academia world, educators have an opportunity to extend the value of the IBM Academic Initiative program (see the call-out box on this page) which offers them access to DB2 technology for free by having their students use DB2 Express-C without being tied to specific course curricula. These DB2 practitioners are then able to apply their trade with a no limits, free to build, deploy, and distribute data server.
DB2 Express-C is so compelling it received the prestigious VARBusiness's Best of the Midmarket award. Want to test drive DB2 Express-C for yourself? Download a copy today.
Licensing and pricing
DB2 Express-C is free to build, deploy, and distribute. Subsequently there are no license fees associated with this DB2 package. The code is however optimized such that it throttles the DB2 engine to a maximum of 2 GB of memory and 2 cores of processing power for the database on any sized server or virtualization session.
Changes in DB2 9.5
Previous versions of DB2 Express-C were limited to a maximum of 4 GB of memory and 4 sockets of processing power. Users were responsible to enforce these limits via DB2 configuration settings as well as personal observation. In DB2 9.5, these resource are now throttled to the new limits outlined in the previous section.
In 2Q08, DB2 Express-C became available for Solaris x64.
In 4Q08, DB2 Express-C became available for Mac OS X; this platform currently maintains beta status in the DB2 Express-C platform options. Also note that DB2 Express-C FTL, or any DB2 edition for that matter, can't run on Mac OS X; just DB2 Express-C. In addition, the DB2 Text Search facility was added to DB2 Express-C.
DB2 Express-C can be used for a wide array of different applications and projects. Use it to learn DB2, develop DB2 applications, and even deploy production applications (depending on your requirements).
Tell me about something cool running on DB2 Express-C
Concursive (formally known as Centric CRM) is an open source Customer Relationship Management (CRM) application provider whose application suite includes the most ubiquitous CRM modules with additional capabilities such as Web-site Authoring, Enterprise Content Management, Collaborative Project Management, Document Management, Customer Surveys, and sophisticated Help Desk functions. Concursive is used by thousands of smaller companies and some Fortune 500 ones too. Concursive chose DB2 Express-C because they wanted to be equally attractive to a one-person shop as they would be to a Global 1,000 company. Since DB2 Express-C is an identical code base to the rest of the DB2 family, they knew they could scale their offering for large enterprises too. In fact, Concursive is actively pursuing multi-thousand seat installations using DB2 Express-C. US Food Service (an $18 billion Fortune 200 company) has a large Concursive CRM deployment running on an IBM stack which includes DB2 Express-C. Concursive was able to port their application suite, consisting of over 2-million lines of code, to DB2 9 Express-C in under a week. Now that's cool!
DB2 Express-C Fixed Term License (Subscription)... It's not only free to build, develop, and distribute, you can set it up for high availability and it has support!
On April 30th, 2007, IBM announced an add-on subscription and feature offering for DB2 Express-C called DB2 Express-C Fixed Term License (FTL). The following details the major features that the DB2 Express-FTL package offers you over a DB2 Express-C installation:
- IBM's 24x7 support is included for each DB2 Express-C FTL installation. This gives you service-level assurances for problem resolution, as well as a maintenance schedule that is matched to DB2 edition release
schedules. In other words, when a new Fix Pack of DB2 Enterprise is released, a Fix Pack is made available for DB2 Express-C FTL as well. What's more, unlike DB2 Express-C, previous version levels during the maintenance cycles are maitained and available for download - just like a regular DB2 edition. This is not the case with DB2 Express-C which doesn't offer any back-level availability of the code base.
Note that even though these servers come with support, you'll still want to ensure you visit the DB2 Express-C forum and the DB2 Express-C Web page on Developer's Domain because you'll learn a lot about this DB2 package and what's on the horizon for it as well.
- Unlike its DB2 Express-C counterpart, a DB2 Express-C FTL license adds full SQL replication (both CAPTURE and APPLY components) capability to your server making it well suited for occasionally connected clients or a pub/sub data distribution model.
- DB2 Express-C FTL allows you to cluster one or more DB2 Express-C FTL servers in a high availability (HA) environment. When you cluster a DB2 Express-C FTL server in an HA environment you must purchase a DB2 Express-C FTL subscription for each server, no matter how the standby DB2 Express-C FTL server is being utilized; for example, a cold, warm, or hot standby. To learn more, read "Licensing distributed DB2 Version 9.5 servers in a high availability configuration" by Paul Zikopoulos.
- DB2 Express-C FTL delivers more processing power to your application because it is throttled to use up to 4 cores of processing power and 4 GB of memory for the underlying server or virtualization session where the software is installed; essentially, DB2 Express-C FTL doubles the resource limit over DB2 Express-C.
- Making the ability to cluster DB2 Express-C FTL servers for high availability even more compelling is the fact that DB2 Express-C FTL includes the High Availability Disaster Recovery (HADR) feature for free along with the built-in Tivoli System Automation (TSA) that's bundled into DB2 9.5.
- DB2 Express-C FTL includes backup compression as of February 10th, 2009.
Figure 3 summarizes the differences between DB2 Express-C and DB2 Express-C FTL:
Figure 3. The difference between DB2 Express-C and DB2 Express-C FTL
Of course since DB2 Express-C FTL is the same code as DB2 Express-C (just with the added aforementioned capabilities), which is the same code as DB2, you still get all the resiliency and robustness of DB2. Note that you can't purchase Feature Packs for either DB2 Express-C or DB2 Express-C FTL; for example, you can't buy the Storage Optimization Feature Pack which provides deep row compression services. Since DB2 Express-C FTL comes with support, you still get the free Extenders, and with this package they are supported and you're not on your own - you've got IBM's support team behind you.
With all the features packed into DB2 Express-C FTL, some clients often ask me why would they consider DB2 Express - and it's a good question. One reason is that the limits on DB2 Express are PVU-based (200 PVUs); if you installed DB2 Express-C FTL on a server whose per core rating was less than 50 PVUs, then you could get more processing power out of DB2 Express than DB2 Express-C FTL. It could also be the case the PVU limits change over time (as was the case for DB2 Workgroup when it was moved from 400 PVUs to 480 PVUs in 2Q08); with DB2 Express-C FTL, you wouldn't be able to take advantage of such a change. Another reason to choose DB2 Express over DB2 Express-C FTL are the fembedded features. For example, as of February 10th, 2009, homogeneous federation is back as a free feature in all DB2 editions; this capability is not available in DB2 Express-C FTL. Other technologies that can't be added to DB2 Express-C FTL because of the fact that you can't buy a Feature Pack for it include online table reorganization, DB2 advanced copy services, and more. Now at the same time, HADR is free in DB2 Express-C FTL, and it's an add-on Feature Pack for DB2 Express. However, a warm standy server in a DB2 Express-C FTL HADR configuration is the same price as the hot server, whereas with DB2 Express, it's significantly reduced; so you have to do a little homework when deciding which package or edition to deploy.
Today, DB2 Express-C FTL is available for servers running Linux, Windows, or the Solaris (x64) operating systems. A complete list of supported platforms is available at the IBM DB2 Express-C download site.
Licensing and pricing
The FTL part of DB2 Express-C FTL is really a feature and subscription license. When you license a DB2 Express-C FTL server, this is what you are paying for: the FTL part. This subscription allots you a single year of support and also entitles you to the added aforementioned capabilities. So to license this product you don't count processors, processing cores, PVUs, or anything like that. Just buy a support contract for each server; how simple is that?
For example, if you had two DB2 Express-C FTL servers, then you have to buy two FTL subscription contracts; simple. If you cluster two DB2 Express-C FTL servers together using HADR, then you still buy two subscription contracts as there are no special high availability licensing considerations with DB2 Express-C FTL; simple. If you install DB2 Express-C FTL in two VMWare sessions on a single machine, you have to buy two DB2 Express-C FTL contracts; simple. Get the point that licensing DB2 Express-C FTL is simple?
A DB2 Express-C FTL subscription also gives you the aforementioned extended resource rights on the server where the software is installed. A DB2 Express-C FTL server will throttle itself such that it doesn't consume more than four processing cores or more than 4 GB of memory on any sized server or virtualization session.
Changes in DB2 9.5
Previous versions of DB2 Express-C FTL were limited to a maximum of 4 GB of memory and 4 sockets of processing power. Users were responsible to enforce these limits via DB2 configuration settings as well as personal observation. In DB2 9.5, these resource are now throttled such that an installation of DB2 Express-C will only use 4 cores of processing power on the server and no more than 4 GB of available memory (when installed within a virtualization session, such as VMWare, this limit is per session).
In 2Q08, DB2 Express-C became available for Solaris x64.
In 4Q08 the DB2 Text Search facility was added to DB2 Express-C.
Changes in DB2 9.5 on February 10th, 2009
On February 10th, 2009, DB2 backup compression was added as a feature to DB2 Express-C FTL. Previously this capability was only available through the Storage Optimization Feature Pack; as of this date, it is free in all DB2 editions and DB2 Express-C FTL (it isn't available in DB2 Express-C).
DB2 Express-C FTL can be used for a wide array of different applications and projects. It really separates itself from DB2 Express-C because it can be considered for applications that have service-level requiements because you are assured a continual maintenance schedule and support, high availability clustering options, and more scalability.
Tell me about something cool running on DB2 Express-C FTL
Ubuntu is one of the world's most popular desktop and laptop Linux distributions. Canonical, a business partner committed to the development and distribution of open source software with support and tools services, offers support for DB2 Express-C FTL and Ubuntu in a single low priced offering. Open source, DB2 Express-C FTL, and a discount on that subscription contract? MySQL keep your head up...now that's cool!
DB2 Express Edition... It's simple, secure, and inexpensive
DB2 Express Edition (DB2 Express) is the entry level, fully supported DB2 server that is a specially tailored low cost, full feature, industrial strength, and open industry standards-based relational database. The target users of this edition of DB2 are typically SMBs (small and medium businesses) and ISVs. DB2 Express provides a very attractive entry and competitive price point for businesses that choose to leverage the benefits of servers running on Linux, Solaris x64, and Windows based servers (the previous links take you to the most up to date platform support information).
DB2 Express also provides a wide selection of business partner applications, services, and support. There is an accompanying set of pricing programs that partners can leverage to generate significant revenue flows into their businesses. Of course, businesses can choose to deploy DB2 Express for their own environments as well - and often do.
Because it is a full-fledged DB2 server at its core (you won't find all sorts of technical restrictions here as you will with other competitor offerings), DBAs can leverage its built-in autonomic manageability features such as the Self Tuning Memory Manager (STMM), the Configuration Advisor, IBM Data Studio, the Data Server Administration Console (DSAC), the Design Advisor, autonomic maintenance plans, automated backup tuning, backup compression (added on February 10th, 2009), text searches (added in 4Q08), throttling, and more. Collectively, these services help to increase the performance and reliability of your DB2 solution, while at the same time minimizing administration complexity, required skills, and overall total cost of ownership.
DB2 Express supports high availability (HA) architectures like HA clustering technologies and log shipping. The built-in Tivoli System Automation (TSA) clustering technology in DB2 9.5, online table reorganizations, support for DB2 Advanced Copy Services (DB2 ACS), and HADR aren't included as part of the base DB2 Express edition, but can be added for an additional charge via a Feature Pack (more on that in a bit). Taking into account that other popular SMB-targeted databases only have advanced online and management features in their higher level editions, and combining that with the DB2 Express price point and autonomic capabilities, you may never even know DB2 Express is there - and that includes your pocketbook.
This edition of DB2 is fully compatible with the rest of the scalable DB2 family of relational databases for Linux, Windows, and UNIX platforms, and you can easily pre-configure DB2 Express to transparently install within your applications for easy deployment. Clients love DB2 Express because all they see is a solution; Business partners will love it because they can trust it to run virtually unattended.
DB2 Express comes with the DB2 Net Search Extender (free with all DB2 editions in DB2 9), the Spatial Extender (also free with all DB2 editions), as well as SQL-based replication.
To further add to the value this edition delivers, on February 10th, 2009, pureXML and homogeneous federation were added to this edition free of charge! pureXML provides the ability to create pureXML columns in a DB2 Express database and leverage an associated set of XML services like XML Schema validation and registration services, path-based indexing services, XQuery services, and more. pureXML provides services such that no compromises between flexibility (what XML was designed for) and performance (one of the reasons why you want the database server to store your XML) need to be made when storing your XML data. Homogeneous federation provides the ability to create nicknames across members of the IBM relational database server family. This allows you to develop applications across DB2 and Informix tables that reside on different platforms without concern to their location. For example, you could use this feature to easily create an application that performs a join of data that resides on a DB2 for i database with one that's running DB2 for Linux on System z, or Informix, and so on. If you wanted to federate a query across non-IBM database servers (for example, Oracle, SQL Server, and so on), or leverage the benefits of queue-based replication, you would need to purchase one of the products from the separately available IBM Information Server suite
One especially nice feature about DB2 Express is that it is 'Enterprise Extensible' through a Feature Pack that you can add on to a DB2 Express installation that enrich it with enterprise services. At the same time, you can still leverage the low price point that this edition of DB2 was designed for. Add-on Feature Packs were designed such that mid-market solutions weren't forced into the Enterprise price category that we found with some competitive offerings in the marketplace. As of February 10th, 2009, the only Feature Pack available for DB2 Express is the High Availability Feature Pack.
Feature Packs were first introduced in the DB2 9 release and have been subsequently updated when DB2 9.5 became generally available and now on February 10th, 2009. Feature Packs were introduced to allow an a la carte style approach to data services for applications that don't require large scale servers, yet want to leverage services that are typically found in full blown enterprise solutions. Feature Packs must be licensed in the same way as the DB2 server was licensed, namely through an authorized user license or through the Processor Value Unit (PVU) rating of the server or virtualization session upon which they are installed (note however that as of the DB2 9.5 release date, you no longer need to license the Feature Pack on a warm or cold standby server).
To me, the number of Feature Packs really started to confuse things betwen the editions. So I'm glad to see them kind of going away for the the mid-market servers with DB2. As previously mentioned, when DB2 9.5 was released, some Feature Packs were removed and as of February 10th, 2009, the High Availability Feature pack is the only one that remains for DB2 Express. I'm happy to say that two of the Feature Packs that were chargeable in DB2 9.5, pureXML and Homogeneous Federation, are now free features in every DB2 Express edition!
The High Availability Feature Pack Provides a number of services that enhance the availability of applications running on DB2 Express servers by including support for online table reorganizations, a two node cluster license for the Tivoli System Automation (TSA) high availability services that's built into DB2 9.5, support for DB2 advanced copy services, and High Availability Disaster Recovery (HADR). All of the features in this Feature Pack are part of a base DB2 Workgroup and DB2 Enterprise installation.
HADR is a set of availability services that provide a turnkey database availability and a protection plan that not only provides redundancy across the entire solution stack, but can meet even the most stringent availability service level agreements (SLAs) with a mean-time-to-repair (MTTR) measured in seconds. The best part about HADR is that you set it up with mere clicks of a button.
The online table reorganization (REORG), somteimes referred to as an in-place REORG, is unlike anything else you'll find in other vendor's offerings. It provides a continuous reorganization of a table without the excess disk space associated with the traditional shadow copy approach. It can be started, paused, and throttled; whenever you alter the state of the operation, the benefits are immediate. For example, you could run the reorganization through the evening and then throttle it back during the day or stop it. Applications accessing the table would immediately see the benefits up to the point to where it was stopped: that's real availability.
Advanced Copy Services (ACS) enables you to leverage the fast copying technology of a storage device to perform the data copying part of backup and restore operations. Being able to use the storage device to perform the data copying makes the backup and restore operations much faster. A backup operation that uses DB2 ACS is called a snapshot backup.
DB2 9.5 bundles IBM Tivoli System Automation (TSA) high availability clustering software into the installation of DB2. These services provide you the ability to cluster together two servers for high availability and even automate the failover of an HADR solution. In addition to this, the DB2 9.5 installation program can automatically configure this high availability cluster. What's more, there's a new framework, fronted by the new DB2 High Availability Instance Configuration Utility (db2haicu). This framework provides a text-based interface that you can use to configure, administer, and synchronize your highly available databases in a clustered environment. Now DB2 can collect information about your database instance, your cluster environment, and your cluster manager by querying your system and can keep the whole cluster synchronized when changes occur. For example, adding a new storage container: what you do to one side of the cluster has to be done to the other and DB2 will automate that for you; this is a big deal!
Licensing and pricing
DB2 Express has the following architectural limits with respect to the server or virtualization session upon which it is installed:
- DB2 Express is limited to 4 GB of memory for the entire data server. Despite this memory limit, which you control using a single configuration parameter, you can install DB2 Express on a server with more than 4 GB of memory - it's the DB2 server software that has the 4 GB limit. For example, if you had two databases on a single server with 8 GB of memory, you could split the 4 GB allocation across those databases (even if they were in different instances) but you could not exceed the 4 GB limit that applies cumulatively to all the instances and databases on your physical server. As of DB2 9.5, the database engine will throttle the amount of memory consumption such that it does not exceed the 4 GB limit for this edition of DB2.
- You can only install DB2 Express on a server that has a rating of 200 or less Processor Value Units. This means that since a dual-core x86 Intel processor is rated at 50 PVUs per core, you could only install DB2 Express on a server running a maximum of two x86 Intel dual core processors; often referred to as a two socket dual core x86 server.
- DB2 Express servers are eligible, as of February 10th, 2009, for sub-capacity licensing; this was not the case when DB2 9.5 became generally available. In this example, the limits outlined earlier in this article apply to each virtualization session and you only pay for what's used. If you deploy more PVUs of DB2 Express across multiple virtualization sessions than the total PVU rating of the underlying server, then you simply license the entire server's PVU count. Different platforms and virtualization technologies have different pre-requisites which allow you to use this DB2 edition in a sub-capacity enviroment. Click here for details.
A DB2 Express data server can be licensed in one of the following ways:
- By purchasing the total number of Processor Value Units associated with the server or virtualization session where the DB2 Express software is installed. This license allows for an unlimited number of users to access the DB2 Express server using any method possible. If you are licensing a warm DB2 Express standby server, you license it for 100 PVUs.
- By purchasing the total number of authorized users that will access the DB2 Express server. An authorized user is a single individual (in some cases, it can be an application or appliance so long as it doesn't act on behalf of other users) with a specific identity that resides inside or outside your company. These licenses can be used over the Internet as well (like an online banking application) because the end user is well known since
they must be specifically identifiable for this license. Authorized user licenses are full entitlements; there is no need for separate server licenses as with previous versions of DB2. Note the term specific identity. If you are using multiplexing or connection concentration software, these users need to be fully identified before such software is applied to a connection. An authorized user license is not transferable across work shifts (though it can be transferred for employment turnover) and is only valid for a specific data server.
You need an authorized user license for anyone accessing the database; however, no matter how many users are accessing your DB2 Express server, you need to at minimally license it for 5 authorized user licenses. For example, if you had 25 users that needed to access two separate DB2 Express servers, you would need to purchase a total of 50 authorized user licenses for these 25 users: 2 servers x 25 authorized users per server. Even if only 12 of these users were ever connected to the data server at one time, all 25 users would still have to be licensed for each server (so you still need 50 authorized user licenses for this example). If you had a single DB2 Express server and only 3 users, you would still need to purchase 5 authorized user licenses because of the minimum number of users required for this edition. Finally, when licensing a warm DB2 Express standby server, you license it for 5 authorized users if the hot production server is also using the authorized user licensing model.
Changes in DB2 9.5
The DB2 9.5 release didn't come with any pricing or licensing changes for DB2 Express; however some Feature Packs were removed and only those mentioned in the previous section are available for DB2 Express as of the Version 9.5 release. Specifically, the Workload Management and Performance Optimization Feature Packs can no longer be purchased for DB2 Express 9.5 and the features contained within them can't obviously be utilized with this edition of DB2.
Changes in DB2 9.5 on February 10th, 2009.
On February 10th, 2009, as previously mentioned the pure XML and Homogeneous Federation Feature Packs were removed as add-ons for a DB2 Express server. Unlike the Workload Management and Performance Optimization Feature Packs, the functionality within this feature packs are now freely included in all DB2 Express servers. Another change that occured on this date is that backup compresison (previously only available through the Storage Optimization Feature Pack which is only available for DB2 Enterprise) is also now free in DB2 Express. Finally, DB2 Express is now eligible for sub-capacity pricing.
DB2 Express is an entry level DB2 server that should be considered for workloads that won't greatly benefit from more than 4 GB of database memory or more than 200 PVUs of processing power. This edition isn't well suited for applications that require high scalability features like parallelism or MDC tables since these features aren't part of the base DB2 Express server and aren't additionally available through Feature Packs.
Tell me about something cool running on DB2 Express
Sage, one of the world's most well known providers of end-to-end software that run SMB businesses and beyond, ships their ACCPAC application running on DB2 Express by default. Craig Downing (Vice President of Product Management) notes that "DB2 clearly shows IBM's commitment to the SMB market. In particular, the focus on automating administrative tasks gives small and mid-size business high data reliability without high administrative attention."
When a company that services over 2.8 million small to medium users in North America alone (and over 4.5 million world wide) chooses DB2 Express to handle one of their most popular applications because of its ease of use... that's cool!
DB2 Workgroup Server Edition... A little more than DB2 Express, but not too much
DB2 Workgroup Server Edition (DB2 Workgroup) is a DB2 server that provides the same features as DB2 Express, but is better suited for high availability workloads (since the components of the High Availability Feature Pack are included in DB2 Workgroup free of charge) and more demanding workloads that that need more memory and processing power. DB2 Workgroup also has a broader range range of platform deployment options than its DB2 Express counterpart.
DB2 Workgroup is supported on all the supported distributed platforms where DB2 runs, namely: Linux (except for Linux on System z), Windows, AIX, Solaris (both SPARC and x86), and HP-UX; the previous links take you to the most up-to-date platform support information.
As previously, mentioned, DB2 Workgroup is similar to DB2 Express from a functional perspective; however as of the general availability of DB2 9.5, it includes all of the components in the High Availability Feature Pack for free (this used to be a chargeable component in DB2 9 Workgroup). Specifically, HADR, online table reorganization, advanced copy services, and the integrated TSA high availability software are included as part of a base DB2 Workgroup license. Aside from this, DB2 Express and DB2 Workgroup are differentiated by RAM and PVU restrictions.
Remember, that the DB2 server editions are very much a set of Russian dolls, so features that are part of DB2 Express are part of DB2 Workgroup; for example, STMM, backup compresion, pureXML, homogeneous federation, and more are all freely available in DB2 Workgroup too since these technologies are all a part of DB2 Express.
As of February 10th 2009, there are no Feature Packs available for DB2 Workgroup servers. Before this date, DB2 Workgroup offered the the pureXML, Homogeneous Federation, and the Query Optimization Feature Packs. As noted, the functionality that used to be part of the pureXML and Homogeneous Federation Feature Packs are now free in DB2 Workgroup.
The Query Optimization Feature Pack (formerly known as the Performance Optimization Feature Pack in DB2 9) provided license rights to use multidimensional clustering (MDC) tables, materialized query tables (MQTs), and query parallelism; these feautre are mainly associated with BI-related workloads. This Feature Pack was removed because the all of these features, and more, are part of all the InfoSphere Warehouse editions. What's more, InfoSphere Warehouse has corresponding editions that attempt to match the DB2 editions but each InfoSphere Warehouse edition ships with DB2 Enterprise as the core database engine. For example, InfoSphere Warehouse Starter Edition (which corresponds to DB2 Express) actually ships with DB2 Enterprise which includes MQTs, MDCs, query parallelism, and more (like data partitioning, table partitioning, and so on). When you look at it, you get a whole lot more warehousing for your buck with InfoSphere Warehouse and thus it doesn't make sense to offer this Feature Pack anymore.
Licensing and pricing
From a functional core-capability perspective, DB2 Workgroup and DB2 Express are relatively the same product, with the exception of the High Availability Feature Pack which is now included free-of-charge as of DB2 9.5. From a licensing perspective, these DB2 editions differ with respect to the architectural limits upon which it can run, namely:
- DB2 Workgroup is limited to 16 GB of memory. As of the general availability date of DB2 9.5, the database engine will throttle the amount of memory consumption such that it does not exceed the 16 GB limit for this edition of DB2. This means that you can install DB2 Workgroup on a server with more than 16 GB of memory - it's the DB2 server software that has the 16 GB limit. For example, if you had two databases on a single server with 32 GB of memory, you could split the 16 GB allocation across those databases (even if they were in different instances) but you could not exceed the 16 GB limit that applies cumulatively to all the instances and databases on your physical server.
- You can only install DB2 Workgroup on a server that has a rating of 480 or less PVUs (this changed in 2Q08 from the previous limit which was 400 PVUs).
- DB2 Workgroup servers are eligible, as of February 10th, 2009, for sub-capacity licensing; this was not the case when DB2 9.5 became generally available. In this example, the limits outlined earlier in this article apply to each virtualization session and you only pay for what's used. If you deploy more PVUs of DB2 Workgroup across multiple virtualization sessions than the total PVU rating of the underlying server, then you simply license the entire server PVU count. Different platforms and virtualization technologies have different pre-requisites which allow you to use this DB2 edition in a sub-capacity enviroment. Click here for details.
You can license DB2 Workgroup either by purchasing the total number of PVUs associated with the server or the virtualization session where the DB2 Workgroup software is installed, or by purchasing the total number of authorized users that will access the DB2 Workgroup server. (Refer to the DB2 Express section for more information on the definition of an authorized user.)
You need an authorized user license for anyone accessing the database; however, no matter how many users are accessing your DB2 Workgroup server, you need to minimally license it with 5 authorized user licenses. For example, if you had 25 users that needed to access two separate DB2 Workgroup servers, you would need to purchase a total of 50 authorized user licenses for these 25 users: 2 servers x 25 authorized users per server. Even if only 12 of these users were ever connected to the server at one time, all 25 users would still have to be licensed for each server (so you still need 50 authorized user licenses for this example). If you had a single DB2 Workgroup server and only 3 users, you would still need to purchase 5 authorized user licenses because of the minimum number of users required for this edition. Finally, when licensing a warm DB2 Workgroup standby server, you license it for 5 authorized users if the hot production server is also using the authorized user licensing model.
Changes in DB2 9.5
DB2 9.5 brings a number of significant (and positive) changes with respect to DB2 Workgroup licensing and packaging. From a licensing perspective, DB2 Workgroup 9.5's RAM limits are for the server or virtualization session, not the server as was the case in DB2 9. This affords companies a greater opportunity to leverage DB2 Workgroup on larger servers and more tightly couple this version of DB2 with mult-application consolidation efforts. Note that the RAM limits for DB2 9.5 are unchanged, it's the way it is counted that changed. Quite simply, if you have a server that had more than 16 GB of RAM, but still meets the PVU restrictions for the edition, you can use DB2 Workgroup as of DB2 9.5: this is something you couldn't do in DB2 9.
Another major change in DB2 9.5 is the removal of the High Availability Feature Pack as an optional add-on Feature Pack for DB2 Workgroup. Where did it go? It's in the product...for free! As of DB2 9.5, features like HADR, online table reorganization, advanced copy servers, and the integrated TSA clustering software are all freely available for use in DB2 Workgroup. Of course, if you cluster two DB2 Workgroup servers together for high availability you may have to license the standby server depending on the role it's performing.
DB2 9.5 also changes the taxonomy around standby servers from the rigid active/passive definitions to the IBM standard hot/warm/cold classifications; in addition, DB2 9.5 introduces some new licensing rules here that will benefit you as well. As previously mentioned, these details are covered in my article Licensing distributed DB2 Version 9.5 servers in a high availability configuration.
In addition to the free inclusion of the High Availability Feature Pack in DB2 Workgroup 9.5, the Workload Management Feature Pack was removed as an optional Feature Pack in this timeframe. This means that DB2 Query Patroller, the DB2 Governor, and their replacement Workload Management, are no longer available for this DB2 edition.
In DB2 9, you could purchase the DB2 Performance Optimization Feature Pack for DB2 Workgroup. This Feature Pack includes MDCs, MQTs, and query parallelism. When DB2 9.5 was released, this Feature Pack was renamed to the Query Optimization Feature Pack to avoid confusion with a Feature Pack by the same name that was available for DB2 Enterprise but contained difference components. However, as of the update to the DB2 9.5 licensing terms on February 10th, 2009, this Feature Pack is no longer available (as previously mentioned, you should consider the appropriate InfoSphere Warehouse Edition for all your data warehousing needs).
Finally, with the launch of the IBM POWER servers featuring POWER6 processors (most which are rated at 120 PVUs) the PVU limit for DB2 Workgroup was changed from 400 PVUs to 480 PVUs as of 2Q08; this allows you to run DB2 Workgroup on a 4 core POWER6-architected server.
Changes in DB2 9.5 on February 10th, 2009.
As previously mentioned, on February 10th, 2009, IBM announced an update to the license terms and conditions for DB2 9.5. The following changes occured:
- DB2 Workgroup became eligible for sub-capacity licensing; previously this was only available for DB2 Enterprise servers.
- The pureXML Feature Pack was removed and pureXML functionality is now freely available in all DB2 server editions and packages.
- The Homogeneous Feature Pack was removed and all DB2 editions (the DB2 Express-C and DB2 Express-C FTL packages do not have this feature) now support federation across the IBM relational database server family.
- Backup compression was removed from the Storage Optimization Feature Pack (which wasn't even available for DB2 Workgroup) and this feature is now available in DB2 Workgroup.
- The Query Optimization Feature Pack was removed as a potential add-on Feature Pack for DB2 Workgrouop servers which effectively removes the ability to leveage MQTs, MDCs, and query parallelism (features very benefitical for data warehouses) from a DB2 Workgroup server. It's strongly recommend you consider an InfoSphere Warehouse edition for all your data warehousing needs. As a side note, as of February 10th, 2009, there are no Feature Packs available for DB2 Workgroup.
DB2 Workgroup can play many roles in a business. It is very appropriate for small to medium businesses that need a full-fledged relational database store that is scalable and available, yet wouldn't benefit greatly from more than 16 GB of memory for the data server or more than 480 PVUs of processing power. Perhaps more than DB2 Express, DB2 Workgroup is especially well suited for enterprise environments that need small "silo" servers for line of business applications, or for departments that need enterprise services for lower transactional throughput applications.
Tell me about something cool running on DB2 Workgroup
TMW Systems (who recently acquired Maddocks) are makers of a leading logistics software application for trucking companies called TruckMate. They made the switch to DB2 a couple of years ago after evaluating both Oracle and SQL Server. Aside from their software supporting most of the hardware shipments for IBM Canada, frozen food retailer McCain Foods (with a legacy that dates back to the early 1900s), and product shipments for Hudson's Bay (Canada's largest retailer), their software can be found behind some of North America's most successful transportation companies. Bob Maddocks, CEO Maddocks Systems (this guy writes his own recursive SQL), really hit home the value they receive with DB2 Workgroup (their application also runs on DB2 Express) when noting that "The ability for us to service a small trucking company with 10 freight bills a day, to a company with 10,000 freight bills a day, makes scalability very important to us... " and "the autonomic features within DB2 are going to save me 30-35% of my support costs..." Scalability, low cost, ease of use, incredible cost savings as a result of free autonomics...and ensuring those McCains french fries with the smiley faces are always available at the local grocery store for my daughter Chloe? Hey...now even Chloe thinks DB2 is cool!
DB2 Enterprise Server Edition... unmatched scalability, resiliency, and flexibility
DB2 Enterprise Server Edition (DB2 Enterprise) is IBM's full function premier Web-enabled client/server database server which is available on all the supported distributed platforms where DB2 editions can run, namely: Linux, Windows, AIX, Solaris, and HP-UX (the previous links take you to the most up to date platform support information).
DB2 Enterprise is meant for large and mid-sized departmental servers and provides the most base features and services of any of the DB2 editions. For example, services like parallelism, MDCs, MQTs, table partitioning, and more are all provided free of charge in this edition of DB2 and aren't even available for DB2 Express and DB2 Workgroup installations via Feature Packs.
As of February 10th, 2009, more features have been added to the core DB2 Enterprise offering as well; pureXML, backup compression, and homeogeneous federation all now come free of charge with DB2 Enterprise - further extending the value proposition of this feature-rich edition.
There are no limits with respect to the amount of RAM you can leverage with this edition of DB2 (in fact, one world record DB2 Enterprise TPC-C result used almost 2 TB of memory for its buffer pools - that's more RAM than many companies have data). There is also no maximum Processor Value Unit rating for the underlying server or virtualization session where the DB2 Enterprise software is running.
DB2 Enterprise also has a set of exclusive Feature Packs (they aren't available for any other DB2 edition or package) that are designed to extend enterprise solutions with an even richer set of data services.
Feature Packs for DB2 Enterprise servers
As previously mentioned, DB2 Enterprise has its own set of unique Feature Packs that provide an extended set of advanced data services for this edition of DB2. Feature Packs for DB2 Enterprise must be licensed in the same way as the DB2 Enterprise data server is licensed, namely through an authorized user license or a PVU metric. However, some Feature Packs (such as the DB2 Storage Optimization Feature Pack) aren't available via an authorized user license and must be licensed via a PVU metric. This means that in order to purchase this Feature Pack you have to license DB2 Enterprise with a PVU license. As of DB2 9.5, you don't need to license a Feature Pack on a standby server.
The Feature Packs available for DB2 9.5 DB2 include:
- Performance Optimization Feature Pack: Delivers workload management services and a suite of reports and tooling for the performance tuning of DB2 databases.
DB2 9.5 introduced a set of brand new workload management services that are designed to replace the previous architecture that consisted of DB2 Query Patroller and DB2 Governor; collectively, these services are know as Workload Management, or the DB2 Workload Manager (DB2 WLM). This new architecture in DB2 9.5 provides ways to explicitly control CPU usage among executing work, control pre-fetching assigned to specific work in the database, detect and prevent so called run away or rogue queries, and closely monitor database activity in a number of different ways, to name just a few.
DB2 WLM provides a viable alternative to the DB2 9 workload management solution that was centered around DB2 Query Patroller and the DB2 Governor. Both of these products are still fully supported in DB2 9.5, and can operate in a DB2 9.5 WLM environment, but they will begin to be phased out over time and replaced with DB2 WLM.
The Performance Optimization Feature Pack also includes the DB2 Performance Expert. The DB2 Performance Expert simplifies performance management and tuning. It offers DBAs a consistent view into their instances, subsystems, databases, and applications for the DB2 server upon which it is installed. For example, it has a set of pre-canned reports to identify resource shortages and exception conditions in DB2, locking conflicts and deadlocks, applications, and SQL statements causing high workload. It also includes a set of detailed reports about SQL, database and buffer pool activity with trend analysis and what-if hypothesis testing for optimal performance evaluation, and more. The version of the DB2 Performance Expert that is part of this Feature Pack can only be used for DB2 servers running on Linux, UNIX, and Windows, whereas the DB2 Performance Expert tool when purchased outside of this Feature Pack can be used across the DB2 family. Although this feature pack isn't available for DB2 Express and DB2 Workgroup servers, you can separately purchase the DB2 Performance Expert for these DB2 editions.
- Advanced Access Control Feature Pack: Provides label-based access control (LBAC) protection services for data stored in a DB2 Enterprise server. Using this feature, data stewards can control read and write access for users and groups at the table column and row level. LBAC controls access to table objects by attaching security labels to them. Users attempting to access an object must have its security label granted to them. When there's a match, access is permitted; without a match, access is denied and data is hidden.
The Advanced Access Control feature provides a security framework that can be structured around a hierarchal representation of the business entity, an array, tree, or some combination thereof. In addition to this, LBAC can be used to control access to XML documents stored in pureXML columns at the document level.
- Geodetic Data Management Feature Pack: Provides spatial analysis with consideration for the curvature of the earth (which is the main differentiator from the free Spatial Extender that's part of every DB2 9 edition or package). The Geodetic Data Management Feature is used for advanced analytics that need to minimize the distortion caused by projections of the earth's surface -- it is especially useful for military defense applications, weather applications, and so on.
For example, with the DB2 Spatial Extender, you 'flatten' the earth using different projections (for example, the Mercator projection) and then tolerate or account for the margin of error in your application. This may work fine when trying to locate a caller's house for a 911 response call (being off by 10 feet isn't likely to hurt). However, national security applications such as a missile defense systems need more precise measurements and can't tolerate the distortion caused by 'flattening' the earth's surface into LATITUDE and LONGITDE (LAT/LONG) co-ordinates. This is where the Geodetic Data Management Feature comes in.
In laymen's terms, if distortions like the fact that Greenland is 1/14 the size of Africa (which did not seem to be the case when I think back to my elementary school atlas) would present a problem with your application, then this add-on is for you.
- Mobility on Demand Feature Pack: Provides the components of DB2 Everyplace Enterprise at a reduced cost for use on your licensed DB2 Enterprise server. This Feature Pack allows you to extend the reach of your enterprise data to an unlimited number of mobile devices so long as they synchronize their data over the DB2 Enterprise server for which this Feature Pack was purchased.
- DB2 Storage Optimization Feature Pack: Provides storage compression services to optimize the performance and footprint of your data. This Feature Pack provides access to the deep row compression technology first introduced in DB2 9. The DB2 Storage Optimization Feature Pack included backup compression in DB2 9, but backup compression (as of February 10th, 2009) is now freely available for all DB2 editions and DB2 Express-C FTL servers (it isn't available in DB2 Express-C).
Row Level Compression services were first introduced in DB2 9 and caught the database industry by storm. In DB2 9.5, they were expanded to include autonomic dictionary creation in DB2 9.5. These services provide row level compression from disk to the buffer pool and yields impressive potential for memory and disk savings (internal tests average about around 65% disk savings with these services) and performance speed-up for I/O-bound systems (and what data warehouse systems aren't I/O bound; it's easy to remove a memory or CPU bottleneck after all). But there's more.
Consider for a moment the other implicit benefits that arise from compression. Trust me, it extends beyond disk savings. Think about all those backups that you're mandated to keep - not only will they be smaller, they'll run faster because you're backing up less data. Think about Q/A and test environments. Consider for a moment that if the data is compressed on disk and in the memory buffers, the extra data you could get in those buffers. This means not only will performance likely improve, but maintenance operations like RUNSTATS and REORG could run faster too. Take all of this into account and consider the fact that DB2 9 can support over 2,000 rows on a single data page (versus the 255 limit in DB2 8) and you've got a pretty compelling I/O bottleneck remover on your hands. Finally, consider the environment chargeback for your storage; not only will it save you money, it'll reduce the ecological footprint of your IT solution. The point here is that compressing your data is more than just saving disk space - and it's environmentally friendly too!
Just how significant and unique are these compression services in DB2 9? InfoWorld noted the following when reviewing DB2's row compression: "The new row-level compression in DB2 is one of my favorite features. It’s actually table-level compression and it can result in a direct storage savings of 45 to 75 percent... If I had to pick one feature that puts DB2 ahead of any of the other databases, this would definitely be the one, because it’s going to be far more useful to the largest portion of the client base. I would imagine that Oracle and Microsoft are both scrambling to be the next to bring this to market."
Licensing and pricing
You can license DB2 Enterprise in one of two ways:
- By purchasing the total number of PVUs associated with the server or the virtualization session where you plan to run the software - this will allow for an unlimited number of users and devices to access the DB2 Enterprise server. DB2 Enterprise has always been eligible for sub-capacity pricing (it was just added to DB2 Express and DB2 Workgroup as of February 10th, 2009 and was always available for DB2 Express-C and DB2 Express-C FTL). For example, you can create an LPAR on an IBM POWER server such that it uses half of the a server's PVUs and subsequently license DB2 Enterprise for just those PVUs as opposed to the PVU rating of the entire server. What's more, you can license DB2 Enterprise (as with any DB2 edition that support an operating system with this technology) for Dynamic LPARS (DLPARS) where resources are dynamically moved into and out of the LPAR where DB2 is installed based on a pre-defined set of business rules - this seems to be unique within the industry. Different platforms and virtualization technologies have different pre-requisites which allow you to use this DB2 edition in a sub-capacity enviroment. Click here for details. If you are licensing DB2 Enterprise as a warm standby (for example, in an HADR configuration), you only need to license it for 100 PVUs.
- By purchasing the total number of authorized users that will access a specific DB2 Enterprise server (refer to the DB2 Express section for more information on the definition of an authorized user). DB2 Enterprise has a minimum set of authorized users that must be licensed, just like DB2 Express and DB2 Workgroup. However, instead of the minimum 5 authorized users per server that's associated with DB2 Express and DB2 Workgroup, you need to minimally license DB2 Enterprise with 25 authorized users for every 100 PVUs for which your server or virtualization session is rated. It should be noted that for every installation there is a break even point at which time it makes more sense to license the server via the PVU metric. If you are licensing DB2 Enterprise as a warm standby, for example, in an HADR configuration, you only need to license it for 25 authorized users (the required minimum for 100 PVUs).
For example, if you're running DB2 Enterprise on an IBM Power 5 QCM-based System p server with a single quad core processor, you would at least have to purchase 50 authorized user licenses because the total PVU rating for this server is 200 PVUs (200 PVUs/100 PVUs = 2 x 25 authorized users). If you are running DB2 Enterprise on a single Sun Niagara server that had a single hexacore processor, you would at least have to purchase 50 authorized user licenses because the PVU rating for this server is 180 PVUs and when you cross a 100 PVU threshold you round up to the next tier to establish the minimum number of users.
As another example, if you had 75 users that needed to access two separate DB2 Enterprise servers, you would need to purchase a total of 150 authorized user licenses for these 75 users: 2 servers x 75 authorized users per server = 150 (75 for each server). However, if both of those servers had 4 dual core Intel XEON-based processors, you would need a minimum of 200 authorized user licenses (100 for each server) because of the minimum number of authorized users that accompany DB2 Enterprise (25 users for every 100 PVUs on the server): ((( 4 sockets x 2 cores = 8 cores) x 50 PVUs per core = 400 PVUs)/100 PVUs = 4) x 25 authorized users = 100 x 2 servers = 200 authorized users.
Changes in DB2 9.5
The Database Partitioning Feature (DPF) is no longer available as an add-on Feature Pack for DB2 Enterprise. The feature hasn't gone away, but since it's especially suited for data warehousing, it's been included in all of the InfoSphere Warehouse editions and the OEM SAP agreement.
Changes in DB2 9.5 on February 10th, 2009.
As previously mentioned, on February 10th, 2009, IBM announced an update to the license terms and conditions for DB2 9.5. The following changes occured:
- The pureXML Feature Pack was removed and pureXML functionality is now freely available in all DB2 server editions and packages.
- The Homogeneous Feature Pack was removed and all DB2 servers (the DB2 Express-C and DB2 Express-C FTL packages do not have this feature) now support federation across the IBM relational database server family free of charge.
- Backup compression was removed from the Storage Optimization Feature Pack and this feature is now available in DB2 Enterprise free of charge.
DB2 Enterprise should be strongly considered for any applications that require limitless flexibility (for example, the use of table partitioning) and scalability (for example, there are no PVU or RAM limits). It should also be leveraged when rich extensions such as advanced security control services (like label-based access control), storage optimization services (like deep row compression), and so on are needed. With DB2 Enterprise, there are few capacity planning considerations outside of the optimal balance of resources and a full gambit of features available for use.
Tell me about something cool running on DB2 Enterprise
Daimler (formerly known as Daimler Chrysler) is a company based in Auburn Hills Michigan (USA) and Stuttgart (Germany) that generates over $192 billion in revenues on sales of 4.7 million vehicles (which makes it the world’s number three auto manufacturer) and has more than 350,000 employees world wide. Daimler Chrysler brands include: Mercedes-Benz, Chrysler, Jeep, Dodge, and Freightliner, amongst others. When you're talking larger enterprise, Daimler Chrysler is it.
DaimlerChrysler wanted to implement a data platform that would enable them to sense everything from shifting customer preferences to changed shipment dates, and have the built-in means to respond dynamically -- they chose DB2 as part of this platform. Dr. Seshu Bhagavathula, Director for Technology Strategy, DaimlerChrysler, notes "The solution we built with IBM provides us with a flexible and efficient means to break down silos across DaimlerChrysler, and in so doing has established the foundation for us to become a nimbler, more responsive company..."
Breaking down silos of information with DB2, and those Dr. Z (Zetsche) commercials (though I'm biased with respect to the initial of their CEO's last name)...now that's cool!
Bang & Olufsen (B&O) is perhaps one of the most well known high end audio equipment manufacturers in the world today. The company, founded in Denmark by Peter Bang and Sven Olufsen in 1925, is not only well known for their engineering and sound quality, but the sheer beauty of their products. B&O moved their SAP implementation onto DB2. Peter Munk (head of B&O IT) notes: "With IBM, we no longer have performance issues, and we are free to focus on developing the next stage of our business..."
Without a doubt, the company with the coolest stereo equipment designs in the world using DB2... now that's cool!
For developers only...
For application development, a special offering called Database Enterprise Developer's Edition (DEDE) is available. This is a reduced price offering that gives application developers access to most of the DB2 features and editions, as well as a set of Informix products and DB2 Connect for the purposes of development, evaluation, demonstration, and testing of application programs. It is licensed on a per developer basis. Depending on the number of developers you have, it may or may not be a more cost effective solution for the processes that make up the application development lifecycle.
Wrapping it up...
As you can see, DB2 not only runs on many platforms, but also has flexible edition structure that allows you to find the right price point and services for the right solution. Considering the licensing changes on February 10th, 2009, you'll not only find that DB2 packaging has become a heck of lot more simplified, but the servers offer more and more value; considering the state of the economy, you can never go wrong with more value.
Scaling DB2 is seamless from edition to edition, and this gives you the ability to leverage your DB2 investment as your business grows. Whether you are an SMB tracking sales over the Internet, a mobile solutions provider, or a Fortune 500 company trying to analyze sales data to put the right products into the right hands at the right time, there is an edition of DB2 that's right for you!
- "Which DB2 9.5 client connectivity option is right for you?" (developerWorks, Feb 2009): Learn the details of all the various client connectivity options.
- "Licensing distributed DB2 9.5 data servers in a high availability environment"(developerWorks, Feb 2009): Ensure you're licensing your DB2 for Linux, UNIX, and Windows data servers correctly in a high availability environment.
- "Compare the distributed DB2 9.5 data servers" (developerWorks, Feb 2009): Compare the DB2 for Linux, UNIX, and Windows editions in a side-by-side comparison table.
- Visit the developerWorks resource page for DB2 for Linux, UNIX, and Windows to read articles and tutorials and connect to other resources to expand your DB2 skills.
- Learn about DB2 Express-C, the no-charge version of DB2 Express Edition for the community.
- Visit the developerWorks Information Management zone: Find more resources for DB2 developers and administrators.
- Stay current with developerWorks technical events and webcasts.
Get products and technologies
- Download a free trial version of DB2 Enterprise 9.5.
- Now you can use DB2 for free. Download DB2 Express-C, a no-charge version of DB2 Express Edition for the community that offers the same core data features as DB2 Express Edition and provides a solid base to build and deploy applications.
- Build your next development project with IBM trial software, available for download directly from developerWorks.
- developerWorks blogs: Get involved in the developerWorks community.