Welcome to the 102nd edition of Log Buffer, the weekly review of database blogs.
Since it was DB2’s 25th birthday this week, as Anant Jhingran reports, let’s start with it.
From ZDNet this week came a story that IBM was considering the open-sourcing of DB2 — big news, naturally, whether true or not. Matthew Aslett of 451 CAOS Theory says, Open source DB2? I don’t think so, suggesting that it was merely theorizing on the part of one IBM executive, and hype on the part of ZDNet. “Then of course,” Matthew continues, “there is the issue of why IBM would open source DB2. Where is the business driver? Despite solid competition from Oracle and Microsoft, the company is doing pretty well with DB2 as it stands, thanks very much, and open source databases have had minimal impact on the established vendors.”
Matt Asay of The Open Road likewise comes down on the uh-uh side of this. “It was . . . no surprise to see IBM quickly follow up ZDNet’s article with a blunt statement: ‘IBM has no plans to open source DB2.’ Of course it doesn’t. . . . The day that it needs DB2 to undermine Oracle’s database, however, we may see IBM making a similarly bald statement…in the other direction.”
On An Expert’s Guide to DB2 Technology, Chris Eaton offers some news on DB2 videos, including ChannelDB2’s video tutorials, IDUG’s video competition, and a funny video from IBM on the making of a “viral” industrial video. Such as itself.
On to MySQL now. Keith Murphy made his debut on the Pythian blog this week, with a link to some video tutelage of his own — his presentation to the Boston MySQL Users Group on backups. Jay Pipes also offers the slides for his address on Join-Fu: The Art of SQL (I and II). (I rarely cover presentation materials when I do Log Buffer, but these ones of Jay’s looks fantastic.)
Baron Schwartz of xaprb describes how to write a lazy UNION in MySQL. No, it doesn’t deal with posting a complaint about undefended job benefits. Baron explains: “Something occurred to me a couple of weeks ago: why not write a UNION that stops executing as soon as one part of it finds a row? Then you can UNION to your heart’s content and not incur the overhead of that second lookup unless you need it. For lack of a better term, I’m calling this a lazy UNION.”
Musings on ordered lists inside RDBMS emanated from Lukas Kahwe Smith’s Poo-tee-weet. It’s a nifty approach to a user-interface problem, the kind software developers frequently have to deal with.
Alex Tomic gives a howto on building a data warehouse on a budget with MySQL 5.1. He begins, “If there is one thing that a DBA or data warehouse architect can count on, it is that data volumes will increase while budgets will decrease. This is why MySQL 5.1 and its partitioning capabilities are so interesting. I’m going to demonstrate how you can build a small/medium-sized data warehouse or data mart (1-10 TB range) on a shoe-string budget.”
Johan Andersson introduced the Dimensioning Toolkit for MySQL Cluster — “ndb_record_size is a program that calculates the amount of storage (IndexMemory, DataMemory, Disk space (for disk data table)) that is needed for a particular table in a database. The program takes into account the storage overhead needed when calculating the record size.”
Bridging the worlds of MySQL and Oracle was Alex Gorbachev, who released the MySQL plug-in 1.1 for Oracle 10g Grid Control, with a bunch of new features, and to good reviews too.
From Gorbachev to a sort of glasnost. Nigel Thomas of Preferisco would like a little more of it. He’s exhorting everyone to vote now to open up Metalink. Nigel quotes Richard Thomas: “There is goldmine of useful information in Metalink and having access to it would optimize the efficiency of people using Oracle toolsets, in my opinion enhancing productivity and by inference Oracle adoption globally which would be win win for everyone.” Check it out.
Steve Karam made a very welcome reappearance this week with a couple posts on The Oracle Alchemist. In the first, he asks, “Hey Guys, Does Size Matter?”. He’s talking about block size, of course (what did you think?), and its effect on updates. There’s lots of good comment on this one.
Steve’s other post covered his new project, an Oracle schema filesystem — “. . . a filesystem . . . that connects to Oracle and uses queries in order to create inode structures.”
Tanel Poder published the sixth part of his Advanced Oracle Troubleshooting Guide: Understanding Oracle execution plans with os_explain, which is Tanel’s script for making stack traces from execution plans more DBA-readable. Very nice work.
On Database/SQL Experiences, Vivek Sharma looks into high values of rollback per transaction. He writes, “I have come across many databases where this ratio is actually very high . . . and the application and the dba team strive hard to get this ratio to a very less %age. Let us dive into the details of this ratio and the way it is calculated. Based on this information, you should be able to judge whether this is alarming on your database or should be just left at the current %age.”
On the Oracle Sponge, David Aldridge exposes Oracle’s OVERLAPS predicate. “I quietly bemoaned the missing functionality of Oracle in some regards, for instance the rather neat OVERLAPS predicate that returns true when two intervals well, overlap. We tend to jump through hoops a little to achieve this sometimes, I felt. But you never know, things have moved on since the Oracle 8 . . .” And they have. Cool and useful, the paraphrase one commenter.
In the SQL Server world, Kalen Delaney says that with 2005, things keep changing. To be specific, the behaviour of
ARITHABORT have altered.
Some things are slow to change over versions. Kalen also reports that Microsoft is still fixing bugs on SQL Server 2005. Perhaps that’s unsurprising (only TeX is bug-free, right?), but the substance of the item is this: Cumulative update package 8 for SQL Server 2005 Service Pack 2 has been released.
Less Than Dot’s Data Management Journal opines on another change in Compound Operators Or How T-SQL Is Morphing Into VB Or C#. “C# is becoming more dynamic (like Python and Ruby) but now SQL is becoming more like C# (but with LINQ C# is becoming more like SQL) Confused? Good!” They seem, however, to approve of this change.
Tibor Karaszi has a simple recipe for using the default trace to discover when an autogrow occurred.
Hubert Lubaciewski of select * from depesz; sees a change coming in PostgreSQL 8.2 — conditional DDL. Hubert has his function-based workaround until 8.2 arrives.
Gevikâ€™s Stuff responds with its two IF_EXISTS functions.
Peter Eisentraut offers some thoughts on schema design and ID fields, sparking a discussion of cleverer ways to handle references to ID columns than the common one.
I’ll close this edition with a post from Dimitri Gielis on his Saturday at ODTUG08 in New Orleans, because it has a great photo of the attendees’ community service: painting classrooms in a school damaged by Hurricane Katrina. Great work, guys!
That’s all. Don’t forget to send me an email so you can publish a Log Buffer on your own blog. It’s good fun!
Till next time!