DevX Skillbuilding for IBM DeveloperWorks
DevX Skillbuilding for IBM DeveloperWorks
DevX Skillbuilding for IBM DeveloperWorks
Get regular email alerts when we publish new features!
DevX Update for IBM developerWorks

More Newsletters
 Print Print
Removing the Barriers to Software as a Service with DB2 Express-C (cont'd)

What Is DB2 Express-C?
Last year, IBM began offering a free version of its enterprise-level DB2 product called DB2 Express-C. Free to download, deploy, and redistribute, Express-C doesn't skimp on features. For instance, where the free database offerings from both Microsoft and Oracle both have an artificial cap of 4G on data, Express-C allows unlimited disk space for data storage.

Express-C also supports up to 4G of RAM, as opposed to 1G for Microsoft and Oracle. And in a nod to the practicalities of our new multi-core world, it supports up to two processors, each with multiple cores, not just the one supported by competitors. All of this makes Express-C ideally suited for prototyping a SaaS, especially when you consider that it uses the same engine as all other DB2 offerings, making it extremely scalable and adaptable to the growth of your service.

For example, assuming your proof of concept is successful, which of course it will be, your next step would likely be the Express-C Support offering. For a straightforward subscription rate of $2995 per server per year, you get additional features that make sense at your current stage of development, such as upgrade protection, High Availability Disaster Recovery (HADR), and replication, including server-to-server bi-directional replication. And of course, you get 24/7 worldwide technical support. As you can continue to scale, the support option sets the foundation for a smooth transition to enterprise-level members of the DB2 family.

How DB2 Express-C Fits into a SaaS Architecture
Based on scalability alone, Express-C serves the SaaS architecture admirably. But it fills other needs, as well.

Uptime
As mentioned, your app must handle spikes in traffic and heavy loads. Reliability, quality of service, and uptime all make or break a SaaS. DB2 has built a reputation for solid, robust performance and that reputation remains undiminished with Express-C. One informal stress-test on a PHP app showed around 10,000 concurrent database connections in Express-C, though these numbers aren't officially reported by IBM. In addition, Express-C comes with its own self-tuning features. Once you install Express-C, you can let it manage itself, adjusting automatically to handle different workloads at different times.

Scalability
For a product like MySQL, scaling up means adding more hardware (although the open source fans would argue it means a move to PostgreSQL). Regardless, when the inevitable move to an enterprise-strength database product comes, it involves a difficult and painful data migration. Since it uses the exact same architecture as other members of the DB2 family, Express-C offers a key advantage over the typical upgrade path. To migrate, just move your database to the new server, install the server with different license keys and point your app to the new database.

Transactional Support and Other Features
Most SaaS applications will require transactional support somewhere in the user's workflow. MySQL doesn't have it, Express-C does. In fact, if you do a feature-by-feature comparison of Express-C to other databases at corresponding licensing levels, you should find that Express-C offers more SaaS-friendly features at every level. For example, Express-C's SQL Optimizer cuts through syntax hell and lets you focus on the data while writing SQL queries, a huge boon during SaaS development.

Previous Page: Building a SaaS Architecture Next Page: Express-C and XML
Page 1: Building a SaaS ArchitecturePage 3: Express-C and XML
Page 2: What Is DB2 Express-C? 
Submit article to:
Featured Resources from IBM