Monday, June 29, 2009

Vote for your User Group

The IOUG and Oracle have recently teamed together to survey IOUG members and non-members about the benefits of being a member of a user group.

The survey is open to everyone who is involved in the user community and I encourage everyone to vote before Thursday, July 3 (that’s this week!).

To vote you can press this link: and have Oracle hear about the values that a user group provides.

This is an important time in being part of a community and just as important to voice your opinion so that we can build a strong user community with a strong voice within Oracle.

So have your voice heard and vote today! And thanks for taking the time.

Friday, June 26, 2009

How Lucky We Are?


The tales of economic recovery or economic collapse are spread on a daily basis and we are told about how much we have lost. We sadly heard of the passing of Michael Jackson and Farrah Fawcett yesterday and we think of what we lost. I think we need to look at what we have and appreciate it for what it is and what it was.

I think of the trendsetting music and dancing that the Gloved-One brought to us. I think of the joy that Farrah contributed to my youth. They both leave an amazing legacy. I look back at each and look at how much we gained as a result of them being parts of our lives in some small way.

I also think about how lucky we are and how we need to appreciate what we have and who we are with. My life is one that I look at each week and realize how lucky I am. I work with a great team at Thoughtcorp, where we are building valuable data systems for our clients. I get to work on the IOUG and share my love and knowledge for Oracle. My life is also great and I appreciate it. I have a great family with a couple of pretty cool kids. I also get to play sports and it was then that I realize how lucky we all are and how we need to appreciate it. Last night was my first hockey game back since I hurt my back in April. So it was 2 months and I had no clue what it would be like. I always liked summer hockey; the idea of walking in to an arena in shorts appeals to me. I got the chance to see some of the guys I play with during the winter and all the joy of playing the game came back, the smell of the arena, the ice and the game. The fun of being out with my pals and playing a game I love, I was lucky I could be part of it. Today I get to really complete the week, with golf with some of my close friends. This is the game that I look forward to with the most anticipation. Today I get to compete and see if I can elevate to beat these guys. I need the win, but the chance to play and be with them is where I gain satisfaction. I appreciate what I have, I look at it as a chance to contribute to life. We should look back and say we did it and we were lucky to have the chance.

I am lucky, but my guess is that most of you are as well, and I expect that you are luckier than even you realize. Add it up.

Thursday, June 25, 2009

Dealing with Oracle Block Sizes

   When working on a data warehousing project that will be deployed on an Oracle platform, the discussions often turn to the Oracle database block size that should be used.

   We all know that in data warehousing environments one needs to move lots of data. This means that we are probably going to increase the size of the blocks in which Oracle will store data. The question then moves on to which one should we choose? Should we use 8KB, 16KB, 32KB or even 64KB. This is not a simple question to answer and if you ever did a search to find information on this decision; you find the information rare and often esoteric. The decision needs to be one that considers how information will be loaded and retrieved from your data warehouse.

   So when we decide we look at our data usage. We know that we will be loading millions of rows a data via a bulk loader like DataPump; we know this benefits from larger block sizes as the writes will pack more rows into each database block. We know that we are going to be doing updates during the DW process, so if are going to do any lookups then we need consider that these blocks will contain a larger number of rows, which means our reads will also retrieve more information than we really need. As for the reporting perspective; generally this will require reading larger volumes of data for analysis and aggregation. Again this benefits from larger block size by reducing the number of individual reads, which is good. Now we need to consider multi-block read counts. If we have increased the size of blocks and teh multi-block read count, means that we may move large amounts of data through our I/O channels that may cause bottlenecks, so this is another area that we need to manage and be concerned with.

Ultimately there is no right answer, other than it depends. It depends on the exact nature of your data and your data usage. This must be balanced with the server to optimize performance. The last thing we want to do is introduce new bottlenecks. Generally data warehouses will see block sizes that range from 8KB to 32KB, with multi-block read counts in the 8 to 32 range. Bottom line is test what works for you using a real world load to determine what works best for you.

Tuesday, June 23, 2009

Random Knowledge

It seemed interesting to me this morning that people tend to know some of the most random bits of knowledge. The daily dose of Jeopardy proves this as the questions continue to be answered by both those on the shows and by myself to the amazement of my family at times. How to do come to this random memory and how can people take advantage of the gift for knowledge.

So this morning I was listening to Howard Stern’s radio show and he had a game on named the “Homeless Game”, where they ask a homeless person random questions. The person today knew the language of France, the author of Shakespeare, Seinfeld’s first name and many other answers, but missed on the number of letters in the alphabet (I guess you could think 22 is right), who is J-Lo all math questions, and numerous other humorous results. What this really showed me was that we all have a capacity for knowledge and we all know random facts and various skills. We need to harness this knowledge and use it to our advantage.

So we think of technology and the amount and variation in the types of knowledge we all need to have. We need to encourage the value of knowledge and variations in that knowledge. Considering the vast number of technologies that we use on a daily basis, we need to look to our peers and use them to provide complete solutions.

We all have random knowledge, some in math, some in history, some in music and many others in many other subjects.  So we take this, enjoy the sharing of knowledge and the surprise that we see when people just know something that we need to know and don’t. Use random knowledge for good.

Monday, June 8, 2009

Communicating Success

The fact that we work close to people on a daily basis does not necessarily mean that we are communicating on the same levels. We need to consider communications internally and externally with a project team as one of the critical factors to a successful project.

We often work as part of a project team that needs to become the well oiled machine where all are participating actively in all aspects of the project; especially communications. Projects often set up communications plans that include a number of items. These plans will include regular meetings (daily and weekly), project dashboards, project wiki’s and other documentation and methods. These methods of communication work. A project that has clear communication plans and processes are projects that have a communication foundation for doing this well.

The key to any plan that you may enact really require cooperation rather that communication. The idea is that people need to understand the value of this type of information exchange. The team must be willing to share knowledge and information. The members of the team must be ready to share success and to know when to ask for advice. So it important to provide a facility where this information exchange can occur.

Communications are not simply about telling people what is going on and what is going to happen but it should also include a component of knowledge exchange. During any development project the team members must be willing to share information about the better way to do things. The ability to share best practices at a project level can be a critical factor in a project achieving its goals. We need to make sure we are not simply informed by that we are more knowledge about the project and the methods that we should use on each and every project.

Good communications during a project will help you and your project succeed. Just remember talk about things and make things better. The only real problem or issue on any project is one that is unspoken so make sure your project team is open and involved.

Tuesday, June 2, 2009

The Data Warehouse Team

Building the right team is a subject that I have discussed here before, but I wanted to talk about how to put the right team together and what skills are needed to build a data warehouse or business intelligence solutions.

So who is on the team?

    • Project Manager
    • Data Warehouse Architect
    • Business Analysts
    • ETL Lead Developer
    • BI Lead Developer
    • QA Analyst
    • Various other developers and analysts.

So where do we start? The key to me in any successful data warehousing project is having someone who can be the Data Warehouse Architect. This is the person who will drive the solution and ensure that the most efficient solution is implemented. This person must have the ability to understand DW/BI technology and understands how to translate business needs into a solution. This person will directly impact the project’s success so choose carefully and choose experience.

DW and BI projects need standard project management controls, as many projects are complex and have many moving parts. This person should be knowledgeable in the DW and BI arena. Just another project to manage.

The ETL and BI Leads are also critical to the ultimate success of the project. These people will create and establish the approach that will be used to deploy the system. These people are generally the most experienced technology people on the team and can provide leadership to the rest of the development team. These people may also be development leads, but generally we try to focus these roles on ensuring that development is executed as needed.

Finally you need you QA, analysts and developers who will fill the remainder of the team.

Ultimately the team will need to work well and the leads are important people who must ensure that communication occurs between various people so that everyone understands their role in the overall project and can see how it contributes to success.

So build the right team with the right people who want to build solutions that provide organizations with competitive intelligence capabilities.