A growing online retail sector needs the right IT solution to support customer service

According to a report from econsultancy.com 34% of shoppers prefer to buy online.  As buying habits change and consumers move more towards online shopping, the need for a robust and scalable IT infrastructure becomes greater.  According to Internet Retailing, internet retail sales in the UK hit £49.8 billion, up 21% from 2008. Overall, up to 33 million consumers made an online purchase last year. Consumers need to have speedy access to the products they’re searching for at the time they want to purchase.  Whether they’re shopping on Black Friday, Cyber Monday or the latest peak day of Boxing Day, consumers expect the same level of website response times and customer service.

IBM’s DB2 purescale feature fits the bill as it gives online retail organisations the scalability, flexibility and availability that is essential for their success.

“If you’re a retailer with a high volume online transaction environment then pureScale is going to be absolutely ideal for you. You’ll be able to increase capacity when you need to at the really busy times like Christmas and the January sales and scale back at the times when you’re experiencing less demand. Plus, we’ve not mentioned here the need for continuous availability, pretty much every organisation would like continuous availability but for online retailers it’s essential.” Clair Ross, DB2 LUW expert, Triton Consulting.

Find out more about DB2 pureScale and read about what our consultants learned when they visited IBM labs to road test DB2 pureScale for themselves.

  • Share/Bookmark

No Comments | Filed under Availability & disaster recovery, Clair Ross, DB2, db2 pureScale, pureScale

Five Days in the labs – Part 3. DB2 pureScale Insert Load & Replication

By Clair Ross

Following on from James Gill’s recent blog post about the Coupling Facility today I’m sharing with you our experiences of working with Insert Load & Replication in DB2 pureScale. 

In order to test the load capacity of the IBM DB2 pureScale machine we needed some test data and lots of it!  Being somewhat familiar with the capabilities of the CF on z/OS I knew that a few thousand records would not be enough.

After some checking about, I decided to “stand on the shoulders of giants” and use the EMPLOYEE table from the DB2 SAMPLE database.  Simple, elegant and to the point.  The only problem was that with the current “out of the box” table definition, there would only be 999,999 records that could be produced.

Column name Schema  Data type name Length Scale Nulls
EMPNO   SYSIBM CHARACTER  6  0 No
FIRSTNME                                                 SYSIBM VARCHAR      12   0 No
MIDINIT                                                 SYSIBM CHARACTER  1 0 YES
LASTNAME                                            SYSIBM  VARCHAR  15 0 NO
WORKDEPT              SYSIBM CHARACTER           3 0 YES
PHONENO                      SYSIBM     CHARACTER    4 0 YES
HIREDATE                                               SYSIBM DATE  4 0 YES
JOB                                              SYSIBM   CHARACTER   8 0 YES
GENDER SYSIBM  CHARACTER     1 0 YES
BIRTHDATE                                       SYSIBM DATE    4 0 YES
SALARY                                           SYSIBM DECIMAL    9 2 YES
BONUS                                      SYSIBM DECIMAL  9 2 YES
COMM                                             SYSIBM     DECIMAL    9 2 YES

14 record(s) selected.

With a little transformation, we changed the EMPNO to be CHAR(12).  This would allow for the increase of data.  (a possible 999,999,999,999 records)

Column name Schema  Data type name Length Scale Nulls
EMPNO                                SYSIBM  CHARACTER     12 0 NO
FIRSTNME                                      SYSIBM VARCHAR    12 0 NO
MIDINIT                           SYSIBM    CHARACTER        1 0 YES
LASTNAME   SYSIBM  VARCHAR  15 0 NO
WORKDEPT           SYSIBM   CHARACTER    3 0 YES
PHONENO  SYSIBM  CHARACTER   4 0 YES
HIREDATE       SYSIBM   DATE       4 0 YES
JOB      SYSIBM  CHARACTER     8 0 YES
EDLEVEL   SYSIBM   SMALLINT 2 0 NO
GENDER SYSIBM  CHARACTER     1 0 YES
BIRTHDATE  SYSIBM   DATE       4 0 YES
SALARY     SYSIBM  DECIMAL         9 2 YES
BONUS     SYSIBM   DECIMAL    9 2 YES
COMM    SYSIBM  DECIMAL 9 2 YES

14 record(s) selected. 

We exported the data into a text delimited file (all 41 records), created a table “LIKE” the employee table, then altered the definition.

I wrote a Q&D Perl script to iterate through the delimited data file and reassign the new EMPNO value.  After a little testing, I just started the program and then turned my attention to items.

After a period of time, I checked the progress and we had approximately 8.5 million records.  I then set up a db2batch script to load the data from the single file.

Other loading strategies attempted were made by splitting the 8.5 million records into multiple files and loading from a single member, then from multiple members.   Autocommit was initially on for the first run, but was switched off and commits were performed at every 10K records.  For the multiple member loads the commit count was at every 500 records.

After the initial load, James suggested that the data file be partitioned three ways for the three data members and to test for contention on the single table.

This was set up quickly and we were good to go.

  • Share/Bookmark

No Comments | Filed under Availability & disaster recovery, Clair Ross, DB2, DB2 LUW, Five days in the labs, db2 pureScale, pureScale

Five Days in the Labs – Part 1

Last month we were delighted to be given the opportunity to visit IBM’s research and development centre in Boeblingen, Germany.  Before I get on to what exactly we were doing there I’d like to share a little information about the centre itself as it’s quite a place!  Opened in 1953, Boeblingen is host to a whopping 2000 IT specialists, electrical engineers and physicists working on over 40 projects!  Their focus is on the development of next generation microprocessors, mainframes and supercomputers and enterprise software to control business processes.  In addition, Boeblingen is one of the largest LINUX and SAP integration centres within IBM.  So we were rightly excited about the visit. 

The reason for the trip was to carry out our own research and development work on IBM’s newest technology release – IBM DB2 pureScale.  Ever since hearing the first announcement last year, our team of DB2 experts have been itching to get their hands on the software and see what it can do.  The most exciting thing about this trip was that we were to be the first IBM Business Partners in Europe to get a look at DB2 pureScale in action – what a fantastic opportunity!

So, three of our DB2 experts set off for five days in the labs.  After a warm welcome from the pureScale team in Boeblingen, it was soon down to business.  As an R&D team the brief was to gain practical experience in the installation, operation and use of a DB2 pureScale environment, as well as testing DB2 pureScale for scalability and resilience.

Meet the team

Iqbal Goralwalla – Head of DB2 Midrange Solutions
Specialist DB2 pureScale subject – DB2 Self-Tuning Memory Manager (STMM), Bufferpools and Workload Balancing

James Gill – DB2 for z/OS and data sharing expert
Specialist DB2 pureScale subject – Coupling Facility

Clair Ross – DB2 Midrange expert
Specialist DB2 pureScale subject – Insert Load & Replication

Over the next few weeks the team will be blogging about their specialist subjects and what they have learned during their five days in the labs.

  • Share/Bookmark

2 Comments | Filed under Availability & disaster recovery, Clair Ross, DB2, Five days in the labs, Iqbal Goralwalla, James Gill, db2 pureScale, pureScale

“If you’re a retailer with a high volume online transaction environment then DB2 pureScale is going to be absolutely ideal for you”

In our first Confessions of a DB2 Geek podcast we chat to two of our DB2 experts about pureScale and what this important new release means for organisations running DB2 on midrange platforms.

An ideal fit for the retail sector, pureScale is going to allow organisations to increase capacity when they need it at the really busy times like Christmas and the January sales and scale back at times of less demand.  Our DB2 LUW expert Clair says “If you’re a retailer with a high volume online transaction environment then pureScale is going to be absolutely ideal for you”

Just how important is this release to the midrange market?�
“For those needing true 24/7 availability this is an enormous release and has plugged a gaping hole that has been in the architecture of DB2 on midrange for some time.”  James Gill, DB2 z/OS Expert

Read the article and download the podcast.

  • Share/Bookmark

No Comments | Filed under Clair Ross, DB2, DB2 Geek, DB2 LUW, James Gill, db2 pureScale, pureScale

Techie Tip – I need to find out what DB2 LUW V9.5 processes are running on a Linux machine

Question:

I need to find out what DB2 LUW V9.5 processes are running on a Linux machine?   Is there another way other than ‘ps –ef’ or ‘ps aux’ than grepping out the result set?

 

Answer:

There is.  A script by the name db2_local_ps that does the work for you.  It saves time because one does not have to fumble around figuring out the command syntax  to perform the actions to achieve similar results.

 

Actually, there are three scripts that are linked together to do the work.

 

‘db2_local_ps’ is the initial script that is called.  This script checks for the DB2INSTANCE environment variable.  If it is set and valid, you progress.  If not, it exits and a usage message is displayed.

 

The other scripts that are in the chain that are called in order are ‘db2nps’ and ‘db2gdep’, both shell scripts.  ‘db2nps’ obtains the process name and number and calls the script ‘db2gdep’ for each process for the information on that specific process.

 

The output from the ‘db2_local_ps’ follows:

 

cvross@myhost:~> db2_local_ps

Node 0

     UID        PID       PPID    C     STIME     TTY     TIME CMD

db2inst1      20979      20978    0     08:21   pts/1 00:00:00 db2sysc 0

    root      20980      20979    0     08:21   pts/1 00:00:00 db2ckpwd 0

    root      20981      20979    0     08:21   pts/1 00:00:00 db2ckpwd 0

    root      20982      20979    0     08:21   pts/1 00:00:00 db2ckpwd 0

    root      20983      20979    0     08:21   pts/1 00:00:00 db2pmd 0

db2inst1      20984      20979    0     08:21   pts/1 00:00:00 db2gds 0

db2inst1      20985      20979    0     08:21   pts/1 00:00:00 db2licc 0

db2inst1      20986      20979    0     08:21   pts/1 00:00:00 db2ipccm 0

db2inst1      20987      20979    0     08:21   pts/1 00:00:00 db2tcpcm 0

db2inst1      20988      20979    0     08:21   pts/1 00:00:00 db2tcpcm 0

db2inst1      20992      20979    0     08:21   pts/1 00:00:00 db2resync 0

db2inst1      20994      20979    0     08:21   pts/1 00:00:00 db2acd 0 ,0,0,0,1,0,0,0,897e0c,14,1e014,2,0,1,11fd0,0×11f90000,0×11f90000,1610000,8b001e,2,530011

db2inst1      21201      20984    0     08:23   pts/1 00:00:00 db2logts (SAMPLEA) 0

db2inst1      21202      20984    0     08:23   pts/1 00:00:00 db2logmgr (SAMPLEA) 0

db2inst1      21203      20984    0     08:23   pts/1 00:00:00 db2loggr (SAMPLEA) 0

db2inst1      21207      20984    0     08:23   pts/1 00:00:00 db2loggw (SAMPLEA) 0

db2inst1      21208      20984    0     08:23   pts/1 00:00:00 db2lfr (SAMPLEA) 0

db2inst1      21209      20984    0     08:23   pts/1 00:00:00 db2dlock (SAMPLEA) 0

db2inst1      21210      20984    0     08:23   pts/1 00:00:00 db2pclnr 0

db2inst1      21211      20984    0     08:23   pts/1 00:00:00 db2pfchr 0

db2inst1      21212      20984    0     08:23   pts/1 00:00:00 db2pfchr 0

db2inst1      21213      20984    0     08:23   pts/1 00:00:00 db2pfchr 0

db2inst1      21214      20984    0     08:23   pts/1 00:00:00 db2stmm (SAMPLEA) 0

db2inst1      21215      20984    0     08:23   pts/1 00:00:00 db2taskd (SAMPLEA) 0

db2inst1      21216      20984    0     08:23   pts/1 00:00:00 db2evmgi (DB2DETAILDEADLOCK) 0

db2inst1      21200      20986    0     08:23   pts/1 00:00:00 db2agent (SAMPLEA) 0

db2inst1      21471      20986    0     08:26   pts/1 00:00:00 db2agent (idle) 0

db2inst1      21472      20986    0     08:26   pts/1 00:00:00 db2agent (idle) 0

 

This is definitely something worthy to know about.  One could alias the command with a name that is more useful for a specific computing environment.  Or, just look at the code and roll your own version.

 

The only caveat with this command is that the db2profile needs to be sourced or the DB2 environment variables need to be loaded in your user profile.

 

Happy Trails. 

 

 

 

 

 

  • Share/Bookmark

1 Comment | Filed under Clair Ross, DB2, DB2 9.5, DB2 Administration, DB2 LUW, Techie Tips

Good features for ActiveState Perl on Linux

This is the newest release of Perl.  The releases are starting to appear with more and more features that have been advertised for Perl 6.
 
The feature that is very nice about this is on linux, the release is installed in it’s own directory structure in /opt.  It is up to the user to set the environment to use it.  This allows the user to have more that one perl environment on the machine at one time.
 
Also the way to update is very sweet.  The ppm program has both a shell and a graphical interface.  The graphical has been written in tk and is well laid out.  Very nice.
 
The Database Interfaces are also there for ODBC, Oracle and most of the Open Source types. 
 
This is a very good release.
 
I am also checking out the ActiveState Python and Tcl releases as well.  The reason for investigating these releases is that tools that we use can be customized to use these distributions for coherency and stability.  Just thinking acrossed platforms – AIX, Windows, Sun, Linux, HP and the such.
  • Share/Bookmark

No Comments | Filed under Clair Ross, DB2, Information Management, Linux

Fedora Core 9 and musings

I have downloaded and installed Fedora Core 9 on my laptop.  Very nice offering.  For you technologist whom are thinking about a switch or even a look, this is an opportunity to “put your toes in the water”. 
 
The interface has been smoothed over so many of the tasks that one performs in XP, are in the same place or not far away and are in view.
 
Check it out and enjoy.
  • Share/Bookmark

No Comments | Filed under Clair Ross, Uncategorized