As the database market continues to grow and mature, it's sometimes hard for developers to get excited when a new version of a database server is released. The day after the upgrade, you're still writing the same SQL using the same tools you did before. And if you're a command-line junkie, chances are you won't notice a lot of difference anyway.
With the release of DB2 9 (formerly code-named 'Viper'), IBM has finally given developers something to get excited about. In this release, IBM now provides native XML support, an updated set of developer tools and enough enhancements in administration, security and memory management to make even the most battle-worn DBA give it a second look. In this review, we'll examine some of the new features in DB2 9 from a developer's perspective, starting with the tools provided in this release.
Updated developer tools
If you have used DB2 before, you will have either loved or hated the developer and administrative tools provided in previous versions. Devotees will be happy to know the tools are all still there and have been updated for this release. You can still use the Control Center to manage your database and the command line is still at your beck and call if you need it.
However, if you weren't too impressed with the tools previously provided with DB2, you definitely need to have a look at the new DB2 Developer Workbench (DWB). The DWB is based on the Eclipse framework and provides an environment where you can create XML queries, SQL scripts, stored procedures, XML schema documents and user-defined queries.
Using the DWB, developers and administrators can create projects that can be used to create and work with most database objects within a familiar environment. When you first enter the DWB, you will be in the 'Data' perspective, which you can use to create new projects to design databases, XML schemas and so on. and any projects you create will be shown in the Data Project Explorer.
From the Data Project Explorer window you can create a number of different database models, including the physical, logical, domain and glossary models for your database, as well as the DDL statements that will be used to create the physical database itself.
There is also a Database Explorer window, which can be used to connect to your database and browse the objects that is contains. You can filter the database contents from the Explorer, as well as invoke a SQL editor directly from the Explorer menu.
And because the DWB is built on Eclipse, there are a number of other fantastic developer features included, among them the ability to track tasks, problems, errors and so on, directly from within the workbench, as well as a number of wizards for querying data with XQuery and SQL, creating new stored procedures, user-defined functions and more.
The workbench is also tightly integrated with CVS, which makes working in a team environment easier, in addition to providing much-needed support for source control. Leveraging the Eclipse framework was a smart move for IBM and developers who are already familiar with the Eclipse environment should feel right at home.
For developers who need to integrate DB2 into their .NET applications, there is also an updated DB2 data provider included with this release, as well as add-ins for the Visual Studio.NET design environment.
With this release, DB2 now includes two different processing engines, one for relational data and one for XML. IBM has labelled this technology 'PureXML' and now stores XML directly in the database, enabling developers to use SQL or XQuery to access the data. This will have a real impact on XML-intensive applications and cut down on development time.
IBM has also introduced additional support for database partitioning, with support for range or table partitioning, hashing and multi-dimensional clustering. For experienced database developers, these partitioning options provide more flexibility in storing data across different servers, managing updates or backups by partition and more. In addition to partitioning improvements, DB2 9 is also optimised for data storage and claims the new technology can reduce required disk space by 45 to 69 percent. This should reduce the need for additional disk space and the compression algorithms used ensure that you won't lose any data in the process.
On the management site, DB2 9 also includes self-tuning memory settings that can determine the best configuration automatically based on server usage patterns. The memory tuner should eliminate some of the manual tweaks database administrators may have made in the past, in addition to increasing the performance of each server.
There are also new features aimed at day-to-day administration, including restarting recovery operations, redirected restores and database rebuilds from table space backup images. Administrators will love the ability to change table attributes without actually having to drop and recreate the table, while new templates make it easy to copy database and model schemas. This is especially handy when you need to take a production database schema and make multiple copies for testing, migration and so on.
From the security side of things, DB2 9 includes 'Label-based Access Control', which allows administrators to create labels on rows of data which can be used to control security access. There are also several security enhancements designed to cut down on round-trips to the database to check security credentials.
One of the nice features of DB2 is that it supports a wide range of platforms, including Windows, Linux and AIX in both 32-bit and 64-bit implementations. There are four versions of DB2 9 that are shipping, including Express, Workgroup and Enterprise and pricing varies (IBM Australia has quoted approximately AU$275 per user for the Express edition). The fourth version of DB2 9 is the 'Express-C' edition, which is free and includes the ability to redistribute the database and server.
The Express-C edition is the logical choice if you're looking to develop your own applications on DB2 and eventually distribute them to other users, or if you are looking to get up to speed with the new version before upgrading.
DB2 9 has significantly raised the bar for database development. The introduction of a pure XML solution and the Express-C edition will make DB2 competitive among developers creating and distributing XML-based applications. For existing DB2 customers, the enhancements to administration features and functionality could make it a compelling upgrade.
Besides, who can ignore the slick new Developer Workbench? With the DWB, IBM should be able to claw back some ground from developers who in the past may have looked past DB2 for a platform that was easier to develop on.
When put up against recent database server releases from Oracle and Microsoft, DB2 is still a solid contender and can go head-to-head with both platforms. The XML features in DB2 9 could definitely swing more licenses IBM's way, and with the world focused on XML and SOA-based applications, it may be a good bet.
IBM DB2 9
Company: IBM Australia
Price: The Express edition starts at AU$275 per user