Archives

Archives / 2012 / January
  • I was ahead of my time? (SQL FileTables)

    A long time ago in a land far away (ok, 40 minutes west and 20 years ago but lets not quibble over the details) I started playing with Microsoft Access. I loved I (Yes. I said I loved Access. It was the 90's. Things were different then. We shall never speak of this again. Thank you.). In fact, I over-loved it. I shoved everything into it.  Application data, logging, security and even files. Yes, I said files. I know, I know. It was a bad idea.

    Now fast forward to 2012 and SQL Server 2012 introduces File Tables. That's right, file storage in the database that actually works like I wanted it to. So while you may see my story as a failure to understand basic database principles, I'm choose to believe I was just ahead of my time.

    File Tables is an extremely powerful and cool tool in the SQL Server 2012 arsenal. The description from the documentation says it all:

    The FileTable feature brings support for the Windows file namespace and compatibility with Windows applications to the file data stored in SQL Server. FileTable lets an application integrate its storage and data management components, and provides integrated SQL Server services - including full-text search and semantic search - over unstructured data and metadata.

    In other words, you can store files and documents in special tables in SQL Server called FileTables, but access them from Windows applications as if they were stored in the file system, without making any changes to your client applications. [emphasis mine]

    The only downside is that apps that use memory-mapped files like Notepad or Paint don't work if SQL Server is on the same machine (this isn't a problem if SQL is remote) but that's a edge-case if you ask me. It is based on FileStreams so it carries any limitations over from there as well.

    Pretty slick stuff.

  • Stop! Hammer timeā€¦

    For lovers of hyperbolic technology predictions, 2011 was a banner year. Based on media coverage one would assume that right now I'm sitting in front of my 3D TV while I write this blog on my phone. Meanwhile my ceiling is checking the weather while my refrigerator is busy posting to Google+ that I'm low on coconut water.

    My favorite of 2011 was the predicted death of the PC. What makes this one so interesting is that people were eager to jump on the bandwagon, there was little agreement as too why. Some said the Smartphone would replace the PC. Others said we'd all switch to using tablets. Meanwhile we saw millions of PC ship during the holidays.

    This boils down to the old adage that when all you have is a hammer, everything looks like a nail. The reality is that there are screws in the world. And they don't interface with hammers very well.

    While it would be nice to have a 60" resizable 3D touch-screen device that I can put into my pocket and expand while sitting on the couch to better see Angry Birds, it just isn't going to happen any time soon. Instead we'll have different devices for different tasks. There will be room for your hammer in the tool box, but it won't be your only tool.

    My wish list? A Smartphone in my pocket, a 30" monitor docked to my Laptop on my desk, a Tablet on the end table and a big whopping 70" TV in the living room. On top of that, I'd like the Cloud to sync content between all these devices. It would also be nice if they all shared a common interface.

    I already have a lot of this. Okay, I don't have a 70" TV (if anyone knows of a foolproof Wife Acceptance argument for such an item, please share). As I look around the house right now I do see most of this coming together.

    I have a Windows Phone 7 in my pocket. It syncs my documents, photos and OneNote up to the cloud. I've got Windows 8 Developer Preview running on my Laptop which is docked in the office. Next to the Couch is an Asus tablet, also running Windows 8 Developer Preview (I use this Tablet quite a bit, it comes to every meeting I attend and every flight I take). On the TV is my XBOX 360 playing a movie. All of these devices sync to the Cloud, they all run a Metro Style UI. I'm able to share content between them, editing on one and consuming on another effortlessly.

    Now all I need is my fridge to acquire an IP address while I look up what the heck coconut water is and why I'm suppose to care that I'm out of it.