Category: Editorial

  • You Can Telecommute

    Working in my own litlte world

    I’ve written a number of pieces about telecommuting over the years, and while some people have had success in getting permission to work from home, many of you tell me that your current manager, and likely every manager you’ve ever had wouldn’t allow it. There are a huge group of people that are convinced telecommuting is not in their future. I think you’re wrong, and let me tell you a story.

    Years ago I went to work for a small (50 people), old company. The CEO had worked their his whole life, his father had worked there most of his life, and they had very conservative values and ideals. They both wore suits to the office every day and I was expected to do the same, even as an IT guy. I went out and bought 4 or 5 suits the first year I worked there, along with slacks, shirts, and (shudder) ties.

    I argued, politely and regularly, with the CEO that the clothes didn’t really influence the quality of work. We rarely had clients in the office. My boss, the VP, agreed, and we found numerous studies and surveys that proved our point. Others felt the same way, but we two were the only one that regularly tried to debate the issue. I’d often return from a run or swim at lunch and “forget” to tighten up my tie. Usually by 2pm, however, my boss would come by to “remind” me.

    After a year, we managed to get “casual” Friday, where we could wear (non-logo) polo shirts and khakis. No faded jeans, no sneakers, and it’s almost what many companies would see as business casual today. Another year or two went by, with regular chastising of my afternoon dress, often followed by a short debate on the subject. Eventually my boss allowed us to pilot “casual” dress on all non-client days, and jeans on Friday. No faded jeans, but more comfortable wear. Work didn’t suffer, and while my boss still wore suits, he accepted that we didn’t need to. I think I even saw him wear a shirt without a tie one day before I left.

    You can do the same thing with telecommuting. Offer a pilot, show articles, blogs, and studies that talk about telecommuting, set up metrics to measure work, and get employees to agree that the privilege can be suspended. I am sure with some regular debates and discussions, perseverance and persistence, you can find a way to implement telecommuting if your job can be done remotely.

    Steve Jones


    The Voice of the DBA Podcasts

  • Time for a ROWID?

    Do we need a ROWID structure in all SQL Server tables?

    One of the things I’ve been doing lately is looking forward to future versions of SQL Server. Not SQL 11/Denali, which has CTP 3 out now, but more towards the future. SQL 12 and beyond, and wondering how the platform can advance and incorporate new ideas and knowledge from other areas such as NoSQL or NewSQL. I also have been trying to decide which parts of SQL Server could be improved to be more robust of scalable, or address some failings in the platform.

    Our systems seem to be growing larger, and storage seems to cost less all the time. While this doesn’t always result in cost savings, it does mean that we may be ready to increase the page size in SQL Server once again, perhaps growing to 16k or even 64k. If that follows as I/O transfer sizes grow, then is it time to add in a rowid marker of some sort that gives us a unique handle to every row on a page?

    I know this adds some overhead, and in reading about the internals of current pages, that overhead can be significant. However it seems that I find people that regularly have non-unique clustered indexes, or heaps, and could require SQL Server to differentiate the rows internally. With our busses increasing in size and larger sectors on disks, perhaps the overhead isn’t out of the question.

    This would allow for some interesting benefits for replication, with the possibility that any object could be replicated, no matter what the structure. It also might allow us to very efficiently eliminate duplicates and perhaps improve the efficiency of some T-SQL commands.

    What do you think? Is it time for a true ROWID? Time to increase the page size for SQL Server?

    Steve Jones

     


    The Voice of the DBA Podcasts

  • NewSQL Can Save the World

    Michael Stonebraker, a database pioneer and researcher, recently said that Facebook’s implementation of MySQL was “a fate worse than death,” and they ought to rewrite their entire infrastructure. I think that analogy is a bit extreme. That statement also shows me that relational databases can scale to some dramatic heights with creative engineering as Facebook as shown with MySQL. I suspect that Facebook could easily use SQL Server and complex sharding of data to power the site if they wanted to in place of MySQL.

    Mr. Stonebraker has another solution for the “oldSQL” problem of scaling to very high volumes of transactions while maintaining ACID principles. He has a company that makes VoltDB, a database that lives in memory, complies with ACID principles, and can scale to very high transaction volumes.

    Can VoltDB solve the RDBMS scaling issues?

    That’s part of a wave of products that are classified as “NewSQL”, or even ScalableSQL, solutions. These databases embrace the power of SQL and even relational databases, but build scalability and high availability directly into the products. It’s interesting to see SQL Azure on the list of NewSQL products, and it makes me think that Azure is much more than just a VM in the cloud running SQL Server. At least I hope it is and includes some scaling features beyond what a single VM can provide.

    Running in memory scares me, but perhaps if you expect failure of nodes, and you have some sort of replication of the data among many nodes, it can work. I do worry about the consistency across the nodes and the latency that can affect this, but perhaps these products do a good job of addressing these concerns. I still think a large scale power failure could be disastrous, so I assume these products do write to disk at some point.

    I do agree that the relational model can scale, and I’m sure that we will see SQL Server grow to encompass and accommodate the concerns of customers that need to run large scale databases in the future. I’m just not sure how they’ll do it.

    Steve Jones


    The Voice of the DBA Podcasts

  • Leave Developers Alone

    Working in my own litlte world

    A computer deals with interrupts all the time. They are the mechanism by which it can simulate multi-tasking among many different programs in a modern operating system. However those interruptions have a price, and too many of them can affect performance. As hardware grows larger, we have other issues from interruptions that we try to mitigate with techniques like soft-NUMA affinity or multiple pipelines built into hardware. All of these are designed to prevent a computer from spending any significant time on non-productive tasks because of interruptions.

    In the real world, many of us deal with regular interruptions from work. They might be emails, instant messages, phone calls on a cell phone, or the old fashioned someone-stopping-by-your cube-to-chat. All of these things add up to less productivity, especially for developers. One study finds a 10 point IQ drop from regular email and phone interruptions. I don’t know about you, but I’m not sure I can afford a 10 pt drop in IQ when I’m working.

    Some companies are starting to realize that developer’s brains are a scarce resource, andinterrupting them can dramatically impact productivity. I have found some places, like this one, that are setting aside quiet time for developers to work without being bothered. Similar to the technical debt that Steve McConnell has talked about, there seems to be an interruption tax that some development shops are loathe to pay.

    Even if you don’t gain any productivity, or have fewer bugs, or ship more often, I think that your developers will appreciate it. It could be an easy way to increase happiness, improve retention, and even sell your company as a good place to work. And it’s easy to implement: just leave people alone a few hours a day.

    Steve Jones


    The Voice of the DBA Podcasts