Tuesday, September 4, 2012

What should a DBA do?

What should a DBA do?:
I was thinking recently about what a DBA does, and decided to blog about what I think a DBA could/should do. Most DBAs I know are mired in day-to-day firefighting and time-consuming tedium. This forces them to operate in reactive mode (because they don’t have enough time to “get caught up”), and keeps them from more valuable things they could be doing. Here’s my short and incomplete list:


  1. Working with the developers (programmers) to help architect
    upcoming projects. If the DBA leaves design to the developers, then
    suboptimal designs might be found after the fact. This often happens after deploying to production, where the design impacts the business. Without early input, the DBA also
    has no chance to assess and prepare for future needs.

  2. Teaching developers how to work with the database. Many developers
    struggle to understand databases and SQL, and are unable to fully
    optimize the queries they write. They also unwittingly write programs
    with security flaws that could give attackers access to the entire
    database. Education is a big part of prevention.

  3. Capacity planning and management. If the DBA doesn’t have enough time to do
    routine work, he can’t prepare for the future. He needs to ensure that the servers are going to be fast enough and have enough storage space for what’s next.

  4. Planning and executing upgrades. It’s very important to stay up-to-date, but if you
    upgrade carelessly, you may hit serious problems. Upgrades take
    a lot of time and attention, and if you don’t have that, the business is at risk whether you upgrade or not.

  5. Business continuity planning and fire drills. Backups are only a small part of the overall BCP process. It takes a lot of time and thought,
    and it’s never finished.



A DBA who’s overworked on tedious tasks gets tunnel vision. He can’t
think strategically, he can’t protect the business from risk. Critically, he can’t
help the business make the most of other investments, such as
the developers. A DBA who’s freed from those things is a resource
and an enabler, a critical asset for strategic and tactical planning on
upcoming changes to systems, and a risk reducer — able to stop a lot
of problems before they get worse, or even before they start.

Some of this is about tools. DBAs with good tools can manage at least an order of magnitude more servers than one with poor/no tools. I know some DBAs who manage hundreds of servers and treat it as unremarkable. They usually have excellent tools to help them, whether self-developed or gotten elsewhere.

Further Reading:



DIGITAL JUICE

No comments:

Post a Comment

Thank's!