2 Sep 2010, 12:49 p.m.

MongoDB Support for Tera-WURFL

This is just a quick heads up to point out that Tera-WURFL now has support for using MongoDB as its data store. This is particularly exciting for me, since I contributed the original code. I've been benefiting from Tera-WURFL for years now, so it's pleasing that our ongoing migration to MongoDB at work provided an opportunity to give something back.

Posted by Simon Read more »
26 Aug 2010, 9:18 p.m.

Getting Started With Stored Procedures in MongoDB

My most exciting technical discovery this year has been MongoDB. Mongo is proving to be a very satisfying solution to a lot of problems, so I'll no doubt be mentioning it here many times in the near future.

MongoDB has support for stored procedures, which is great, but as a newcomer, I found it wasn't entirely obvious how to get started. I also found that the typically quite excellent MongoDB documentation tended to fall short on examples of the specific things I had trouble with. So here's a quick writeup of getting stored procs up-and-running in MongoDB.

Posted by Simon Read more »
13 May 2010, 10:23 p.m.

Successful Microsoft SQL Server Support for PHP on Linux

I recently had a requirement to enable a PHP application on Linux servers to connect to a remote Microsoft SQL Server database. Despite initial concerns that this was impossible or at least very difficult, compounded by numerous confused forum/blog posts suggesting it to be so, it turns out to be eminently achievable.

Unfortunately, there seems to be a lot of misinformation out there, so at the risk of adding to it, here's my writeup of getting PHP on Linux to talk to an MS SQL Server database, using both the mssql_* functions and the Zend_Db component of Zend Framework.

Posted by Simon Read more »
14 Mar 2008, 8:38 p.m.

MySQL versus PostgreSQL: Adding a 'Last Modified Time' Column to a Table

This is the second post here detailing my ongoing adventures with PostgreSQL. This time I had a requirement to add a "timestamp" column to a table. The point of this being to allow us to track the "last modified" time of a row, without requiring that the application code manage the timestamp itself.

There's a lot of reasons why you might wish to do this. In this case it was to simplify syncing the data into a data warehouse. More specifically, to allow the DBA to easily identify rows which have changed since the last import.

Having done this a couple of times in MySQL, I assumed that the process would be straightforward. I should know better by now!

Posted by Simon Read more »
5 Mar 2008, 1:01 a.m.

MySQL versus PostgreSQL: Adding an Auto-Increment Column to a Table

The bulk of my database experience (almost eight years now) has been with the popular open-source MySQL database management system. MySQL has progressed significantly over the years, and has grown into a remarkable product. It finally has all the must-have features such as views, stored procs and referential integrity, coupled with the blistering performance for which MySQL has always been known. In short, it rocks.

But I digress. I've recently been having to get to grips with PostgreSQL (an old version of course - 7.1 or so - just to make life really interesting). It's largely intuitive, but there are quirks around most corners. This is my favourite so far: I recently needed to add an auto-incrementing integer "id" column to a table.

Posted by Simon Read more »
7 Sep 2007, 10:31 p.m.

Are Relational Databases Obsolete?

I found this hilarious.

Michael Stonebraker, co-creator of the Ingres and Postgres database management systems, recently made a blog posting suggesting that column-oriented database engines (example: Vertica) might someday triumph over the traditional row-oriented engines (example: every other database engine you know) in some situations, perhaps most notably the data-warehousing field. It's an interesting post, and well worth reading.

Somebody else thought so. Computer World reported the story under the title:

Relational database pioneer says technology is obsolete.

Slightly sensationalist, but whatever. And so naturally the story turned up on Slashdot as:

Are Relational Databases Obsolete?

Did anybody read TFA? I doubt it.

The real shame is that, I suspect this is how most 'real' journalism happens too.

Posted by Simon Read more »