Up and Running with DB2 on Linux

16 July 2008 » DB2, IBM, PHP, Writing

The second edition of “Up and Running with DB2 on Linux” was published in June. This IBM Redbook gives readers the latest information they need to exploit DB2 9.5 for Linux.

I performed a technical review of this book, recommending updates here and there to the introductory section and the chapter on using the new Eclipse-based IBM Data Studio tool. I also provided the short section on using DB2 with PHP in chapter 8.

The editor took my suggestion to include a link to planetdb2.com in the online resources list, to give readers a way to keep on top of day-to-day news about DB2 from the experts who blog about it.

The entire review process was a great way to learn about the latest developments in the DB2 for Linux world. I hope the book provides you with the same insight.

Have a look and submit your feedback to help improve the next edition.

Begun, the data server proxy wars have

25 March 2008 » DB2, IBM, MySQL, New York PHP, PHP, PostgreSQL

Interesting links of the week

31 January 2008 » Football, Friends, IBM, PHP, Politics, Zend

Well, not exactly this week. I gathered a few links from the end of January that I figured would have some blogworthiness to them.

Instead of dedicating a whole post to each, here they are with a bit of commentary.

First up, because it’s my sister’s first appearance on TV, are Mona‘s remarks to local news in St. Louis on what the female demographic means to this year’s presidential campaigns. While it is a Fox affiliate, congrats are still in order. :)

Yossi Leon announced that Zend Studio for Eclipse was tantalizing close to release. We heard a few more details at NYPHP about its launch. The Zend page carries the official announcement.

If you’re wondering exactly how the new Zend Studio for Eclipse differs from the Eclipse PDT (PHP Development Tools), this chart breaks it all down.

Jon Udell backs up my “.htm is dogsqueeze” argument in his much more eloquent .NET-specific rant, .aspx considered harmful.

I caught a glance of this article on naming the Triborough Bridge for Robert F. Kennedy in the New York Times.

I too am a little weary of the Kennedy badge on so many public buildings, but have an alternate suggestion… Rename the bridge for John F. Kennedy, and rechristen his namesake disaster of an airport for someone worthy of its reputation for mismanagement, George W. Bush.

And finally, though it pains me greatly to see Tom Brady’s name on a Web site I lovingly crafted for all that is good, there is an interesting press release on how IBM and the NFL have gone about making all those random stats available to announcers in real time.

That about wraps it up. Enjoy the weekend, I know I will.

Mashups from IBM at NYPHP in January

10 January 2008 » DB2, IBM, New York PHP, PHP, Zend

On Tuesday, January 22nd, Dan Gisolfi will talk about the latest PHP-based technologies from IBM for developing Web 2.0 mashups at New York PHP.

Centered around the concept of “situational applications,” IBM’s work with mashups targets a growing trend in Web site development.

Applications are increasingly built by end users to meet their particular needs at a particular time without the time and expense of a traditional software development process.

A recent paper in the IBM Systems Journal describes the new approach in great detail.

Situational applications are created rapidly by teams or individuals who best understand the business need, but without the overhead and formality of traditional information technology (IT) methods.

Understandably, traditional PHP developers might be wary of this new technology; as a general contractor would be if a Home Depot opened around the corner.

Instead, IT specialists should embrace the model as a foothold for PHP in the enterprise. To that end, Dan Gisolfi will:

  • Demo IBM’s Mashup Starter Kit (which includes IBM Mashup Hub and QEDWiki).
  • Highlight best practices for designing and assembling data-driven mashups.
  • Discuss IBM’s collaboration with Zend and ProgrammableWeb to bring mashups to the enterprise.

As always, New York PHP meetings are free and open to the public, but you must RSVP by 3pm on Monday, January 21st.

Log Buffer #78: A Carnival of the Vanities for DBAs

04 January 2008 » DB2, IBM, MySQL, PHP, System administration, XML

Happy new year everyone! This week I’m honored to host the 78th edition of Log Buffer, the weekly roundup of database blogs.

A special thanks goes to Dave Edwards of the Pythian Group for the opportunity to start the year right by catching up on the latest developments around the database world. I’ve been blissfully out of the loop planning a wedding, relaxing on the honeymoon, and spending time with family. :)

About this week’s news
Many folks were also off celebrating the holidays (or recovering from New Year’s celebrations), so it’s been a quiet week.

Without an earth-shattering announcement to stir up controversy, there’s been a trend towards end-of-year summaries, predictions for the new year, and time to jot down tips or otherwise reflect on projects that scratch the author’s itch.

I’m an IBM Web application developer – not a database administrator per se – so this week’s edition will offer my biased take on the news. I hope you enjoy anyway. :)

DB2 and Informix
First up, Chris Eaton encourages us to have a look at (and get involved with) the new PHP-based DB2 Monitoring Console project at SourceForge.

The DB2MC aims be the long awaited Web-based console for managing DB2 instances and databases, merging the role of the standalone Control Center shipped with DB2 and the simplified approach to database administration taken by the popular phpMyAdmin project favored by many MySQL shops.

Over at DB2 Magazine, Scott Hayes of DBI asserts that “performing excessive and unnecessary sorts is the number two performance killer in most databases” on the Linux, Unix, and Windows platform. Fortunately, he offers a few tips for neutralizing this elusive killer.

On the mainframe, Robert Catterall provides some tips for maximizing performance when accessing data by tweaking the size of blocks fetched over the network from DB2 z/OS.

Further good news for DB2 customers is that the always popular “Recommended reading lists” for database administration and application development at IBM developerWorks have been updated for v9.

On the Informix platform, the latest issue of the International Informix Users Group (IIUG) Insider has been published, which announces that registration for the IIUG Informix conference is open, announces board elections (man, those middle American states have a lot of electoral clout) and reflects on the year marked by the release of IDS 11 at mid-year.

MySQL
Over at The Open Road, CNET blogger Matt Asay reveals MySQL CEO Mårten Mickos’ reflections on 2007. The widespread adoption of several editions of MySQL 5 was a highlight this year, along with advancements in scale-out features such as replication, partitioning, load-balancing, and caching.

Mickos notes that MySQL continues to build on its strength as a Web database and expand into corporations to complement instead of compete with existing proprietary platforms such as Oracle.

In other integration news, there has been some traction on the planned DB2 storage engine and MySQL port to i5/OS. An IBM Redbook will be published by the end of the month.

Moving down to the bare metal, Mark Robson has decided to put down an explanation for the many users who ask him about the pitfalls of running out of address space (not memory itself) on 32-bit MySQL installations.

Short answer: Spring for a 64-bit machine and stock plenty of RAM, regardless of the underlying operating system. :)

PostgreSQL
Andrew Dunstan offers up source for a conditional update trigger that intercepts modifications if their values don’t differ from what’s already in the database. This filter can save the expense incurred by unnecessary index updates.

Leo Hsu and Regina Obe clarify PostgreSQL’s support for stored procedures (or lack thereof) for a user over at the Postgres OnLine Journal.

They retort; “So the question is, is there any reason for PostgreSQL to support bona fide stored procedures aside from the obvious To be more compatible with other databases and not have to answer the philosophical question, But you really don’t support stored procedures?” Touché, grasshopper.

Robby Russell points us to the call for papers at PGCon 2008, and is himself interested in seeing a presentation relevant to Ruby on Rails Web app developers.

Oracle
Howard Rogers provides a hefty PDF of the courseware he once used to teach a 5 day bootcamp – complete with exercises, slides and explanatory notes on “everything there is to know about Oracle.” But does not that mean the oracle also knows everything about Howard? Think about it.

The seventy megabyte download targets 9i and has been partially updated for 10g, but the underlying themes should still be relevant for 11g.

Richard Foote provides details another subtle gotcha in his series on the difference between unique and non-unique indexes.

A befuddled Steven Karam details his root cause analysis of a problem upgrading Oracle 10 across x86 platforms. He found the solution despite a none-too-helpful error message. He concludes with a suggestion to Oracle for a better way to aid those who run into a similar problem…

Matt Topper announced a new way to keep up with Oracle news, a link-sharing site called Ora-Click.com. For those groaning “not another social network for geeks,” this is a subject specific site and looks quite slick. I can see this model being emulated by other technology or product knowledge domains.

Eddie Awad is already on board with the Ora-Click idea and has offered a few suggestions for making it even more useful.

SQL Server
There have been quite a few posts about learning the new features of SQL Server 2008 ahead of its hotly anticipated February release.

SSQA.net provides us with a pointer to virtual training courses that Microsoft is offering through the end of January ahead of the 2008 general release. This ten part Web seminar series covers topics ranging from high availability to manageability, security, business intelligence, and reporting.

Bob Beauchemin has a trio of tips for using the new features of SQL Server 2008. There are some tips on plan guidance, as well as a pointer on using row constructors.

Thrudb
With all the buzz surrounding SimpleDB in December, Ilya Grigorik, CTO of Igvita details Jake Luciani‘s “faster, cheaper alternative” to Amazon’s offering. So far the reviews are positive. If you’re into document-based databases or S3 storage, this is worth a look.

CouchDB
Anant Jhingran and Sam Ruby have announced that Damien Katz of CouchDB will join IBM over in Information Management. In addition, CouchDB will be donated to the Apache Software Foundation as a top level project.

ObjectStore
Dan Weinreb, co-founder of Object Design which developed ObjectStore, carries on the backlash against Michael Stonebraker with a detailed account of how object-oriented database technology did indeed succeed from both a business and technical perspective.

In a follow-on post the same day, Weinreb delves into more detail about the lessons learned when creating ObjectStore.

In the words of the great General Kenobi, “Luke, you will find that many of the truths we cling to depend greatly on our own point of view.”

 

And that wraps it up for this week’s Log Buffer. I hope you have a good time reading, but make sure you don’t spend all weekend in front of the computer, there’s plenty of good old analog wild card action to follow. Go Giants!

Have a great 2008!

Native XML Databases at NYPHP next week

17 October 2007 » DB2, Java, MySQL, PHP, XML

Elliotte Rusty Harold will offer his take on Native XML Databases at New York PHP next Tuesday night in Manhattan.

The presentation follows a mailing list thread and resulting blog post that generated a lot of interest and discussion on the topic. It should be a great talk for database administrators, application developers and content producers alike:

While much data and many applications fit very neatly into tables, even more data doesn’t. Books, encyclopedias, web pages, legal briefs, poetry, and more is not practically normalizable. SQL will continue to rule supreme for accounting, human resources, taxes, inventory management, banking, and other traditional systems where it’s done well for the last twenty years.

However, many other applications in fields like publishing have not even had a database backend. It’s not that they didn’t need one. It’s just that the databases of the day couldn’t handle their needs, so content was simply stored in Word files in a file system. These applications are going to be revolutionized by XQuery and XML.

If you’re working in publishing, including web publishing, you owe it to yourself to take a serious look at the available XML databases. This high-level talk explains what XML databases are good for and when you might choose one over a more traditional solution. You’ll learn about the different options in both open and closed source XML databases including pure XML, hybrid relational-XML, and other models.

As always, the meeting at IBM is free and open to the public, but you must submit your RSVP by 6PM EDT Monday, October 22nd.

DB2 for Intel Mac

24 September 2007 » DB2, IBM, Java, Mac, PHP

Antonio Cangiano has offered tantalizing news about the upcoming release of a developer’s edition of DB2 Express-C for Intel Macs.

According to Cangiano – a software engineer at the IBM Toronto Software Lab – a beta of the full data server, not just an application development client or driver, should be out by the end of the year.

The interest of Python and Ruby developers helped drive the case at IBM for a Mac version of DB2, but I imagine PHP and Java programmers on this platform are looking forward to the official announcement as well.

I’m still running on PowerPC and it would be nice to see DB2 released on an IBM processor built for Apple, but it’s another good reason to pick up a new Mac around Christmas :)

Elliotte Rusty Harold on native XML data servers

16 August 2007 » DB2, IBM, MySQL, PHP, Web development

Soon after a New York PHP mailing list exchange debating the merits of storing information in hierarchical XML format versus traditional relational tables, XML guru Elliotte Rusty Harold posted a summary of the State of Native XML Databases to his blog.

Like the thread that inspired it, the post has generated a lot of comments showing that it’s an emerging technology whose potential is not well understood and that the products which implement the technology aren’t well known.

Why use an XML database?
Before considering an investment in a data server which offers native XML storage (one which doesn’t decompose it, nor store it as an unstructured chunk; and which allows the user to query its arbitrary individual elements), it’s necessary to take a step back and see what XML as a storage method offers the Web developer.

  • What sort of information should be stored as XML?
    The examples cited by Elliotte include large documents where the document itself is composed of related data, yet which it would be inefficient to break down into related tables and columns. A book can be broken down logically into a title and an abstract but what about the individual paragraphs in each chapter? What of the table of contents and index which are derived dynamically from data which exists elsewhere in the document?
  • Why can’t this data be stored in another format?
    It can be stored, but how do you make use of it? You might shred it, but this requires time to decompose and then recompose, assuming you can get back the data in the form you require. For example, what if you needed the first paragraph and figure of every chapter to compose a detailed table of contents? How would you write that query? What would you do if you needed to add, remove, or reorder a paragraph in an encyclopedia?
  • Why is data stored in XML format increasingly becoming valuable?
    According to Elliotte Rusty Harold and Anant Jhingran, most existing data isn’t traditional relational data at all. There is a ton of information that can not be queried currently with traditional SQL nor stored efficiently in relational tables. Think about the Web itself, it’s a collection of documents that have individual (ideally semantic) structure.

Sound bites
Here are a few of the insightful nuggets which sum up Elliotte’s point of view. For some of his thoughts on the future of XML in general, have a look at his Ten predictions for XML in 2007.

From http://lists.nyphp.org/pipermail/talk/2007-August/022724.html

Roughly 80% of the world’s data cannot plausibly be stored in a
relational database. The 20% that does fit there is important enough
that we’ve spent the last 20 years stuffing it into relational databases
and doing interesting things with it. I’m still doing a lot of that.

But there’s a lot more data out there that doesn’t look like tables than
does. Much of this data fits very nicely in a native XML database like
Mark Logic or eXist. There’s also data that has some tabular parts and
some non-tabular parts. This may work well in a hybrid XML-relational
database like DB2 9.

If your only place to put pegs is a table with square holes, then you’re
going to try pound every peg you find into a square hole. However, some
of us have noticed that a lot of the pegs we encounter aren’t shaped
like squares, and sometimes we need to buy a different table with
different shaped holes. :-)

Relational databases didn’t take the world by storm overnight. XML
databases won’t either. But they will be adopted because they do let
people solve problems they have today that they cannot solve with any
other tools.

From http://lists.nyphp.org/pipermail/talk/2007-August/022788.html

XML is not a file format. We’ve been down this road before. A native XML
database is no more based on a file format than MySQL is based on tab
delimited text.

From http://lists.nyphp.org/pipermail/talk/2007-August/022789.html

Storing books, web pages, and the like in a relational database has only
two basic approaches: make it a blob or cut it into tiny little pieces.
The first eliminates search capabilities; the second performs like a dog.

Also from http://lists.nyphp.org/pipermail/talk/2007-August/022788.html

>> I’m glad we have multiple tools to bring to bear on this kind of
>> problem, because I worry about the performance implications of
>> querying an XML database for the average price of those books, or
>> performing an operation that adds another field (tag?) to each book’s
>> “record”.

Average prices, or adding a field, can be done pretty fast. I don’t know
if it’s as fast as oracle or MySQL. I don’t much care. Sales systems are
exactly the sort of apps that relational databases fit well. But
actually publishing the books? That’s a very different story.

>> If it’s not too much trouble, could you give us some other use cases
>> for an XML database? Because title and first paragraph, if that’s
>> something a system “routinely does” could easily be stored as
>> relational data at the time of import.

Just surf around Safari sometime. Think about what it’s doing. Then try
to imagine doing that on top of a relational database.

Think about combining individual chapters, sections, and even smaller
divisions to make new on-off books like Safari U does. Consider the
generation of tables of contents and indexes for these books.

Closer to home, think about a blogging system or a content management
system. Now imagine what you could do if the page structure were
actually queryable, and not just an opaque blob in MySQL somewhere.

And the takeaway from the State of Native XML Databases:

If you’re working in publishing, including web publishing, you owe it to yourself to take a serious look at the available XML databases. If they already meet your needs, use them. If not, check back again again in a year or two when there’ll be more and better choices.

The relational revolution didn’t happen overnight, and the XQuery revolution isn’t going to happen overnight either. However it will happen because for many applications the benefits are just too compelling to ignore.

Conclusion
This is interesting stuff, and I’m glad Elliotte was able to put forward some of the reasons one might use an XML database and describe the maturity level of the data server products out there now.
FLWOR
We’ve asked Elliotte to present at one of the upcoming New York PHP meetings in October or November. If he can’t make it, it would be interesting to hear from other folks doing PHP work with XML databases, such as the XML Content Store / Zend_Db_Xml in the Zend Framework.

« Previous pageNext page »