Review Of 2004, Part One

It's traditional at this time to do a "review of the year", so here's a look back at this blog during 2004, starting today with January through to June.

January

January started off with an article by Seth Grimes that compared XML/A and JOLAP, the two competing standards for OLAP querying. According to Seth, "I believe that JOLAP will prove a better bet for integrating analytics into Web services than XML for Analysis because its capabilities will go far beyond the XML API's. But software using the XML API should hit the streets first and, given the importance of the .Net strategy to Microsoft, the specification should see rapid improvement. Although J2EE platforms support XML and related protocols and could easily support both interfaces, on their own, the XML API and SOAP should do much to broaden access to analytic capabilities."

A big part of my work during January was around database (and Discoverer) tuning, with subsequent articles being published on Useful Tuning Papers, More Useful Tuning Papers, Notes On Oracle 8i Partitioning, Changing The STATSPACK Statistics Level and An Oracle Discoverer Tuning Methodology. What's interesting from a personal point of view here is that I'd recently been on the OCP Database Tuning course that teaches you to tune the database using instance-wide statistics, and in the end the statistics that I gathered using STATSPACK didn't really point to where the problem was - if I'd have used event 10046 to trace the individual Discoverer sessions, I'd probably have come across the answer sooner (which was around indexes not being used due to DECODEs being used on table columns) rather than making educated guesses based on ratios and instance-wide wait events. I didn't really come across event 10046 tracing, or really understand what the wait interface was all about, until later in the year, and subsequent tuning sessions have been a lot more "to the point" and productive.

January was also when Orablogs.com started, the Oracle blogs aggregation site put together by Brian Duff. Orablogs.com is now bringing together 56 Oracle blogs as of the time of writing, and you can subscribe the the Orablogs RSS feed and view posts as they happen using your favourite RSS reader.

Finishing up January was a series of postings I put together following a comp.databases.oracle.server posting by Daniel Morgan, where Daniel posted a typical bit of PL/SQL v7 code and invited people to suggest how it could be improved using current PL/SQL features. The answer to the challenge was to use collections, bulk bind and FORALL, and I looked at what this all involved in three articles, "Collections, Cursors, Bulk Binds and FORALL", "Improving PL/SQL Performance By Using Collections" and "Using Bulk Binds And FORALL". Putting the articles together was a useful exercise as it made me work through these new techniques in some detail, and later on in the year the collections article got rerun on the Quest Pipelines Newsletter which raised the stakes a bit as the articles were my way of working out what all these new features were all about.

February

February started off with Oracle Apps World in San Diego, with announcements around Customer Data Hub, RFID, E-Business Suite 11.10i, and an apparent change in policy within Oracle to now integrate with other ERP applications, rather than insist that e-Business Suite replaces them all. Oracle 10g Release 1 became available for download, and TOra was bought by Quest Software, owners of TOAD. I went off on holiday to Penang, and took Matthew Symonds' "Softwar" with me, which I later concluded was probably the best "History of Oracle" book I'd come across.

On a personal level, I completed my Oracle 9i DBA OCP, and helped to put together my first UKOUG Reporting Tools & BIW Special Event, which was notable in that it had the first UK demonstrations of Enterprise Planning & Budgeting and Discoverer "Drake". Finally, I put together an article on using inline views and outer joins, which is always a bit dangerous as there's always someone out there who knows a better way of doing the same thing in SQL, and just to prove this theory right about half an hour after I posted the article it got linked to off of the OTN homepage, which brought a deluge of emails and comments correcting me and offering a better way to do it.

March

Early on in March I went to an Oracle Partner day which gave us an early look at HTML DB, the new rapid application development tool for Oracle 9i and 10g. After the event I wrote up my observations around HTML DB, and subsequently got into a conversation with Sergio who now actually runs his own blog, on HTML DB, over at http://www.orablogs.com/sergio/ .

Speculation rose during March about a possible Oracle bid for BEA (surely this will happen in 2005?), and I wrote a number of extended articles for the site, one on the Top Ten New Data Warehousing Features In Oracle Database 10g, another on Previewing The Next Generation Of Oracle Discoverer and one more on Delivering Oracle Discoverer Over The Web, two of which were rerun in Oracle Scene later on in the year. Later on in the month, Oracle 10g R1 was released for Windows, and I subsequently took a first look and went on to build an OLAP cube using the new Enterprise Manager DBConsole. Then, not learning from my previous inline views/outer joins mistake, I went on and took my life in my hands and wrote an article that tried to explain what Bind Variables are all about.

Lastly, I came across an excellent Open World paper by Arup Nanda entitled "A Multisource Time-Variant Data Warehouse Case Study", which I was particularly impressed by as it offered an alternate view on how data warehouses could be built - doing away with ETL tools, and instead building a series of scripts that generated other scripts that themselves directly loaded the data into the warehouse. As I'd recently worked on a couple of OWB projects that got bogged down in working with the tool, rather than solving the problem, this article particularly resonated with me, and led to an article I subsequently wrote in April titled "New Developments In Oracle Data Warehousing", where I looked at the issues Arup raised, together with general moves towards Agile development, real-time data warehousing and moves within Oracle Corp. to "de-emphasise" separate data warehouses in favour of their new Oracle Information Architecture.

April

Connor McDonald argued that "Index rebuilds in most systems are almost never required", Oracle released Application Server 10g for Windows, and Anthony Waite made the first mention of AWM10g and the AWXML Java API. Getting into my stride now, my article "The Role Of The RDBMS In an Agile Development Project" which argued that the database should be central to modern application design, and not be just considered a "persistence layer", generated a fair bit of interest and brought me in to contact with a couple of people working with agile methodologies who I still keep in contact with now. Another article, this time entitled "Is The Future Of Data Warehousing "Distributed Intelligence"?" which looked at a recent article by Michael Carter again generated a few interesting comments, including one by Joshua Allen,  the guy behind "Better Living Through Software", which funnily enough inspired me to put this site together.

May

May was holiday time again, this time off to Menorca, and when I got back there was a number of interesting news items that had come up, including more details on SQL Server 2005 "Yukon" Analysis Services, IBM DB2 Stinger's support for the .NET CLR, and Oracle's announcements around Business Activity Monitoring. OWB10g was released for Windows, and things started to kick off on comp.databases.oracle.server around the subject of index rebuilds.

Later on in May I took a look at Web Services, BPEL and Oracle Data Warehousing, concluding that "In the long term though, it's another pointer towards Oracle's vision of pervasive, real-time business intelligence, that merges current activity with historical data, and you can see the Oracle Application Server being a more central part of this process, using all the interconnect functionality within the application server platform to bring the disparate data together.". Interestingly, Martin Cooper from Oracle is giving a presentation on Customer Data Hub (to which the article referenced) and Data Warehousing at the next UKOUG BIRT SIG, so we should get a better idea of how all this stuff is likely to affect Oracle BI&W during his presentation.

"Will BI Projects Go Offshore?" asked Wayne W. Eckerson, whilst Michael J. Radwin proposed mySQL As A Data Warehousing Platform. May saw the start of the Oracle OLAP Mailing List, still going but with a level of activity pretty much reflecting the current take-up of the OLAP Option, and Oracle announced that All Their 9000 Programmers Would Run Linux By 2005.

A piece of work I did later on in May lead me to come across Bert Scalzo's book "Oracle DBA Guide To Data Warehousing An Star Schemas", which introduced to me the new Oracle 9i ETL functions (pipelining, MERGE, table functions) and lead to my subsequent article "Streamlining Oracle 9i ETL With Pipelined Table Functions" which walked through an example given in Bert's book. What I hadn't bargained on though was that Bert's code example had more than a few errors in it which were subsequently pointed out in the article comments, and although I managed to get the code working in the end it's a salutary lesson in that you need to test code examples before reusing them in an article.

Finishing up May were articles on Delivering Oracle Portal Content Through Java Server PagesIntegrating Web Services With Oracle BI Beans and Justin Lokitz's Integrating Mapping And Spatial Data Into Your Oracle Data Warehouse, which later on in the year lead on to a DBAZine article Justin and I collaborated on entitled "GIS-Enabling Your Oracle Data Warehouse".

June

June started with Richard Byrom launching his OracleAppsBlog, mySQL adding clustering and stored procedures, and I posted a review of "In Search Of Stupidity : 20 Years Of High Tech Marketing Disasters". VentureBlog told us Who Hates Who In The Technology World and my second article for DBAZine looked at Summary Management Improvements In Oracle 10g.

Part of a new piece of work I was doing required me to look at scripting OWB's scripting language and support for Web Services, which lead to articles titled "Scripting And Refactoring Using OWB OMB*Plus" and "Publishing OWB Transformations As Web Services", and Joel Spolsky published his now famous "How Microsoft Lost The API War". Carrying on with OWB, I put together another article this time on Loading XML Documents Using OWB 10g, and Oracle launched Oracle Data Miner, the long awaited GUI for the Data Mining Option.

Whilst June also saw the announcement of the new two-exam Oracle 10g DBA OCP, the big news towards the end of the month was Oracle's purchase of Collaxa, and the subsequent launch of Oracle Business Process Manager. According to Ashlee Vance, "It could be a bit embarrassing for Sun Microsystems when Oracle announces the news at Sun's JavaOne show. Sun has been trying for years to regain share against IBM and BEA in the app server market and has so far failed to do so. Oracle, on the other hand, has made steady gains. At last check, IDC showed Oracle holding 19 percent market share in app server revenue behind IBM's 29 percent share and BEA's 26 percent share. Sun was still in a holding pattern at 3.5 percent share."