Monday, 18 January 2016

Q&A with Sergey Smirnov - Part 2

Are there any non-SQL area’s that you like to work with?
Networks and hardware, smart houses and automation. 

Smart houses and automation, is this a personal hobby?
I wouldn’t call it a hobby, it is just an area that kind of IT related and where I most likely spend a few bucks! My personal hobby is clay and target shooting.

I imagine that’s quite an ideal hobby for a database professional!! 
Shooting a few things after hard day is priceless.
  
Many big companies are using other database systems like MongoDB for example? Should DBA’s try to pick up knowledge in other databases?
Of course they should – there is no such thing as too much knowledge! My point is that before use it you should understand two things – their limitations and their market share. It may be much effective to invest you time to something else. 

So speaking about DBA life in particular, what sort of routines do you follow; what would the typical morning look like?
I am a development DBA and work on many projects in parallel most of the time and each of them requires its own routine. To manage it I usually prepare a “what-to-do” plan for next day every evening together with a more sketchy weekly plan.

So the to do lists are very much part of life?! 
They really help you to get a few extra free hours a day J Organizing your work time is good and works well. Apart from things like Agile which I hate as much as possible.

For production DBA activity I have a set of scripts, jobs and warnings that actually alerting me if anything odd happens on the servers – I believe in preventive medicine and trying to fix things before they became issues.
  
Yes a key there in being preventative, what are the most common problems that you encounter, particularity when troubleshooting servers for the first time and what should be looking for?
Most common problem that I see is bad written code. It wins with a huge gap over the second most common problem, which is bad indexing. Third place is bad design but it is also related to the first one.

Key things to check for the first time would be a ratio between index seeks and scans, disk, CPU and memory pressure, wait stats, list of long-running queries, locks and deadlocks. After this you usually have an impression what needs to be done first thing.

Bad code, I think many people will agree! Do you have a particular method of taking a “bad” query and tuning it?
 It’s never been hard to find a bad code! Tuning is different situation and it’s depends on many factors – sometimes adding a new index to “key stone” table instantly increases performance for the whole system and sometimes you spend a day looking on one single query and trying to win a few milliseconds or a few CPU ticks. It depends.

What do you think of the junior DBA role? Personally I don’t see enough of them advertised.
Good question. From one side I understand that nobody wants to give their important data to junior hands. From other side – we all were juniors. I like to take a junior DBA to the project if I see a potential and I advise them to search for a projects where they can learn fast.

And to somebody staring out as a DBA, what three pieces of advice would you give them?
Experiment
Listen, but never blindly trust what others saying
Learn

Just how important has learning been to your career? How do you learn best and what resources can you recommend?
In our business you have to run to stay in the same place so learning is very important. I learn best on my personal experience – I have to try everything myself to be confident that I understand how this or that is working.
Best learning resource for is still Microsoft BOL, second best are Internet blogs and forums

And would you say that certification is worthwhile?
Yes – it helps an HR or Dev Manager to feel that they picking up the right guy. It also helps me to feel that a person that we hire understands this point :)
From technical point of view certification does not teach you anything, it just confirms your knowledge.
I always do a fresh certification before looking for a new job – it increases my chances to go through HR filter!

So we know one another from LinkedIn, the SQLDBA group in particular – what benefits do you see from people, fellow database professionals in using these groups?
For me it is an access to second opinion or alternative point of view. It is also a good source of new features or techniques that may worth to learn.

So talking about new features, are you presently using or planning to use SQL 2016? If so what do you think are the key features/improvements?
 I would like to – if my current job permits. Regarding features, I am kind of skeptical about encryption ones. This may be good from enterprise point of view but for DBA it means that server will consume more resources.

Query Store seems to be a brilliant feature – I may not need to do it manually anymore!

PolyBase and Stretch databases – mmm…more skeptical than positive, unless until I see myself how they work. I worked a lot with distributed views and queries before and know a lot about issues related to it. Don’t think MS gets them fixed.
Row Level Security – skeptical. In the majority of cases row level security has to be built based on the business rules, not SQL Logins.

Do you think it will it be a big a release as SQL 2005 was?
The biggest ever release was SQL 7 – after SQL 6.5 J For me SQL 2016 has more marketing features than technical improvements. However I hope I am wrong!

So to round things up and this is for those who might be thinking of going down the DBA route - what three things, skills or attributes would you look for in a potential DBA?
-        Passion to learn
-        Passion to stand on own opinion
-        Ability to admit that it can be wrong from time to time J

Finally, last question about you, if you weren’t working with databases what would you be doing?

No idea J Building something – computers, houses, cars, guns, anything! Something that you can look at and say – I built it and I am proud!

1 comment: