What does it take to be a Junior DBA?
I recently had the opportunity to interview Jack Vamvas about SQL, Optimization, and what it takes to become a Junior DBA.
This interview is sprinkled with many gems of practical advice.
1. What is some advice you would give someone that wanted to become a Junior DBA?
Learn T-SQL asap and learn it well. An important point for DBAs – bad coding is a primary source of many SQL Server performance issues. Understanding T-SQL improves troubleshooting skills and broadens tasks a DBA can complete.
Learn to use Execution Plans. Keep loading large amounts of data into a database and create queries , analyse and improve.
Learn set theory and relational model . Understanding leads to implementing better performing code.
An added benefit of learning these skills is they are portable to different RDBMS platforms.
2. I noticed that you like to optimize databases. What are some tools and techniques a junior DBA can use to troubleshoot a poorly performing database? As a follow-on, are the any books or online resources you recommend they can use to learn more about optimization?
Learn to ask the right question. It’s critical to understanding and fixing performance based problems.
Your approach to solving a performance problem may differ depending on level of criticality. All performance problems require root cause analysis, but possessing a wide range of techniques is invaluable.
There are many forum posts asking for assistance in tuning a query and requests to teach query tuning. Query Tuning cannot be taught over forums. Invest some time in reading some books , working through the problems offered in the books. There are some great books and blogs available teaching internals and offering deep insights into SQL Server. Once you grasp the basics query tuning becomes significantly easier.
3. SQLServer has added many new features over the years. Do you feel these newer features, some which make it easier to write SQL, are less efficient that doing it the long way? For instance, would you use the INTERSECT operator for convenience over the INNER JOIN method for speed?
With every SQL Server upgrade there are a ton of new features. Understanding the details leads to better understanding and the impact on performance.
For example, INTERSECT versus INNER JOIN – INNER JOIN is finding values which match between two tables – INTERSECT finds distinct values combing two queries. Understanding the differences leads to a better implementation of SQL Server.
Quite often features are added under the RADAR. One example is sp_server_diagnostics – an internal procedure for monitoring SQL Server behaviour.
4. What is one of the biggest frustrations you see junior DBA have with SQLServer? Do you have any suggestions to help them overcome these?
Lack of skills. Focus on developing solid DBA skills – such as backup and recovery, basic admin, security management, performance tuning, T-SQL.
Every release of the major Database Server vendors RDBMS changes the database management playing field. The DBA needs to adapt , while improving the quality of their existing skills
Read everything , across all platforms.
5. Do you have any advice for people that want to start a career as a DBA? For instance, are certifications a must?
A DBA career path is about thinking in strategic terms . What other skills can a DBA develop in a complex database server environment? For example, knowledge of dependant application skills could lead to improved troubleshooting skills.
Certifications are useful for ensuring best practises are learnt. Certifications force a DBA to investigate areas they may not normally touched in their workplace. I’m not convinced they are essential for career progression in the mid to Advanced level DBA.
He started working on SQL Server 6.5 in 1997 for Microsoft MSDN as a SQL programmer, moving into database design, tuning very large databases, optimization and managing database servers, across SQL Server and DB2.
Some useful links on his blogs include:
- Top 10 DBA Tips to develop your competitive edge – SQL Server DBA
- DBA supertech . Specialise or generalise? – SQL Server DBA
- SQL Server – DBA Skills Growth Areas