Learning DB Management

If you forgot everything you know and had to learn it all again, how would you go about it?

I'm managing SolarWinds for my network team and have only the basic level knowledge about database management (I can understand what a SQL Query is going to do but I can't write one). I am starting from scratch so what resources, topics, languages, etc. would you utilize in my situation?

  • Caveat: I'm not a DBA, nor do I pretend to be a DBA, I only play a DBA on TV.

    I guess it comes down to one real question: what's your responsibility level when it comes to databases? Which spurs other questions.

    • Are you only responsible for the database that backs the SolarWinds Solutions, or are you going to be responsible for other databases as well?
    • Are you looking for a possible career change to be a data professional?
    • Because you are the de facto "monitoring person" is database responsibility going to fall into your lap?

    I had the advantage of taking a few T-SQL classes in university and some prior experience with MS Access (don't @ me).

    I, of course, would recommend all the DB things on THWACK, but were I speaking to me from the past...

    • Start with LinkedIn Learning. It's free or cheap (depending on your level of need).
    • Edit: I totally forgot about edX - which is also amazing for online learning.
    • Find a few people or blogs to follow.  My friend   is one such person. He's forgotten more about Database Management Systems (DBMS) that I have ever learned after 20+ years in IT.  Look for things like our #BackToBasics series on databases and follow influential writers in blogs (like Data Driven Blog ) who are authorities in the field. If they have their own blogs or social accounts, follow them there as well.
    • Learn enough to be dangerous. What I mean by that is to learn enough to understand what things could impact performance.  Depending on your need, you may not need to know every best practice, but having enough background to make logical guesses can get you far (in all tech things).
    • Consume everything you can but realize some things will go over your head - and that's ok. The best phrase you can learn in IT is "I don't know, but I can find out."
    • Acknowledge when enough is enough. You probably aren't looking to change careers, so realize that there will be a tipping point where your knowledge about databases is "good enough" to get you by. (Goes back to the "Learn enough to be dangerous" point.

    If anyone else has ideas, chime in.  Like I said at the start, I'm not a DBA, I only play one on TV.

  • Currently I am only responsible for the SolarWinds database but I see plenty of areas where we would benefit from having a database to improve our current tracking methods. I'm not necessarily looking for a career change, but I am looking to create my "niche" where I can benefit the organization in a way no one else can. There is a different office that manages our SQL servers and operate as DBAs but we work hand-in-hand enough that it would only benefit me to broaden my knowledge base in that way.

    Thank you for this!

  • Just to let everyone know,  is a unicorn.  That mythical creative who wants to be a responsible application owner.

    All joking aside, that's the "correct" answer. Any application owner should know enough about the database backing their system to be sufficiently knowledgeable to be authoritative.

    Regarding the databases behind the SolarWinds Self-Hosted Platforms, there are (*calculating...*) six that come to mind off the top of my head:

    Each of the above databases serves a different purpose and have been designed with that in mind.  If you have specific questions about any one of these, I'd highly recommend proposing questions in their respective forums (the groups are linked above) to ask anything directly associated.

  • If you forgot everything you know and had to learn it all again, how would you go about it?

    Probably the same way that worked for me in the past, and what you seem to be doing: get my feet wet first, adapt existing solutions to your needs to learn how they work, and then take a class or two, read up on it, etc.

    (Then switch away to something else for a year or three, and start from scratch learning everything again, haha... )

  • Hi Darian, this is a perennial question and always worth a discussion. :-) In order to give you the best answer, it helps us a lot to know what your end-goal is for this learning plan.

    For example, do you want to know enough to act as a junior DBA? This would mean learning to handle issues of disaster recovery (DR, a.k.a. backup and recovery), uptime, and how to handle the top 10% of performance issues (e.g. deadlocks and blocking chains, killing runaway processes, etc)? That might take 4- to 6-hours to learn. 

    On the other hand, you might want to go for a higher skill level. After all, careers in data management pay at the top of IT league tables, second only to cybersecurity. So it might turn out that you want to learn a lot more than the basics. 

    Having said that, I can recommend tons of great resources. I just want to scope it properly to your expectations.

    Cheers,

    -Kev

  • I see no downside to learning as much as possible about DB management. In the short-term, I really only need base level knowledge to be effective. In the long term, I'd like to achieve the highest level of understanding that I can without neglecting my current career progression. I work in network infrastructure, so I believe that this area of study can only benefit me as a technician.

  • I can throw in my experience.  I started as a network tech, then ended up doing a fair bit of server admin stuff at work, then got tasked with managing Orion, did that for a while and really got into it.  In the course of having to do things in Orion I didn't like doing things one by one by hand all the time so I poked around in the database essentially doing trial and error learning as I went.  Lots of google searches, used the w3schools sql tutorials often to check syntax, ended up becoming a SW consultant and since I was touching so many environments so often it really reinforced the need to be able to do things consistently, repeatably, and at scale so I continued to learn about database stuff.  Took some of Brent Ozar's courses and others via pluralsight and similar technical learning platforms as my jobs made those available to me. Also ended up getting pretty deep into powershell to round out the skills.

    I highly recommend leaning into the DB and scripting skills because it makes orders of magnitude more effective at your jobs and more desirable as an employee.  Being strong in all those areas led me to some really great jobs and I made a ton of money doing the things that most of my peers couldn't.