Thursday, December 10, 2009

Getting Started with Data Studio for DB2

Getting Started with Data Studio for DB2 is a new book available for free download.

Data Studio is a tool for administering DB2 and IDS databases. There is Data Studio Standalone, which allows both for administration and for development of SQL/XQuery scripts and procedures. There is also Data Studio IDE, which includes all that and adds the ability to develop Java stored procedures and web services.

The book is a follow up on Getting Started with DB2 Express-C.

Feel free to grab the new DB2 Express-C 9.7.1 and give it all a try.


Leons Petrazickis
DB2 Express-C Community Team

Thursday, December 03, 2009

Free DB2 vs SQL Server + Cloud

There is an upcoming episode of the DB2Night Show that will contrast DB2 Express-C with Microsoft SQL Server as well as touch on the Cloud, Oracle, MySQL, and other subjects:
The DB2Night Show Episode #7- 4 Dec 2009 - SQL Server vs. DB2

Secure your seat in our virtual real-time studio audience as we take a look at SQL Server Express versus DB2 Express-C. Our special guest will be Leon Katsnelson from IBM. If you have responsibility for SQL Server and DB2, or want to know the differences, or are looking at low cost commodity hardware database options, you won't want to miss this show!

The DB2Night Show has a Twitter account - please follow for the latest news about new episodes and interactive discussion. Use the hash tag #DB2Night in your Tweets.

We hope you will join us and participate as a guest or via The more people we have involved during the recording of the show, the more fun we'll have. One studio audience member will be randomly selected to win an gift certificate - just in time for the holidays!

Friday December 4th
11am Eastern, 10am Central, 9am Mountain, 8am Pacific


Leons Petrazickis
DB2 Express-C Community Team

Tuesday, December 01, 2009

Get DB2 Express-C 9.7.1 now

The 9.7.1 refresh of the DB2 Express-C free database server is now available:
What's new

There are many new fixes and features including:
- OUT and INOUT parameters for user-defined functions
- Global variable assignment in nested contexts
- Enhanced diagnostics and logging
- Progress indicators for RUNSTATS and reorg of tables and indexes
- Transparent LDAP on Linux and Solaris
- Improved .NET integration
- Many other improvements


Leons Petrazickis
DB2 Express-C Community Team

Wednesday, September 30, 2009

Webinar: Using IBM DB2 on Amazon EC2 cloud

There's an upcoming web seminar on using IBM DB2 on Amazon EC2. EC2 is a cloud offering from Amazon that lets you host any software on a virtual machine on the public internet.

IBM DB2 - Using the most flexible enterprise-class database on Amazon EC2
Date: 2009-Oct-1
Time: 12:00 EDT, 17:00 London
Length: 1 hour
Speakers: Mark Wilding, Leon Katsnelson

IBM DB2 database software running on Amazon EC2 lets you get the most out of today's tough economic climate that is charaterized by reduced budgets and freezes on capital expenditure. IBM and AWS provide a lot of flexibility for cloud computing, including free DB2 AMIs, low cost by-the-hour production-ready DB2 AMIs, and the ability to bring your existing DB2 licenses to the cloud. With robust capabilities for the most demanding workloads, and tons of autonomic features, DB2 is ideally suited for cloud environments.

Join us to learn how to quickly develop and deploy new and existing applications using DB2 and Amazon EC2. This session will walk you through the DB2 AMIs and highlight some of the unique capabilities in DB2, including the new features in DB2 9.7 that make it much easier to move applications from Oracle to DB2.

Register now
This is part of a whole day of sessions that cover Amazon Web Services, Informix, DB2, WebSphere, Lotus, and other topics.

Friday, September 18, 2009

Burn DVDs of DB2 Express-C

The DB2 9.7 Discovery Kit is now out. It includes the free DB2 Express-C database server, the free Data Studio administrative tool, and a number of other tools and accessories. The kit is available in ISO format, which is a DVD data image that can be written to disk by most DVD burners:If you are simply looking to deploy DB2 Express-C or Data Studio on your machine, you can quickly download them here:Cheers,

Leons Petrazickis
DB2 Express-C Community Team

Thursday, August 13, 2009

DB2 driver for PHP

The Windows build of the ibm_db2 extension for PHP is currently available for download at the IBM Database Wiki. The DB2 at UofT blog recently posted some installation instructions.

Linux users can get the extension directly from PECL.


Leons Petrazickis
DB2 Express-C Community Team

Wednesday, July 22, 2009

Webinar - Database Scalability in the Cloud

On Tuesday July 28, there's a live web seminar on scaling database performance:
Join IBM and xkoto to get beyond the hype of the cloud and learn how to ensure scalability for mission-critical applications in the cloud. We'll show you step-by-step approaches to scaling transaction-intensive workloads and help you avoid some of the pitfalls along the way. You'll also see a live demonstration of IBM DB2 and xkoto GRIDSCALE scaling database workloads across active-active database servers hosted on Amazon EC2.

Attend this Webinar to learn how to:
* Understand Amazon's server and storage infrastructures
* Avoid the scalability constraints in the cloud
* Provision and configure database workloads
* Scale databases horizontally to meet application demand

Speaker Panel:
* Leon Katsnelson, Program Director, IBM
* Ariff Kassam, CTO, xkoto
* Rav Ahuja, Senior Product Manager, IBM
* Paul Lapointe, Solutions Architect, xkoto

Scalability in the Cloud: Fact or Fiction?

Tue, Jul 28, 2009 12:00 PM - 1:00 PM EDT
Tue, Jul 28, 2009 5:00 PM - 6:00 PM London
Tue, Jul 28, 2009 9:30 PM - 10:30 PM India


Leons Petrazickis
DB2 Express-C Community Team

IDUG backs up DB2 logs to Amazon S3

Rob Williams recently did a lot of volunteer work to rebuild the IBM DB2 User Group (IDUG) website. It now runs on the free DB2 Express-C database.

For easy backup and recovery, Rob set up archiving of DB2 logs to Amazon S3.
There are no upfront costs; you only pay for what you use. The current price for this service is around $0.150 per GB per month and $0.10 per GB for data transfer. By the time you factor in all the costs for a tape system and Tivoli storage manager, this can be a very cost effective way to backup small DB2 databases with a proven technology.
Check out Rob's scripts and maybe consider setting up your own solution.


Leons Petrazickis
DB2 Express-C Community Team

Monday, July 20, 2009

Run DB2 Express-C on IBM Developer Cloud

IBM has just launched the Develop and Test on the IBM Developer Cloud site. Right now this is a free service where you can sign up and create virtual machine instances of IBM products like DB2 Express-C running in the cloud (i.e. on the internet).

So, if you want to set up a new DB2 server in a couple minutes, just mosey over to the IBM Developer Cloud, register, and instantiate a machine or two. You'll then be able to access it like any other copy of DB2:
- via DB2 command line
- from Data Studio
- from your PHP or Rails web application
- remotely via SSH
- etc.

Very handy.

On Windows, I personally like to use PuTTY for SSH and WinSCP for SCP and SFTP (basically, FTP over SSH).

Using DB2 Express-C on IBM Developer Cloud from ChannelDB2 on Vimeo.


Leons Petrazickis
DB2 Express-C Community Team

Monday, June 22, 2009

What's new in DB2 9.7

Raul Chong just posted an excellent overview of what's new in DB2 Express-C 9.7:

1) Locking enhancements
With the new Currently Committed (CC) semantics of the CS isolation level, writers (i.e: UPDATE) will not block readers (i.e SELECT). Readers will read the currently committed value prior to the update operation. This will improve concurrency and reduce deadlocks.

For example, say you have a table T1 with the following contents:

Raul Chong
Jin Xie

Now say an application AppA issues this statement, but does not commit:
update T1 set lastname = 'Smith' where firstname = 'Raul'

Next, application AppB issues this statement:
select lastname from T1 where firstname = 'Raul' with CS

Prior to DB2 9.7, this last statement would hang because it would wait for the exclusive lock held by the update statement of AppA (the writer) to be released. With DB2 9.7 and currently committed enabled (the default for new databases), the statement would return the currently committed value which was Chong.

2) Performance enhancements
For dynamic SQL, DB2 9.7 introduces the 'statement concentrator' feature, which should improve the performance of programs developed in languages such as Ruby and PHP. As its name suggests, the statement concentrator will look for SQL statements that look exactly the same but where the parameter value is different, and will 'concentrate' those statements into one. For example:

SELECT name FROM employee WHERE empid = 10
SELECT name FROM employee WHERE empid = 20
SELECT name FROM employee WHERE empid = 30

will be concentrated into:
SELECT name FROM employee WHERE empid = ?

The question mark (?) represents a parameter marker. At runtime, DB2 will supply the value of 10, 20 and 30 for this particular example. This will provide a huge performance boost. In prior releases, DB2 would treat each statement as unique, and would compile and execute each statement separately. However, the access plan for all these statement was likely the same, so it was a waste of resources to calculate it over and over again. With statement concentrator DB2 will compile the statement only once to obtain the access plan for the statement, and then it will reuse it.

Other performance improvements is the ability to store small LOBs inlined with the data rows. This improves performance for these LOBs as they can be access through the bufferpool.

3) Application development enhancements
A large number of improvements is now available to application developers:

Triggers and UDFs now have enhanced SQL PL support. Before DB2 9.7 they only supported inline SQL PL which is a small subset of SQL PL.

For SQL PL stored procedures, default parameter values and assignment of parameter values by name have been included. In addition, new Boolean, cursor, row and array data types are now supported.

ROWNUM and ROWID are supported

DB2 9.7 now supports the concept of a module (similar to the concept of 'Package' in Oracle). A module can bundle related database object definitions

Implicit casting between data types is now allowed. This will be useful for dynamic languages like PHP and Ruby. For example, this is now allowed:

create table t1 (col1 int)
select * from t1 where col1 = '42'

In the example, the string '42' can now be compared to the integer column col1.

There are many new functions for string, date manipulation and so on.

DB2 now supports Create Global Temporary Tables (CGTTs). These are temporary tables where the data is only available during the session. The difference between CGTTs and Declared Global Temporary Tables (DGTTs) is that in the case of CGTTs, the table definition is persisted in the DB2 catalog tables. So once a CGTT is created, it can be used by any session without having to create it again. The rows will be independent per session though.

Public aliases (a.k.a Public synonyms) for global object referencing have been added. Prior to DB2 9.7 all DB2 objects had a unique two-part name. The first part was the schema name, and the second part was the object name. By creating public synonyms, you can reference to objects without the schema name regardless of the user ID connected to the database. For example:

connect to sample user arfchong using mypsw
create public synonym raul for table arfchong.staff
select * from raul ## works OK
select * from arfchong.raul ## Error
connect to sample user db2admin using psw
select * from raul ## works OK

DB2 9.7 has relaxed its object dependency rules to allow for more flexible schema evolution. For example say you had this dependency:

View2 --> View1 --> Table1

If you wanted to change View1, you first had to drop View2 because it was dependant on View1. Now this is not required. DB2 will perform the revalidation of View2 automatically for you either immediately or when the view is used again. This can certainly help developers when testing their applications, and when they need to add columns, or make other changes to the database schema.

Other improvements in the schema evolution area are: Columns can be renamed, the REPLACE option has been added to several CREATE statements so there is no need to issue a drop statement therefore all privileges on the object remain. ALTER COLUMN can now use SET DATA TYPE for all types.

The Visual Studio add-ins have been enhanced

There have been JDBC and SQLJ enhancements to support some of the things mentioned earlier

The TRUNCATE SQL statement is now supported for fast deletes

New data types such as NUMBER, VARCHAR2, TIMESTAMP with a precision are now supported

Better support for Python-DB2 applications

pureXML enhancements such a support for Declared Global Temporary Tables is now available

4) Storage enhancements
Every time I teach DB2, I often get the question about "how much can DB2 store?". And almost on every release, I'm surprised about how our developers at the lab keep pushing the limits. For DB2 9.7, the size of large and temporary table spaces limits have been increased fourfold. For example, a 32k page large table space can now store 64TB. Previously it could 'only' store 16TB.

5) Security enhancements
In the past I used to compare SYSADM with 'God' because he could pretty much have access to everything in DB2. With DB2 9.7 the security model has been enhanced to allow for separation of duties. This minimizes the risk of data exposure and helps with government compliance requirements. There are several new authorities including DATAACCESS and ACCESSCTRL. These authorities can be given to users to access data, and grant access to data respectively. What this means is that a security administrator (SECADM) could revoke SYSADM or a DBADM these authorities, and therefore they would not be allowed to access any data!

6) Manageability enhancements
Now you have the ability to move tables online to a different table space. This means that while users are accessing a table, you can change where the table storage resides.

7) Installation enhancements
Now you can use the db2val command to verify if your DB2 installation is OK.

More details are available in the Information Center.


Leons Petrazickis
DB2 Express-C Community Team

Friday, June 19, 2009

DB2 Express-C 9.7 available for download

DB2 9.7 is out, and with it DB2 Express-C 9.7:

In addition to performance improvements, there are new features:
- New data types such as NUMBER, VARCHAR2, etc.
- Easier casting between data types
- Default parameter values and assignment by name
- Boolean, cursor, row and array data type support in procedures
- ROWNUM() and ROWID()
- Improved locking for better concurrency
- Ability to recompile statements without parameter markers
- Ability to re-use old access plans across fixpack updates
- More functions for string and date manipulation
- Better Python support for DB2


Leons Petrazickis
DB2 Express-C Community Team

Monday, June 08, 2009

Video of the DB2 9.7 Overview chat

A video of the webcast overview of DB2 9.7 is now available on ChannelDB2. In it, Sal Vella (VP of Development) and Tim Vincent (Chief DB2 LUW Architect) discuss new features such as deep compression and answer audience questions.

DB2 9.7 will be released in the near future.


Leons Petrazickis
DB2 Express-C Team

Friday, June 05, 2009

COUNT(column) is fast in DB2

Antonio Cangiano just set up a simple benchmark comparing COUNT(column) performance between untweaked DB2 Express-C and MySQL.

The results:
DB2 has very quick COUNT(column) performance

Tuesday, May 19, 2009

Monitor DB2 with the Technology Explorer

Technology Explorer for IBM DB2 is a nifty and light-weight monitoring console written in PHP. It's a fast and modern way to take a look at a database's internals and get a very specific idea of how things are. For example, it presents tablespace details in an accessible way.

It includes wizards and tutorials that simplify common tasks. At 1.7MB, it has a lot of value and power.

You'll need Apache and PHP with the ibm_db2 extension. A simple way to get all of the above is to [follow these steps].


Leons Petrazickis
DB2 Express-C Team

What are you working on with DB2?

I just created an informal round-robin forum thread to see what everyone is working on with DB2 Express-C. It's an exercise in community participation, if you will. Myself, I put together... ah, but you have to read the thread.;-)


Leons Petrazickis
DB2 Express-C Team

Monday, April 27, 2009

DB2 9.7 Overview - Chat with the Lab

New event coming up:
DB2 Chat with the Lab
Wednesday May 6, 2009,
11:30 AM Eastern / 10:30 AM Central / 8:30 AM Pacific /
4:30 PM London / 5:30 PM Munich

DB2 9.7 Overview

IBM recently announced that DB2 9.7, the next release of DB2 for Linux, UNIX, and Windows, will be available in June 2009. This release of DB2 contains new features to:
- Reduce storage-related costs for data
- Improve database administrator productivity
- Improve developer productivity, and accelerate application development
- Improve business decision making with simplified analytics and end-to-end support for XML documents
- Reduce the expense of deploying and supporting departmental warehousing and analytic solutions

Join, Sal Vella, VP of Development, and Tim Vincent, Chief DB2 LUW Architect, to learn more about what's new in DB2 9.7, and get your questions answered.

To attend this session and receive the call-in telephone numbers and further instructions, kindly RSVP using the link below:


Leons Petrazickis
DB2 Express-C Team

Wednesday, April 22, 2009

DB2 9.7 announced, set for June release

IBM just announced DB2 9.7, filled with oodles of great new features. It is set to become generally available in June. There's an overview site, which largely focuses on the many cost savings in self-optimization, self-healing, compression, development, and performance.

Naturally, there are also many new developer and DBA focused features such as:
- Improved locking for better concurrency
- Ability to recompile statements without parameter markers
- Ability to re-use old access plans across fixpack updates
- More functions for string and date manipulation
- New data types such as NUMBER, VARCHAR2, etc.
- Easier casting between data types
- Default parameter values and assignment of parameter values by name
- Boolean, cursor, row and array data type support in procedures
- Better Python support for DB2

There will be a DB2 9.7 Overview webcast in the Chat with the Lab series on May 6, 11:30 AM EST. It's a great opportunity to ask questions and find out the technical nitty-gritty.


Leons Petrazickis
DB2 Express-C Team

DB2 sets industry performance record on an x86-64 server

DB2 9.5 just set a new industry record on the TPC-C benchmark of online transaction processing (OLTP) performance, running on an IBM server powered by standard x86-64 Intel Xeon processors. This is the first time that a database running on an Intel or AMD x86-64 system has ever broken the 1 million tpmC barrier. DB2 has exceeded that barrier by over 20%.

DB2 also broke new ground in the price/performance category, being the first database software to come in lower than $2 USD/tpmC.

The free DB2 Express-C database is built on the same codebase as this record-breaking edition of DB2.


Leons Petrazickis
DB2 Express-C Team

Wednesday, April 08, 2009

DB2 features - Overview pages


We have just put up some DB2 features overview pages:

- DB2 Autonomics
- DB2 Security
- DB2 Compression

For those who are still using DB2 8.2, it's time to upgrade!. The end of support for DB2 8.2 is April 30, 2009. Visit this page for details!


Thursday, April 02, 2009

Upgrade fix for Express-C on Linux

We just released a small refresh of the DB2 Express-C 9.5.2 images for Linux 32-bit and Linux 64-bit. If you encountered any difficulties upgrading to v9.5.2 on Linux, you may want to download the latest:
These resolve a few things that cropped up around the upgrade process from v9.5 to v9.5.2 on Linux. Everything else is the same as in the initial v9.5.2 release, and the other platforms are unchanged.


Leons Petrazickis
DB2 Express-C Team

Free book, Getting Started with DB2 Express-C, now in Portuguese

Since its release in 2007, Getting Started with DB2 Express-C has been a fantastically popular book. It has been freely downloaded over 35,000 times, and it's been translated by volunteers into nine world languages.

The second Portuguese translation is now available.

The book is ideal for developers, consultants, ISVs, DBAs, students, or anyone else who wants to get started with DB2. While this book is focused on DB2 Express-C, the no-charge edition of DB2, the concepts and content are equally applicable to other DB2 editions on Linux, UNIX, and Windows.

Translations of Getting Started with DB2 Express-C are available in Chinese, German, English, Italian, Polish, Portuguese, Spanish, and Vietnamese.


Leons Petrazickis
DB2 Express-C Team

Friday, March 13, 2009

DB2 Express-C Download Experience Survey

We are planning some improvements for the next release of DB2 Express-C, and we've created a quick survey to help us gauge how people feel about the current Express-C download.

Take the Survey

It should only take a minute to complete.:-)


Leons Petrazickis
DB2 Express-C Team

Common issue when installing on Mac OS X

Starting with 9.5.2, DB2 Express-C runs on Mac OS X. Antonio Cangiano wrote a quick install guide on his blog, and there's also a detailed PDF guide available with the download.

One common issue people have is the lack of otool, which is used during DB2 installation. It's included in the XCode for Mac Development download. Please grab Apple's developer tools package before installing DB2.

Feel free to ask any questions in our community support forum.


Leons Petrazickis
DB2 Express-C Team

Express-C 9.5.2 GA

In February, we officially released the DB2 Express-C 9.5.2. This is the first version to include the new DB2 Text Search feature. It is also the first release to run on Mac OS X!

As always, DB2 Express-C is a free download.


Leons Petrazickis
DB2 Express-C Team
Google Analytics Alternative