Author: way0utwest

  • The Layman’s View of a DBA

    I wrote this piece as a guest on Bradmcgehee.com for the DBA in Space competition. Republishing here.

    A DBA (Database Administrator) is someone who takes care of your data. When you place an order on Amazon.com, it’s the DBA who ensures the order is permanently recorded in the database. If one of the computers at Amazon fails, and they regularly do, the DBA can recover the data. The DBA should be the person that prevents part of your order from getting lost because it’s incorrectly recorded, and it’s the person that makes sure that if you update your address, the change is recorded so your purchases reach the right destination.

    A DBA makes sure that the transfers between your bank account and other accounts are completed in full, without allowing the deduction from your account to occur without the credit arriving in the destination account. DBAs try to ensure the data that appears on your bill is correct, and that if you change the name on your account, the change is reflected in your statement.

    DBAs are like the local librarians, keeping track of all the various words and numbers in their library and knowing where everything is. They are the custodians of information in databases, trying to keep it all organized, intact, and available for access. DBAs are not perfect and they can make mistakes which result in the mistakes we occasionally find on bills or statements.

    However, DBAs don’t act alone, and in many cases their job is directly affected by other people. The websites you use, or the applications on your computer or mobile phone, are written by developers that decide how you enter or read the information, and how the data moves into or out of the database. These developers sometimes do not have the proper training on how to store data to prevent mistakes, or how to clean data to fix incorrect entries, resulting in bad data outside of the control of the DBA.

    In addition, the connections to databases are often managed by system administrators or network professionals who also deal with failures. When you cannot access your account on a website, it’s entirely possible the database is running and working fine; the problem is in the connection between the website computer and the database computer.

    The DBA’s role is often taken for granted. If everything works as expected, it appears the DBA is not doing any work, or adding any value to their company. This may be why so many companies forgo hiring a DBA and expect their developers and system administrators to manage the databases. That’s not usually the case as the work a DBA does is designed to prevent problems, and be available to fix the inevitable issues that will arise.

    The DBA is a preventative mechanic, working on your car every day and night when you aren’t using it, ensuring that it is working when you do need it. They’re the behind the scenes staffers that coordinate and organize the concert or play you enjoy, unaware of just how much work goes into providing you with an enjoyable experience. The DBA is the glue that binds so much of our technological world together, helping to ensure that all parts of the system know what should be built, sent to who, and when it should arrive.

    Read more: http://www.bradmcgehee.com/#ixzz1fnp9rH1k
    Under Creative Commons License: Attribution

  • Sharing Your Database Server

    Is it time for a little more sharing in the database world?

    Some of the details for SQL Server 2012 are out now, and as expected, we have feature limitations in various editions. I was hoping for a change, and maybe it will come at some point in the future. I did expect there to be scale limitations and there are. As noted here, the Standard edition is limited to 64GB of RAM. It wasn’t too long ago that I would have considered that high a RAM limit to mean I’d never need Enterprise Edition, but these days I am finding more and more database servers with 32GB, 64GB, and more RAM inside them.

    The post notes that the buffer pool will not grow beyond 64GB, though it doesn’t mention limits in any of the other memory spaces that SQL Server uses. However assuming that the memory outside of the buffer pools scales, it might be time to think about installing extra instances of SQL Server on a single host if you are licensing by the core. With a commodity server costing under $10k with 6 cores and 96GB of RAM (no HDDs), one could easily consider placing 2-3 SQL Server instances on this hardware with each getting 24+GB of RAM.

    I think that virtualization is the best way to share physical resources, but the changing licenses for SQL Server 2012 might have a few of us rethinking that, especially as we consolidate legacy systems that might happily co-exist on a larger physical server, with smaller data sets, lower hardware requirements, and a cheaper edition of SQL Server.

    Steve Jones


    The Voice of the DBA Podcasts

  • Power Tools for Windows

    Scott Hanselman has a great list of the power tools he uses for Windows and development. It’s worth a read, and worth checking some of them out. I have used quite a few of these tools over the years, and I find them great, however I’m definitely considering trying a few of his recommendations out.

    Ones I like:

    • Paint.NET – Beware the big download buttons that take you to GIMP. Click download at the top and follow the text.
    • 7-Zip – I moved to this a few years ago and it works great. Is it better than others? No idea, but it works well and easily for me. It doesn’t get in the way.
    • DropBox – This works well for me. Is it better than Box, or Live Mesh? I still use LiveMesh, but this gives me a nice integration with a lot of iPhone apps.
    • SysInternals – If you admin a network or an AD domain, you need these.
    • PowerShell – If you work with SQL Server, spend a few minutes working with this. Here’s a cheat sheet.
    • ZoomIt –  If you present, drop this on every machine, and a flash drive.
    • TortoiseSVN – Use a VCS, any of them.
    • Skype– I’ve also tried Oovoo, but size matters. Skype works well for me.
    • Bart’s Preinstalled Enviroment (BartPE) – Saved my wife one time
    • DVDDecrypter– With kids this is handy. Rip your own DVDs and give the kids the copy.

    The tools I am interested in trying from the list:

    • Boot to VHD – I’ve heard a lot about it and maybe it will make things simpler. When (if?) I go back to a Windows laptop, I might try this.
    • LogParser – On my list as a way to dig through log files in Windows.
    • Hiren’s BootCD – Probably worth keeping around
    • SyncBack -Windows Home Server is a POS for me. Looking for a basic file server and scheduled backups.

    If you have your own recommendations, I’d love to hear them.

  • Layers of Security

    Every little bit of security helps

    I haven’t configured many firewalls in my time, but if I were doing that job, I’m sure I’d be included in this report that says half of all firewalls are improperly configured. Firewalls are confusing, complicated, and it’s incredibly easy to make a mistake when you are dealing with the complex rules of Windows networking and various application requirements. These days I call a friend, who’s a firewall expert, to do any changes for me, and let him implement the rules. It’s a slow, annoying process to watch, but I also understand that it is complex task, and he does a much better job than I’d do. Probably because he’s more patient.

    For the database administrator, however, this should be a wake-up call that lets you know you can’t rely on the firewall to protect you. If you have a small 3 machine, one subnet network, maybe, but in most enterprises there are many subnets and complex rules to implement. That means that your company might not be a soft chewy center protected by a hard shell. It might be a soft center protected by Swiss cheese that does little to limit the influx of unauthorized requests.

    Good security involves lots of strict policies, strong passwords, and many layers. Depending on someone else to provide security for your database instance is not only a bad idea, it could be a reason to remove you from your position. Good administrators, and developers, will ensure that they enable security on their servers, limit access to authorized users, and grant appropriate rights.

    It’s a good habit to get into, and it’s good practice for developing an application that will remain secured once it’s deployed.

    Steve Jones


    The Voice of the DBA Podcasts