File and Object Storage

File and Object Storage

Software-defined storage for building a global AI, HPC and analytics data platform 

 View Only

Should SQL be considered a Storage Protocol?

By Tony Pearson posted Thu June 28, 2012 12:43 PM

  

Originally posted by: TonyPearson



SQL

Can Structured Query Language [SQL] be considered a storage protocol?

Several months ago, I was asked to review a book on SQL, titled appropriately enough "The Complete Idiot's Guide to SQL", by Steven Holzner, Ph.D. As a published author myself, I get a lot of these requests, and I agreed in this case, given that SQL was invented by IBM, and is a good fundamental skill to have for Business Analytics and Database Management.

(FTC Disclosure: I work for IBM but was not part of the SQL development team. I was provided a copy of this book for free to review it. I was not paid to mention this book, nor told what to write. I do not know the author personally nor anyone that works for his publicist. All of my opinions of the book in this blog post are my own.)

Despite an agreed-upon standard for SQL, each relational database management system (RDBMS) has decided to customize it for their own purposes. First, SQL can be quite wordy, so some RDBMS have made certain keywords optional. Second, RDBMS offer extra features by adding keywords or programming language extentions, options or parameters above and beyond what the SQL standard calls for. Third, the SQL standard has changed over the years, and some RDBMS have opted to keep some backward compatibility with their prior releases. Fourth, some RDBMS want to discourage people from easily porting code from one RDBMS to another, known in the industry as vendor lock-in.

Throughout my career, I have managed various databases, including Informix, DB2, MySQL, and Microsoft SQL Server, so I am quite familiar with the differences in SQL and the problems and implications that arise.

Most authors who want to write about SQL typically make a choice between (a) stick to the SQL standard, and expect the reader to customize the examples to their particular DBMS; or (b) stick to a single RDBMS implemenation, and offer examples that may not work on other RDBMS.

I found the book "The Complete Idiot's Guide to SQL" covered the basics quite well, but with an odd twist. The basics include creating databases and tables, defining columns, inserting and deleting rows, updating fields, and performing queries or joins. The odd twist is that Steven does not make the typical choice above, but rather shows how the various DBMS are different than standard SQL syntax, with actual working examples for different RDBMS.

You might be thinking to yourself that only an idiot would work in a place that had to require knowledge of multiple RDBMS. The sad truth is that most of the medium and large companies I speak to have two or more in production. This is either through acquisitions, or in some cases, individual business units or departments implementing their own via the [Shadow IT].

(For those who want to learn SQL and try out the examples in this book, IBM offers a free version of DB2 called [DB2-C Express] that runs on Windows, Linux, Mac OS, and Solaris.)

Last week, while I was in Russia for the [Edge Comes to You] event, I was interviewed by a journalist from [Storage News] on various topics. One question stuck me as strange. He asked why I did not mention IBM's acquisition of Netezza in my keynote session about storage. I had to explain that Netezza was not in the IBM System Storage product line, it is in a different group, under Business Analytics, where it belongs.

While it is true that Netezza can store data, because it has storage components inside, the same could also be said about nearly every other piece of IT equipment, from servers with internal disk, to digital cameras, smart phones and portable music players. They can all be considered storage devices, but doing so would undermine what differentiates them from one another.

Which brings me back to my original question: Should we consider SQL to be a storage protocol? For the longest time, IT folks only considered block-based interfaces as storage protocols, then we added file-based interfaces like CIFS and NFS, and we also have object-based interfaces, such as IBM's Object Access Method (OAM) and the System Storage Archive Manager (SSAM) API. Could SQL interfaces be the next storage protocol?

Let me know what you think on this. Leave a comment below.

technorati tags: ,

5 comments
4 views

Permalink

Comments

Tue July 17, 2012 07:57 AM

Originally posted by: Circe


How interesting, that you were asked whether Netezza was part of the IBM System Storage product line! I was puzzled about Netezza until I had the opportunity to use it in 2009. It was referred to as an "appliance", with very fast processing for statistical analysis, which is what I do (it makes sense, well it does to me, that Netezza is part of IBM's Business Analytics group). I wouldn't think of SQL as a storage protocol. A storage protocol would be closer to hardware, I think. SQL is better characterized as a programming language. There are many different varieties, of course. Running programs on "the Netezza" required some different syntax, but it was still SQL. Storage is more than SQL though. That's also why I don't see it as a protocol.

Fri July 13, 2012 03:36 PM

Originally posted by: TonyPearson


Thanks for the comment, Seb! There are standards groups looking at new protocols so you may have this sooner than you think. -- Tony

Tue July 03, 2012 03:57 AM

Originally posted by: seb_


Hi Tony, I think it's a valid point of view to see it as a storage protocol, because at the end it's there to query, create and manipulate data and meta-data and so maybe we should have label it a storage protocol all the time. But I don't think it will be "the next storage protocol", because imho it's too focused on relational data (with some exceptions). I would prefer a new approach from the scratch when it comes to thinking about "the next storage protocol" rather than bending and tweaking the specialized SQL into a general role. Cheers seb

Thu June 28, 2012 04:03 PM

Originally posted by: TonyPearson


BD, Thanks! Good to know! -- Tony

Thu June 28, 2012 01:12 PM

Originally posted by: AlexMarini


Hello Mr Tony! That´s a nice perspective, since most of RDBMS nowadays are able to store binary, images, and so many other data types. I´d like to add a comment (if you allow me to, of course) that IBM Informix also does have a free edition, even for production systems, called Innovator-C Edition. Our engine is getting better, more stable, and demands few administration to run. Best regards from Brazil!