Tuesday, May 31, 2011

Several new Best Practices for DB2 papers on IBM developerWorks

As you probably know, IBM developerWorks has a section named Information Management Best Practices. It includes a collection of papers for some of the IM products, including best practices for DB2 for Linux, UNIX, and Windows and DB2 for z/OS best practices. It is good to have such a resource with a wealth of information. Even better is that material is added over time or new best practices added. Therefore, visit developerWorks and check out the new papers added over the past couple weeks.

Friday, May 27, 2011

Friday Fun: IBM Commercial from the past

Ever got stopped by someone from "help desk"...?

Memory leaks in software and epilepsy

EEG shows abnormal activity in some types of s...Image via Wikipedia
We all know what impact memory leaks have and how hard - at least sometimes - they are to detect. Often, there are small, but repeating leaks and over time they add up to either resource issues, weird application behavior or crashes.

Epilepsy can be similar. Sometimes, it can be spotted easily, sometimes it is hard to detect. In the case of my son, we didn't notice his condition for some years. There are many causes for epilepsy, e.g., in his case a brain tumor. It was constantly "nagging" the surrounding parts of his brain. Over time it added up and then caused (relatively mild) seizures. Initially they were seldom and infrequent. Every few weeks we spotted some short, but weird or strange acting of our son. When the pediatrician suspected epilepsy the first time and EEGs of different duration were ordered, nothing special was found. That's when a MRI was done and eventually the tumor was detected. Next on the list was a visit to an epilepsy monitoring unit (EMU) with week-long 24x7 EEG, video and audio capture. All the activity was necessary to track down and understand my son's epilepsy.

When you know (or think) that there is a memory leak inside your application, there are different ways to try to find it. These days, there are tools to assist. Sometimes, still the leak cannot be easily found or its impact easily seen - similar to epilepsy and what it is causing.

At IBM we use and recommend IBM Rational Purify to detect memory leaks in software. DB2 offers the db2mtrk tool to show you how memory is used and db2top can also show you such information.

Monday, May 23, 2011

Epilepsy: When computer science and medical science meet

Over the next couple of weeks I plan to write some blog posts dealing with epilepsy. One of my sons - maybe it is fair to say, the entire family - has been fighting epilepsy for some years now. We don't know when his epilepsy really started, it has been at least 2 years with visible impact. We expect that it is gone now because he had surgery about 3 weeks ago to remove a brain tumor which caused his epilepsy.

During our visits to doctors and clinics, by talking with other parents and meeting kids with various forms of epilepsy, and by reading we learned a lot. The more we learned, the clearer it got to me how close both computer science and epilepsy are. In computer science, e.g., for database systems, we care about cluster and high availability technologies. Epilepsy is a neurological disorder that impacts the CPU, the main board, and the I/O system that we humans utilize.

What I find interesting is that about one in every hundred has or had epilepsy and that there are more than 40 different kinds of epilepsy syndromes. Some can be dealt with (controlled) by drugs, some cured by surgery, but for many neither works. We learned that the human brain uses advanced technologies to guarantee high availability and to recover from failures. Often, single point of failure is avoided. For computer issues we call in service and have parts replaced. For us humans, however, we should be grateful when our core system is running "normal" - many don't share this fortune...

Monday, May 16, 2011

Overview: DB2 Base Tables, Created Temporary Tables and Declared Temporary Tables

One of the new features in DB2 9.7 are "Created Temporary Tables". Previously, users had to distinguish between the base tables (in all different forms and shapes) and declared temporary tables. So what are the commonalities and differences between the three different types of table that are now supported in DB2?

Fortunately, as in most cases, there is the DB2 Information Center. For exactly my question above there is an excellent overview (in table format!) that compares the three table types by feature category. Did you know that all support indexes on them or that you have to specify LOGGING for temporary tables in order to support UNDO operations?

For a reference of the syntax, see here:
CREATE TABLE
CREATE GLOBAL TEMPORARY TABLE
DECLARE GLOBAL TEMPORARY TABLE

Friday, May 13, 2011

How to stretch a pureScale cluster: Configuring geographically dispersed DB2 pureScale clusters

Recently, two very interesting new articles were published on developerWorks. One deals with building geographically dispersed DB2 pureScale clusters, the other has an in-depth look on how to upgrade from DB2 9.7 to the DB2 pureScale feature. In both papers, a detailed description of each step is included.

Geographically dispersed clusters, sometimes referred to as stretch clusters, span multiple locations to be able to continue with processing even when an entire site is down. When all involved sites are up, the processing power of the available sites is used (active/active).