Showing posts with label process model. Show all posts
Showing posts with label process model. Show all posts

Wednesday, March 16, 2016

CeBIT: Goldsmith in the Hybrid Cloud - How to Create Value from Enterprise Data

Gold Nuggets - Data as Gold
Data, data, data. There is a lot of data, data already stored or archived, and data about to be produced, generated, measured, or even missing data. But there is not always value in the accessible data, even though data is considered the new gold. Similar to the real gold and a goldsmith creating jewels, data first needs to be worked on, refined, transformed and made interesting to consumers, turned into information or insight.

Wednesday, July 1, 2015

DB2 Battle: Optimization Profile vs. Statement Concentrator (Part 3)

db2expln output - statement concentrator active
In February I had fiddled with optimization profiles and REOPT working against the statement concentrator (part 2 is here). Today I wanted to give an interesting (hopefully) update. The tool db2expln can be used to describe the access plan for static and dynamic SQL statements. It works in a different way than db2exfmt and visual explain (part of tools like Data Studio and IBM Data Server Manager). Thus, I was eager to see whether it could help to find out whether my optimization profile was applied.


Friday, February 27, 2015

DB2 Battle: Optimization Profile vs. Statement Concentrator (Part 2)

Today I wanted to try out using DB2 optimization profiles for a statement impacted by the statement concentrator. In part 1 I gave the background, showed how I created an optimization profile and that a simple explain statement didn't return what I expected. In this final part I am going to look at DB2 section actuals to hopefully proof that my optimization guideline works as I had hoped.

Because all my "explain plan for select ..." statements resulted in the same access plan, I decided to use session actuals to look at how statements are really executed within DB2. The actuals are kind of a live log of the real statement execution costs and the applied access plan. The first step towards session actuals is to have a workload and an activity event monitor and to switch the monitor on:


db2 "create workload betw applname('python') collect activity data with details,section"
db2 "create event monitor betwmon for activities write to table"
db2 "set event monitor betwmon state 1"

The above statements create a workload which collects section data. The application name (APPLNAME) is "python" because I use a Python script (see below) for parts of the testing.


Script:
import ibm_db
conn = ibm_db.connect("hltest","hloeser","secretpw")
ibm_db.exec_immediate(conn, 'set current optimization profile="HLOESER"."PROFILE_BETW"')
ibm_db.exec_immediate(conn, 'select id, s from betw where id between 2 and 20')



Friday, May 27, 2011

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, June 29, 2009

The DB2 Process Model - Some Links

Starting with version 9.5, DB2 switched from a process-oriented architecture to a multi-threaded system architecture. One of the reasons was to better exploit the current and upcoming HW architectures.

Now that customers are migrating to DB2 9.5 and DB2 9.7, some of them coming from systems with unstable future or high maintenance costs, questions often heard are about things like "db2sysc" or "db2fmp". The DB2 Information Center has a short overview of the DB2 Process Model as a good starter. An article on developerWorks, "How multithreaded architecture works in DB2 9.5", has some more information.