I recently had the opportunity to interview Jack Vamvas about SQL, Optimization, and what it takes to become a Junior DBA. The interview is full of gems involving practical advices.
1. Are there any advices that you can share to those who wants 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 the T-SQL improves troubleshooting skills and broadens tasks that a DBA can complete.
- Learn how to use the Execution Plans. Keep loading large amounts of data into a database and create queries, analyze, and improve.
- Learn the set theory and relational model. Understanding these leads to implementing better performance coding.
An added benefit of learning these skills is, they are portable to different RDBMS platforms.
2. When it comes to optimizing databases, what are some tools and techniques that a Junior DBA can use to troubleshoot a poor-performing database?
In addition to the question, do you have recommended books that everybody can learn more about optimization?
Jack Vamvas: Learn to ask the right question. It’s critical to understanding and fix performance-based problems.
Your approach to solving a performance-based problem may differ depending on the critical level. All performance-based 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 like 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. The SQL Server has added new features over the years – are these new features helpful or are they less efficient?
Are the newer features of the SQL Server making it easier to write SQL or are they less efficient or insignificant compared to doing it the long way?
For instance, would you use the INTERSECT operator for convenience over the INNER JOIN method for speed?
Jack Vamvas: 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 that matches between two tables – INTERSECT finds distinct values combing two queries. Understanding the differences leads to a better implementation of the SQL Server.
Quite often, features are added under the RADAR. One example is sp_server_diagnostics – an internal procedure for monitoring SQL Server behavior.
4. What is one of the biggest frustrations you see Junior DBA have with SQL Server? Do you have any suggestions to help them overcome these?
Jack Vamvas: 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 or Junior DBA?
For instance, are certifications a must?
Jack Vamvas: 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 touch in their workplace. I’m not convinced that they are essential for career progression in the mid- to advanced-level DBA.
Jack Vamvas’s Biography
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: