Category: Editorial

  • The Platform Problem

    A fantastic platform. If I had a choice of where to run it.
    A fantastic platform. If I had a choice of where to run it.

    I really like the idea of Azure providing a Platform-as-a-Service (PaaS) for applications to be built on. As I’ve evolved in my career, I’ve learned I prefer not to manage individual machines or deal with the complexities of configuring anything outside of SSMS for SQL Server. Working with Hyper-V recently has cemented the idea that I don’t become more productive by dealing with the complexity of the Windows host.

    However I can’t see many customers migrating the majority of their applications to the PaaS Azure service for one reason: there’s no competition.

    Moving to Azure means placing a big bet that Microsoft will continue to offer the same or more features, more powerful machines, and stability at a reasonable price. Moving to Azure also assumes that you are comfortable working with only Microsoft for the foreseeable future, using their data centers, staff, and products. Any code you write will be specific to Azure.

    If you were to use the IaaS services from another vendor, like AWS and their virtual machines, a migration might still require some code changes. However, I’m sure if I contracted for virtual machines from Rackspace or some other provider, I could easily redeploy my application elsewhere. Well, perhaps not easily, but certainly easier than if all my code depended on a platform I can’t run inside my own data center. A platform nobody outside of Microsoft can run.

    My view is that Azure is a great platform, and one that could explode in usage. If we have choice.

    Microsoft should sell us the code to run inside our own data centers, or at least license it for a number of large providers that might want to offer Azure services. Ultimately the success of the platform depends on people choosing Microsoft because it’s the best choice, not because it’s the only one.

    Steve Jones


    The Voice of the DBA Podcasts

    We publish three versions of the podcast each day for you to enjoy.

  • Better Coding, More Savings

    Learn to build better systems the first time with a little investment in your career.
    Learn to build better systems the first time with a little investment in your career.

    I’m sure most of us would like to think that we write fairly efficient code. However the reality for many of us might be that we don’t actually know. Many of us use the same patterns and practices that we’ve been using for a long time, rarely changing. When we learn a new technique or find a different way of coding that works better, we tend to then use that method over, and over, and over, and over again.

    I would guess that if many of us profiled our code, and examined the CPU and network bandwidth we consume, we might be surprised at what we find. CPU and network usage isn’t something we are often concerned about. We assume that we’ve bought a machine and we should be able to use as much of it as we can at any point in time. That’s not the best approach, but since we often have more hardware than we need for many processes, it works. It also explains why so many applications struggle as the load increases. They’re not coded efficiently.

    If you’re going to work in the cloud, you better learn to code more efficiently, mostly because it costs money. If you think about your design, you can reduce the amount of resources you use. In the cloud this translates to less cost. In the on-premises world, this means better performance and higher scale. It also means less complaints and phone calls.

    Scaling up an application can be hard, but much of the struggle comes from poorly coding your application in the beginning. Most of us have heard the saying that it takes less time to do it right the first time. That’s true in many situations, and it’s true for your application development. Learn to write more efficient code and use patterns that conserve resources. You’ll find your applications will run better, no matter what type of environment hosts them. If you’re not sure what patterns and practices work well, read an article or ask a question and find out what efficient techniques others use.

    Steve Jones


    The Voice of the DBA Podcasts

    We publish three versions of the podcast each day for you to enjoy.

  • Visualizations

    thousandwordsThey say a picture is worth a thousand words. An image can convey an incredible amount of information, though the interpretation can vary widely depending on the viewer’s perspective. However images can often condense information into a much smaller space. One that is often clearer to many people than a large spreadsheet or numbers or pages of words.

    Visualizations can help us understand and consume a large amount of data quickly. They don’t always provide all the information we need for a decision, but they make it easier for us to understand where we should look deeper. There’s a great piece on how visualization tools help us understand big data, and also a tour of visualization methods (thanks to Brent Ozar, PLF).

    Many of us are working with larger and larger amounts of data, and being asked to help business people find tools or methods to work with data. We’re also writing lots of reports to extract information, and I wanted to ask this question:

    What visualization methods do you prefer working with?

    If you have more than one, let us know, and if you have preferences for certain types of data or analysis, let us know. If you’ve found some techniques that don’t work well or mislead people, let us know about those as well.

    Images, animation, color, and more can really improve the transfer of information, but it’s not always as useful as we might think. One of the points brought up in the editorial linked above is that our tools and visualizations need to account for uncertainty in the data quality. I don’t know what methods and tools we’ll use in the future, but I do know that our choices continue to grow in the SQL Server space as new tools like Power View and Geoflow are released.

    Steve Jones


    The Voice of the DBA Podcasts

    We publish three versions of the podcast each day for you to enjoy.

  • A Broken Data Model

    This apparently wasn't foolproof on one of my trips.
    This apparently wasn’t foolproof on one of my trips.

    On one of my recent trips, there was a delay in leaving the gate. There were two passengers, both of whom had the same seat assignment on their boarding pass. You’d think there would be some sort of primary key that prevented this situation from occurring, but with the constant reassignment and movement of passengers at the gate, I can understand this happening. We print passes at a point in time, but since data can be revised, and new passes printed, there potentially would be a conflict.

    However what came to light as we waited was both disconcerting and puzzling to me. The real problem was that one of the passengers was supposed to be on a later flight to the same city.

    Apart from the security implications, it seems to me that the ability of someone to get through the scanner near the jetway with a boarding pass for the wrong flight implies a broken data model. I can only guess that the scanner is reading a passenger’s name, destination, and seat number. Or that the flight data model is broken and there are two flights on the same day that share a flight number. The journey was short, so I suppose this airplane could have actually been making two round trips in a day.

    I can’t image the complexity and problems that programming an airline’s flight system must bring to the data models and applications. With the constant shuffling of people, flights, and seats, I’m regularly surprised that it works smoothly most of the time. As my airline has modernized their systems, I’m even amazed at how much data they disclose on monitors to passengers waiting for upgrades or standby flights, and how quickly my mobile app updates with new data when there’s a change.

    I’d never experienced someone getting on the wrong flight before, and was surprised to find their software allowed it. However given that so much of the airline industry relies on systems that were developed decades ago, perhaps I shouldn’t be surprised.

    Steve Jones


    The Voice of the DBA Podcasts

    We publish three versions of the podcast each day for you to enjoy.

    Due to some technical issues, there is no podcast today, but we will return with a new episode tomorrow.