Rahman Agoro, the frontline SQL DBA

Just another WordPress.com weblog

DBA and Developer relationship

Posted by rahmanagoro on August 26, 2010


Throughout my career as a DBA, I often find that I need to work with developers more closely than anyone can imagine, DBA’s are often thought about as the middle man between the development team and also system administrators. I find that this is often the case, the DBA is a special position within any organization, responsible for the day to day maintenance and smooth running of the database involves being patient, responsive, being communicative with your customers (developers, business users, management, system administrators and other stake holders). Personally I tend to have a good rapport with developers, as they would often know how the database objects interact with the application, especially within a shop with little or no documentation.

I also find that although, as a DBA one doesn’t really have to know the application or business inside out, but it does help if you do. There was an occasion where an analyst complained about slow performance of the application, if users complain about slow performance within applications, as a DBA there are many lines of enquiries to make, some of which are not limited to the following:

  • Locking on the database
  • Improper use of indexes on the database
  • Statistics which are not up to date.
  • Inappopriate query plans
  • Heavy IO operation on the database, this can be heavy reporting/ad-hoc queries or perhaps backups running on the system.

In my own case, I was able to speak to the developer, a profiler trace was created to see what the problem was. It was later tracked down to a stored procedure using an in appropriate query plan. I was able to speak to the developer who quickly pointed out to me the stored procedure that was being called for the functionality the user was trying to use. This was subsequently fixed and the user was able to carry on using the application.

My tips are as follows

Speak to developers about applications that they are working with, especially ones which interact with the database. This way, you have an idea of what sort of things to watch out for.

Always see your developers as your customers as well, a healthy relationship with your developers means that both sides can work together as a team, and thus improving the service being offered to the organization.

Don’t think your developers will always come and ask you questions, at first the trust may not be there, that’s why its good to have a good report and make sure they are comfortable with you.

Be diplomatic when you see bad SQL code, don’t say to developers “your code is really horrible, I don’t know how you got the job ! “, be diplomatic and try and help them write better queries, this way when they are not comfortable with writing SQL code or a code which is not performing, they are willing to seek your help as the DBA, instead of just releasing it on to the production database server.

Socialize with the team !

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: