Production DBA Vs Project/Development DBA

  • Hi,

    Does anybody have any reference points for how the role of a production DBA may differ from that of a project or development DBA?

    My previous experience has been in companies where either there was only a couple of DBA's doing everything, or in larger companies where the DBA supported a particular product/application across all environments. Does anybody have any real world experience where the DBA role is split for production and non-production? My current employer are thinking about going down that route so I'm trying to understand how it might work.

    Thanks!

  • Have you asked for clarification from your employer as to what exactly they mean by the differentiation?

    Explain that "DBA", even with adjectives like "Production" or "Project/Development", is recognized as being a very, very vague term. Ask them if they have some specific division of duties in mind, or if they would prefer you to provide that for them. Make it clear that you have an idea of what it would mean in an academic sense, but want to make sure "you're on the same page" together.

    Nominally, a "Production DBA" would be responsible for server-level operations, like security, backup/restore operations, DR/BC, maintenance plans, performance monitoring (but probably not tuning), database growth vs disk space available, audits, resource monitoring (I/O bottlenecks, memory pressure, CPU use). Production DBA wouldn't touch data modeling, normalization, database architecture, T-SQL coding, securing dynamic SQL, index planning, filestream, etc.

    "Development DBA" would be responsible for writing code to access data (CRUD operations), and might do architecture or might not.

    Ambiguities left by that include things like, who's responsible for creating indexes? Do "Development DBAs" have any access at all to production servers, or just to Dev/QA servers? Is there a staging environment between QA and prod, and who's responsible for it if so? What about architecture and standards (normalization, naming conventions, DAL methodologies, etc.)? And others.

    Get all that clarified by them. See what they mean by it, or if they aren't sure and are looking for guidance on it.

    - Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
    Property of The Thread

    "Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon

  • Thanks for your reply.

    We're currently going through a sort of consultation period, trying to draw the lines of how the roles might be defined. They're fairly open about trying to define the roles in a way that everybody is happy with which is good. I have some ideas of what I think will work and what won't, but not having worked in an environment where the role is split I want to try and get some background info before I air my views (and thus save myself from putting my foot in it!).

    Most of what you've said ties in with the current suggestions, other than the development side of things. The true development (i.e. coding) would be done by our developers or third party suppliers, I think the intention is that this is administration of the development and other non-production (QA/UAT) environments.

  • Ah. Yep, same name, different job.

    I'm not accustomed to dev servers and QA servers needing any serious admin done on them, not enough to require a full-time employee for it anyway. I guess it would make sense in a big enough environment, though.

    - Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
    Property of The Thread

    "Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon

  • Here's an excerpt from an article I wrote a few years ago:

    It's generally understood there are two kinds of database administrators, production and development, but the definition of each kind is not universal. If the difference were simply their environments (production or development) then there would be no need to distinguish between them. I would like to propose a definition with a very clear distinction. A production DBA is concerned about everything outside the database. A development DBA (database developer) is concerned about everything inside the database.

    A production DBA considers a database to be the smallest item on which to focus. A production DBA handles storage space, database maintenance, disaster recovery, high availability, replication, log shipping, mirroring, logins/users, SQL Server Agent jobs, performance monitoring, and maybe some performance tuning. The primary point of focus is a server or a SQL Server instance. A production DBA has very little need to understand how the business works.

    A development DBA considers a database to be the largest item on which to focus. A development DBA handles data modeling, normalization, table structure, DRI, indexes, data types, naming conventions, triggers, stored procedures, views, functions, code generation, data import/export, archiving, purging, and auditing. The primary point of focus is a database or a set of databases. A development DBA (database developer) must understand how the business works.

    Creator of SQLFacts, a free suite of tools for SQL Server database professionals.

  • Good description Journeyman. I am a production dba and your summary is very well to the point. I must add that of performance monitoring our job is to find the queries that's disruptive to normal service and hand it back to vendor/developer.

    The reason why we don't do anything is in our shop "all about integrity". The applications owner must know we don't touch the structure of their database. We can recommend but never demand. If somehow our recommendations aren't met we'll pursue other alternatives - like moving database to own instance, single server (not cluster) and such. This is to commit our values to other applications owners that we take action to prevail a secure and stable environment.

    This is actually very much appreciated. We have around 3000 applications and 16000 dbs to control.

  • A bit of a self promotion, but please let me know if this article helps:

    http://www.sqlservercentral.com/articles/Career/71608/


    - Craig Farrell

    Never stop learning, even if it hurts. Ego bruises are practically mandatory as you learn unless you've never risked enough to make a mistake.

    For better assistance in answering your questions[/url] | Forum Netiquette
    For index/tuning help, follow these directions.[/url] |Tally Tables[/url]

    Twitter: @AnyWayDBA

  • This was removed by the editor as SPAM

Viewing 8 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic. Login to reply