Monday, November 30, 2009

My topics as Wordle

Finally, I got some time to try my hands on Wordle, feeding in this blog. The result - after some adjustments - looks like this:


You can compare it to the thermal image of a house.

Friday, November 27, 2009

DB2 9.7 FP1 is available, supports read on standby (HADR)

Many companies are waiting one or two service packs/fixpacks before moving to new software versions, regardless of whether it is a database system, an operating system, or the software that holds together day-to-day operations (ERP). Well, let's start moving to DB2 9.7, FP1 is out now. No excuses anymore...

A list of enhancements is available in the Information Center, a general DB2 9.7 FP1 overview including the list of fixes is on the support page. The major enhancements include even more PL/SQL support to make it simpler to move off of Oracle and "read on standby" in HADR environments.

Do you webcam?

With the days getting shorter, darker, and colder (here in Germany) thoughts about nice, warm, and fun Summer days pop up more frequently. It's the time when some people start eating Marzipan, flip through their [online] photo albums, or do other things to keep the spirits high. Do you webcam?

When I am on business trips and back at the hotel, I usually try to check a webcam from "my place" before calling home ("I know how it looks like right now"). Do you webcam, too?

Before talking with co-workers in other locations, you can check webcams to make talking about the weather more interesting ("it is NOT snowing in your place"). Do you webcam?

Here are some webcams I use from time to time:
  • Friedrichshafen has a couple of webcams and I will only list three around the airport. The so-called slashcam can be controlled and has nice views. The same goes for the Zeppelin webcam. The aero club located at the airport maintains 4 webcams.
  • Boeblingen, where IBM's German Lab is located, has at least this webcam.
  • For the conditions in San Jose, California, my former home and place of several IBM locations, the SJSU offers a cam.
  • A very interesting "local" webcam is installed on one of the ships cruising the Lake of Constance, on the St. Gallen. In the archive you can follow the ship on its tours across the lake.
Now I want to hear from you, what are your webcams?

Thursday, November 26, 2009

The last one

Sometimes it is hard to say goodbye, sometimes not. Sometimes you get used to something and cannot imagine a life without it. Anyway, the day has come to move on in a different, hopefully better way. No more of it for now. The experience is nice to have, but I hopefully can live without it.

After putting up some shelves and drawers over the last few weeks, it was time to unpack the remaining moving boxes. Some of them contained stuff we took with us from Germany to California and never touched (textbooks from the time at university). One box contained framed awards from the past few years (where do we put them?), books with my first conference papers, a newspaper from the day of our wedding. All is unpacked. Goodbye moving boxes, we have moved in. The last one is done...

Wednesday, November 25, 2009

Small is beautiful (and fast): LOB Inlining

In the past I had emphasized that LOBs and XML data are different in DB2, even though both are stored in the LONG tablespace if you wish so (LONG IN option during CREATE TABLE). XML data is buffered, i.e., pages with XML data are held in the bufferpool, LOBs require a direct fetch via their descriptor and are not buffered by DB2. XML columns do not have a length specification, LOB columns have the maximum length specified. The bigger the maximum possible LOB size is, the larger is the LOB descriptor that usually is stored as part of the row.

Now, starting with DB2 9.7, they have a neat feature in common: Both can be inlined. What is inlining and what are the benefits (for LOBs)?

Because LOBs and XML data can be quite large, they are stored outside the regular row data, i.e., outlined, and a LOB descriptor points to the large object. With inlining however, when the data fits into the regular data pages, it is stored as part of the row, i.e., inline.
DBAs can specify the maximum inline size for each LOB or XML column by using "INLINE LENGTH xxx" during CREATE/ALTER TABLE. The total row size, i.e., the sum of all column sizes and some overhead, needs to fit into the data pages. What this means is that if you use 8k pages, an inline length of 15000 won't work for sure. In contrast to XML columns, if no inline length is specified, for LOB columns an inline length equal to the descriptor size is set implicitly.

Why store 200 bytes outlined and have a 220 bytes LOB descriptor in the row (total 420 bytes), when all can be stored in 200 bytes in the row? And now we are already talking about the benefits of LOB inlining. If you have lots of small LOBs, inlining can improve performance and reduce storage significantly. Storage is reduced because the extra LOB descriptor is avoided. In addition, LOB data stored in the row, i.e., inlined, benefits from row compression when enabled. The performance improvement comes from the direct access (no LOB descriptor involved) and the fact that regular table data is cached in the bufferpool. The direct fetch operations to the unbuffered LOBs are avoided.

As shown, LOB inlining has many benefits and if your Large OBjects (LOBs) are really small objects you should exploit this feature. I found this article describing how LOB inlining in DB2 is used for SAP databases. Because many small LOBs exist to store properties, this can have significant performance benefits.

Monday, November 23, 2009

Cooperate for greater performance! (Share a scan)

If you can benefit from someones work (and it is legal), why don't do it? If it is mutual, i.e., both sides benefit from each other, it's even better and a win-win situation. And when it is inside a database system and results in better query performance and more throughput while utilizing less system resources, it should cause big smiles from everyone. What I am talking about?

One of the many new features in DB2 9.7 is Scan Sharing. The optimizer now can group transactions that perform a table scan or block index scan on the same data into so-called share groups. Scanners within a share group coordinate among themselves, i.e., cooperate. The idea is that I/O and bufferpool activity is reduced by having multiple parties work on the same pages at the same time. This is great when your system is I/O bound because the costly physical I/O could be significantly reduced.

How would I explain such a feature to my kids? With the holiday season and family visits approaching I would tell them to coordinate the "bio breaks" on roadtrips. Instead of everyone independently asking for a pit-stop and daddy stopping every 30 minutes, the entire family could agree on visiting the restrooms at the same time and refilling the gas. Coordinated stops (comparable to physical I/O) would result in us significantly faster reaching the destination.

Tuesday, November 10, 2009

From small to big, and always good...

Do you want to keep a database on a mobile device? Or are you running a terabyte-sized warehouse? The requirements are then probably different in terms of hardware and software. The good news is there is a developerWorks article describing the different DB2 versions available, ranging from DB2 Everyplace to the full-fledged DB2 Enterprise Server Edition and the different feature packs.

Tell me something cool about this article
For each of the discussed versions there is a section "Tell me something coll running on...". It shows how an IBM customer is using that specific version of DB2.

Save Money, Get Promoted!!!

Many companies have programs for the continuous improvement of processes and operations. The idea is to save money, reach better quality, and move faster and smoother. Often, employees are given nice incentives to participate in such improvement programs, sometimes they get promoted for only a single brilliant idea.

Now, here is a (free!!!) advice. Don't try to win 10 million dollars in silly contests, but read the Redbook "Oracle to DB2 Migration: Compatibility Made Easy". You can even try out what you learned on the free DB2 Express-C. You will quickly understand how to save money, run database applications faster, and make DBA life simpler.

P.S.: Did I mention Award and Promotion...?

Monday, November 9, 2009

Bringing fun, a Zeppelin, the Bay Area, and Europe together

The following is a new commercial for a Danish retailer. It brings together all kinds of cliches (in a fun way), the Zeppelin from Airship Ventures, a look at the Golden Gate Bridge, and a European audience. My wife and I already watched it a couple of times and always found new funny details.

BTW: We are in Germany and use a different washing detergent, but have a Zeppelin overhead most days...

Call with DB2 experts on XMLTABLE (2009-11-10)

A call with DB2 experts from both z/OS and Linux, UNIX, and Windows will be tomorrow, Nov 10th, at 1pm US Eastern time. Details on this event as part of the "pureXML devotees" activities can be found on the website

Designers, database developers , and DBAs are all invited to join. The call will be recorded, a live chat is available, and materials will be available online. Bring your own food and questions...

Thursday, November 5, 2009

How much does Google know (officially)?

Earlier this week I asked "How much data do I generate?", now I saw that Google is adding another service, the "Google account dashboard", that let's you see what Google is knowing about you. Supposedly.

It's interesting to see statistics about your account activities in one place. The interesting question is how do you interpret, how do you analyze it (from Google's perspective)? What does Google really know (or guess) about me? The question is not Google-specific, but applies to all those companies that collect data about you.

It is good to see such a feature in place because it creates more awareness of the data privacy/data collection issue. I would like to see similar services by other companies.

Wednesday, November 4, 2009

Additional information and help for DB2 pureXML

Recently, for a workshop, I put together a list of websites on where to find information when you want to know more about DB2 pureXML (both on z/OS or Linux, UNIX, and Windows). Why not share this list in the form of a blog post? You can comment if you have things that should be added.

DB2 for Linux, UNIX, and Windows:

DB2 for z/OS:
That's it. If you have more, let me know...

Sunday, November 1, 2009

How much data do I generate each day?

During vacation, I somehow got wondering how much data I generate each day. This is for all (in-) activities in a 24 hour slot. To make it simpler, I decided to only consider "private" activities.

Here is a list of activities, starting from night to day
  • Over night a lot of mail and packages are moved, leaving tracking data in databases.
  • There are also all kind of batch jobs running to produce statements, dig into details of transactions from the day before, and much more.
  • Because several alarm clocks are running, devices being on standby, and of course fridge, freezer, heating system, etc. performing their duties, energy consumption could be (e-)metered, leaving entries at the utilities. During the day, all kinds of electrical devices (stove, computer, microwave, washer/dryer, lights, etc.) will add data.
  • By making phone calls, connection records (and who knows what more?) is left. If I call a hotline, sometimes phone calls are recorded, often records added to CRM databases, etc.
  • When doing (grocery) shopping, a list of my items is added to the transactions. Maybe automatically some items are re-ordered.
  • Using electronic payment, a credit card/check card debit action is performed.
  • For paying bills, an electronic fund transfer with associated records at several banks is done.
  • When surfing, my traces are left in web logs, cookies are produced, "recommendations" are processed, Google and other ad networks/analytics/tracking companies are adding to my profile, my IP connections are stored, my DSL provider probably keeps additional information.
  • When parking in a downtown garage, my license plate is recorded during entry/exit.
  • The local library keeps a list (and maybe a history) of books on my and the kids' account.
  • and much more
What bigger items do I miss? How muck kBytes or MBytes is it every day? Should I be concerned or even frightened? Your comments are welcome...