Nov 17

My links of the week – November 17, 2013


Here are the links for the last week. It is a rather extensive list, resulting from the difficulties in choosing from so many interesting articles.

  • SQL Server:
    • Paul Randal’s Are I/O latencies killing your performance? addresses latency in tempdb and log files access, starting with the results of a survey that collected such data from around 1100 servers. The post suggests values for what can be considered good or bad I/O latency and includes recommendations and additional links that can help determine the causes and correct the problems, when I/O latency is not good.
    • Jez Schultz Borland’s What You Can (and Can’t) Do With Filtered Indexes addresses filtered indexes and how they can help improve performance, when a query includes a WHERE clause that will return just a fraction of the total number of records in the table. The article shows examples of what you can and can’t do in the WHERE clause for a filtered index to be used and includes links to further resources on filtered indexes.
    • Jen McCown’s Compare tables to find missing rows presents several solutions, using T-SQL, to compare two tables, to determine which records are missing from one of them. 
    • Tim Wiseman’s SQL Server Operations from Set Theory present’s SQL Server’s UNION, EXCEPT and INTERSECT operators explains their use, resorting to set theory and suggests situations where their use can be of help.
    • Rick Dobson’s Masking Personal Identifiable SQL Server Data presents a way to mask confidential data, while allowing data professionals access to such data. At a time where data privacy seems to be a forgotten concept, this article presents an interesting technique to protect personal and confidential data from regular database users.
    • Francesco Cogno’s Backup to Azure using TSQL (and CLR) presents a way to perform a backup to Azure Blob Storage using T-SQL and the Microsoft SQL Server To Windows Azure helper library.
    • Troy Hunt’s Using high-spec Azure SQL Server for short term intensive data processing shows how a SQL Server VM was used by the author to process 153 million records of passwords obtained from the infamous Adobe data breach. While not covering the details of how SQL Server was used to process the records, it is an excellent example of how the cloud (Azure, in this case), can be used to access very powerful hardware resources, for just the time these resources are needed, at a very low cost.
    • Microsoft’s SQL Server Team’s How Does SQL Server Parallel Data Warehouse (PDW) Deliver the Performance that it Does? presents a whitepaper that describes how the PWD works and the performance gains it can offer in typical data warehouse scenarios.
    • The SQL Server 2014 links page, here, saw a few additions, this week.
  • Big Data:
    • Matthew Mombrea’s Essential reading for choosing a NoSQL database provides an interesting set of resources to get started with NoSQL databases and to obtain information on how to chose the best suited database for the project at hand.
    • Michael Hausenblas’s Applying the Big Data Lambda Architecture presents the Lambda Architecture, a generic architecture addressing common big data requirements, designed by Nathan Marz. The article presents, in some detail, a way to use the architecture to design an example social network. It also provides links to additional resources on the architecture and possible components to some of its layers. A most interesting read.
    • Brian Rinaldi’s Current Trends in NoSQL – Q&A with Peter Bell addresses several aspects of NoSQL databases, including adoption trends, NewSQL products and immutable data stores.
    • Igor Pagliai’s How to create a SQL Server Linked Server to HDInsight HIVE using Microsoft Hive ODBC Driver shows, through a very detailed example, how to create a SQL Server linked server to HIVE, using the recently released Windows Azure HDInsight Service and how to issue queries to the HIVE tables using SSMS. A very good read.
  • Web Design and Development:
    • Wilson Page’s An Introduction To DOM Events presents an excellent introduction to DOM events, covering multiple aspects of the subject, from event listening to a detailed presentation of the Event object,custom event creation, using delegate event listeners, ending with a listing of useful events. An excellent introduction to the subject.
    • Bryson Meunier’s SEO For Responsive Websites presents an audit of a responsive website, covering multiple aspects that a responsive website should cover, in order to make it SEO friendly.
    • Paula Borowska’s The Next Big Thing: Responsive Icons presents responsive icons, explaining what they are and how they can be created and implemented.
    • Dan Tao’s Bootstrap without all the debt describes some of the issues that may result from the use of the framework (tight coupling, non semantic markup) and suggests a way to avoid them. A good read.
    • The Visual Studio 2013 Resources page also saw the addition of several new articles on Visual Studio 2013
  • Professional Development:
    • Grant Fritchey’s Cargo Cult Data Professionals is a very interesting article addressing “cargo cultists”, a term coined by Eric Lippert, which could be loosely described as people who have no clear idea on why things work the way they do and just keep doing their work using ready made ideas without actually caring to know whether they are right or not and who feel no need to learn and improve their knowledge and skills. It’s a very good read.
    • Nicholas Carr’s Is software de-skilling programmers? is a rather short, but nonetheless interesting article, on how modern IDE’s can lead to the de-skilling of software developers, while establishing parallels with similar de-skilling past trends, due to the introduction of mechanization. A thought provoking article.

That’s all for this week. Thanks for reading.

Nov 12

T-SQL Tuesday #48 – Cloud Atlas – #TSQL2sDay


This post is meant to be part of Novembers 2013’s edition of T-SQL Tuesday, a rotating blog party started by Adam Machanic (@AdamMachanic | blog). This month’s edition is hosted by Jorge Segarra (@SQLChicken | blog) and the topic is the cloud:

“This month’s topic is all about the cloud. What’s your take on it? Have you used it? If so, let’s hear your experiences. Haven’t used it? Let’s hear why or why not? Do you like/dislike recent changes made to cloud services? It’s clear skies for writing! So let’s hear it folks, where do you stand with the cloud?”

The personal perspective

 It’s hard not to have been exposed to “The Cloud”, either through our personal use of technology – a smartphone, a tablet, a modern operating system – all of these offer cloud based services in a way or another. Confronted with these offerings, it’s not hard to find many people who see these offerings with a bit of mistrust. Who are we entrusting our data to? Who gets access to it? How is our privacy ensured when we trust personal data to a cloud provider? Who can guarantee that we are not trusting our data to a provider that won’t be here in a year or so?

These are all questions that I regularly am faced with, especially at Windows Secrets, where I am a moderator. Some of them are quite pertinent and I can’t say that I have an answer for all of them. Of course, when adopting the cloud, and especially if we are using it to store valuable personal data, such as contacts, documents or, even more so, passwords, a great deal of care must be taken with the choice of provider, which can answer some of the previous questions.

In terms of personal use, I confess I am less hesitant. I am using multiple cloud services from SkyDrive to Cubby, LastPass or, to keep documents, backups, or even code related to personal projects. Being fully invested into the Microsoft stack, I own a Windows Phone and run Windows 8 on my laptop, all my contacts are now kept at and the Microsoft account has become increasingly important.  I am, thus, a cloud user and I can say that I am coverted to the Cloud’s benefits.

The professional perspective

Having changed jobs a year ago, my first project at my current position was fully into the cloud. I can say we are really a “Microsoft shop” and the project was a web app, that we will be releasing soon and that was hosted on Azure and used SQL Azure a backend. It was not an easy start, since we found SQLAzure not a really the best option, at the moment, both from a performance perspective, and from a cost perspective. Although we ended up deciding not to use Azure for this specific project, it’s clear the cloud offers quite a few advantages in terms of availability, scalability, ease of management, even cost, since the use of resources only when you need them can be very interesting. 

For anyone developing using Microsoft technologies, which the case of my company, Microsoft is building quite a compelling case. The assortment of easy to use management tools, the integration of Azure with some of the usual Microsoft development tools, like Visual Studio, the sheer convenience of having a Virtual Machine running the OS of your choice, in a hardware configuration that can be suited to the specific use case at hand, in just a few minutes, all of these make quite a compelling case for “The Cloud”. Of course, Microsoft is not the only cloud player and the competition between cloud providers is bringing costs down, which makes the cloud even more compelling.  

The cloud is seeing its popularity increasing, accompanied with with improvements on technology and management tools, at the very same time that NoSQL is gaining acceptance. These two technologies go pretty much hand in hand, since NoSQL has infrastructure requirements that would be harder to meet without cloud providers. So I think we’ll be seeing both evolve and gain more traction as time goes by.

Just as in the case of NoSQL, the cloud is no silver bullet. Using either of them only makes sense with the proper use cases, something that doesn’t happen all the time. It’s not hard to find examples of use of a given technology, just because it is the new hype. So, for both of them, it’s important to use them in scenarios where they make sense, both from a technological and an economic point of view. 


There are very compelling reasons to adopt the cloud and in the scenarios where that makes sense, we’ll see its usage increasing. Technology will keep improving and we’ll certainly see more scenarios where the cloud will be a valid option. For anyone working on IT, the cloud as a viable technological and economical option, is already something that needs to be considered. Failing to do so, may be costly and a competitive disadvantage.