Pinalkumar Dave is one of my favorite SQL Server bloggers. What I most appreciate is the simplicity of his posts and the relevance of the content. Most of the times he writes about simple things, but very useful for the SQL Server developers. And when he writes about complex stuff, he makes sure that he present them in a very simple manner so that both experts and beginners can understand them alike.
Pinal is a Microsoft SQL Server MVP and a prominent authority on SQL servers. He has written over 1000 articles on the subject on his blog at http://blog.sqlauthority.com . He is a dynamic and proficient Principal Database Architect, Corporate Trainer and Project Manager, who specializes in SQL Server Programming and has 7 years of hands-on experience. He holds a Masters of Science degree and a number of certifications, including MCDBA and MCAD (.NET). He was awarded Regional Mentor for PASS Asia and is also mentor for Solid Quality India (http://www.solidq.in).
Jacob: You are well known for your capability to explain complex things in a simple manner. Could you explain what "beyond relational (BR)” means?
Pinal: In simple terms, this means that it is beyond relations to traditional RDBMS. There are so many things to talk about when we stop thinking in terms of relationals. When we say “beyond relationals”, this does not mean that we move away from the relational database. In fact, for me words suggest quite the opposite; they imply strong ties to relational databases. It would not be termed “beyond” if it had nothing to do with relationals. The science of “beyond relational” picks up relationals where traditional RDBMS stop.
Jacob: Are you more of a “relational” or a “beyond relational” guy, or both?
Pinal: I am “relational” guy, who has recently learnt a lot about “beyond relational”. If you ask me the same question in 3 months, my answer will probably be that I am both.
Jacob: What is the relevance of BR in SQL Server and what do you think is future of BR?
Pinal: SQL Server and BR are comparable to non-identical twins. Although the two concepts don’t look alike, they cannot be separated. As an end user, it is very difficult to find separation between them.
There are many components in the BR feature set and it is very difficult to identity all of them here. The important BR components are XML, CLR Integration, Filestream Storage, Hierarchical Data and Spatial Data. Describing the features of all the BR components could take years. Let us simply say that without BR, we would be in a relational prison, with very limited relational potential, whereas with the exploration of the features of BR, the possibilities are unlimited.
Jacob: What is your favorite BR feature available in SQL Server and why?
Pinal: This is a difficult question to answer. It is like asking a parent who their favorite child is. While I like most of the features, I will select one as my favorite. I am particularly impressed with the Filestream storage type. As you are probably aware, varbinary and image are very difficult data types to handle and it is a pain to manage them. Filestream storage overcomes all the limitations and has emerged as a true winner in terms of storage. I have analyzed this subject on one of my recent blogs: http://blog.sqlauthority.com/2009/07/08/sql-server-blob-pointer-to-image-image-in-database-filestream-storage/. BTW: I read your FILESTREAM article http://www.simple-talk.com/sql/sql-training/an-introduction-to-sql-server-filestream/. I think it is a must-read for all SQL Server developers.
Jacob: Where do you see XML in the BR world?
Pinal: To my mind XML, has an important place in both the “Before” and “Beyond” relational world. It is a link or bridge between these worlds. Instead of justifying this statement by way of example, let me rather ask you this: “Can you relate a PDF file, a movie file and their analysis database to a relational database, so that their attributes are searchable and remain meaningful, in any other way than by XML format?”
Jacob: Could you give a real life scenario where XML data storage is beneficial over the relational model?
Pinal: This question belongs in the “‘it depends”’ category. One example where I use XML is with online listings of auction site items. I am not always sure what will be important to each client. For some colors matter most and some find size more important. Instead of creating new columns for everything, I simply store the data in XML format and its schema in another column. I use the techniques demonstrated in the book “The art of XSD” to validate the schema and give different search conditions to different clients based on their preference.
Jacob: What is your comment if you hear some one says "XML is evil"?
Pinal: Without the existence of evil, divine does not exist. Everything is relative. I would not correct a person who thinks XML is evil because it is their opinion. In fact, I simply avoid discussions on the subject. XML is useful; all things have their uses. Closing our eyes does not make world blind, but perhaps I should stop philosophizing here.
Jacob: Where can we catch you up on the web?
Pinal: I am at http://blog.sqlauthority.com. Please feel free to drop me a line at pinal ‘at’ sqlauthority.com