Often when talking to people who are looking for a career path in the data world I feel like there are a lot of misconceptions about being a DBA and they don’t know what we do.
The basic concepts of our job are rather simple if you get rid of all of the technical terms.
Imagine if you have a piece of paper, a page you could say.
Now you need to store this piece of paper, you can put this on the table, or in a drawer, or anywhere you want, this is your storage system. The place where you store it matters a lot. If you put the page on your dining room table, you’ll be able to access it fast, but it might get lost over time, storing it in a safe would make it slower to access but it is secure, every place will have different pros and different cons.
As a DBA we get to decide where to store these pages and we get to decide on different methods of accessing that data, giving feedback on why certain systems would be good for the tasks at hand will be something you’ll learn over time.
Let’s say the page we just stored has some secret information that you don’t want everyone to read, now we need to find ways to protect that information.
Some of the ways to do that would be to limit who can access that piece of paper, not everyone should have access to your house, so you put a lock on the house. Afterward, you can store that page in a different room of your house, behind a different lock. Maybe we can even create a system where we change the data on the page so that only we can decipher it.
This is basically what you do as a DBA to protect your data, you make sure not everyone has access to the data through logins (People accessing the house) and users (people accessing the room), and if needed you encrypt your data so even when people can access it, the data cannot be read.
If you only have a few pages, you can find the information you want pretty fast as you can just scan through all your papers. But once you get a big pile of papers looking for that information becomes increasingly more difficult, scanning through the entire pile would take a long time. At this point adding some tabs to your pile of paper where you classify where you can find certain things makes it a lot easier to manage since you can just seek into the tab you need and start searching from there.
This is basically how indexes work, you make it so the engine doesn’t have to read through everything, speeding up searches. Depending on the environment you’re working in, a DBA has a lot of input in creating those indexes.
We should also help the person that has to look through the pages by giving the correct commands. Let’s say we create tabs per year so that it is easier to find bills for a certain year. “Can you find me all of the bills where the year of the bill is 2022 – 10”, for every bill you’d want to grab you would need to solve the math equation, we could just change the question to “Can you find me all of the bills where the year of the bill is 2012”
While many people think the engine is hyper-intelligent, it doesn’t always look for your data as you’d expect. In the first example, the engine would just look through all of your data and end up not using all of those nice tabs you spend your time making.
Making your queries as easy as possible to understand for the people reading them and for the engine will give you the most optimal and reliable overall performance and is something DBA’s can assist with.
Do you really expect the engine to understand it if you don’t understand it?
Pages are important, and we don’t want to lose them. The “But teacher my dog ate my homework” would have never happened if a DBA was involved! We need to make copies of that paper, we can do this in different methods for example we can just manually copy the paper onto a different paper, now if one of them gets lost, we still have one that we can use. We could also take a picture of the page so we can look on our phone when we lose the page.
These are backups, one of the main jobs of DBA is to make sure if something goes wrong on your system, you can restore the data so you don’t lose everything that you’ve been working on.
The basic concepts of being a DBA are fairly easy, we have data and we try to store it somewhere, make it secure, and try to make looking for that data as easy as possible.
As a DBA you don’t need to be aware of every system and have perfect knowledge of everything, every DBA will have his/her specific things he’s good at.
You’ll learn the technical names once you dig into it, and the DBA community is one of the best and most helpful communities you’ll ever meet.
– Yannick Liekens