Tip:
Highlight text to annotate it
X
In this session I will be talking about the role of a DBA or database administrator.
Many of you are not familiar with this term so let me try and explain the concept by mapping
it to an activity we indulge in frequently - withdrawing money from a bank.
While you are interacting with your bank account, there are quite a few activities happening
in the background. It is possible, that, at the very moment you
are interacting with your bank account, there are thousands or possibly millions of customers
of the bank, interacting with their accounts, and this should not affect your session.
Access to data is IMPORTANT where banking is concerned. The details of your transactions
are going to be made PERSISTENT. This means that you could ask the bank for details of
any of your past account transactions, and the bank is OBLIGATED to provide it to you.
Now this may seem obvious but when we interact with our bank account, we expect to see OUR
details. It would be ALARMING if you were to see someone else's details. Similarly when
you withdraw or deposit money, it is YOUR account balance which is modified and NOT
someone else’s. Since banking is a frequent activity, performance
is taken for granted. When you are at an ATM, you expect your transaction to be completed
in a short period of time. Now let us look at things from a banks perspective.
The bank has to make all this data available to its customers 24 by 7. Just as we take
backups of our files on various devices, the bank too needs to have backups of this humongous
amount of data. So what we are seeing here is a vast quantity
of data, in fact a data MAZE, that the bank has to maintain, make sense of and then provide
to its millions of customers. Now let me introduce a few technical terms
- This data is stored on one or more DATABASES. But it is much more than just DATA.
As the previous slides demonstrated, we spoke of concurrency where data could be accessed
by multiple customers with no impact to individuals, data security where your data could be seen
only by you, performance and high availability where your data was ALWAYS available to you.
So it’s not just THE data. Data and the extra functionality around data is made possible
by a DBMS or data base management system and the people responsible for monitoring and
managing a DBMS are DBA's or database administrators. Not surprisingly, databases are found in almost
every industry. In the transportation industry - For example ticketing information in railways
and airlines, the banking industry which we spoke of in some detail earlier, the telecom
industry – where details of calls made and received are stored, social networks- where
contact information, conversations, images and videos are stored and many others.
Let us now look at some of the DESIRABLE qualities of a DBA.
Not every role in the IT industry requires a formal I.T. qualification. If you saw OUR
videos on the roles of a trainer or tester, an I.T. qualification is not a pre- requisite.
So is it a pre-requisite in order to become a DBA. The answer in a majority of cases is
YES. So just what do I mean by formal I.T qualification?
Typically, a Bachelor's degree in an area of computing is needed in which you would
have taken at least one database course. Companies generally require that you are proficient
in vendor specific solutions, such as SQL Server, Oracle, DB2, etc.
Having a good grasp of at least one programming language, preferably two is also very helpful.
Then there is the topic of certification. Certifications firstly help you in increasing
your knowledge of the subject and can also open doors for you during interviews.
If you are a student the key is to do LOADS of hands on practice in your own spare time.
Now what do you do if you do not have the necessary degree? One option is to obtain
certification. Another option is to get into a role that does not need an IT degree and
then work your way to becoming a DBA. It is common to switch roles within an industry.
You may also get assistance from your company towards this goal. Another important point
is that once you are in the system, you have a better idea of whether this role will actually
suit you. Now let us focus on some of the soft skills
required: You should be good at and enjoy problem solving.
A database does not exist in isolation but is part of a larger solution. As a problem
solver the first thing that would strike you is - Is this my problem? What if the network
is the culprit? How do you prove it? So you got to have knowledge of other domains too.
On the other hand, your subject area itself is vast. You could have performance related
problems - someone claiming that it takes AGES to run a report. You could have programming
issues - A program not producing the expected results. You could have design related problems
- for example the database tables are not designed properly which is then leading to
other problems. You could have space related problems - Inserting data in to data base
tables is failing since there is no more space to store new data.
The subject matter itself is dynamic. New versions and concepts are introduced frequently
so you got to keep yourself up to date.
Now let us move into the future and imagine you as a DBA. What are some of the joys of
the craft? We have touched upon some of these points
earlier but let me highlight them again. You are part of a VERY relevant area of work.
It is a complex area, a vast area and a very dynamic one. It is an area of work that requires
you to keep learning. Furthermore, it is a mission critical area.
Data is one of the most important resources a company has AND you have been assigned the
responsibility to administer it. This makes you a mission critical resource for the company.
As a DBA, your skill set is generally domain agnostic. So what do I mean by this? Let us
assume you are a DBA in an insurance company. As a DBA your role is to administer the data.
You do not necessarily need to know the business. This fact makes your skills portable across
industries. So today you could be in the insurance industry and tomorrow in another industry.
This fact broadens your job opportunities. Having mentioned that, each domain or industry
has very specific data related needs. Developing the skills to design, operate and administer
large volumes of data in the insurance or the telecom industry can help you develop
specific expertise in certain areas of database information administration. DBAs for telecom
industries are highly sought after for their skills in handling very large amounts of data.
Having looked at the joys of the craft, let us now turn our attention to the other side
of the coin. As mentioned earlier, a DBA does not necessarily
need to know the business in order to administer its data. This fact can isolate the DBA from
employees in other roles. For example a DBAs presence may not be needed in BUSINESS meetings.
And many a time, knowledge of how the industry functions maybe a very useful skill to have
and a DBA may lose out in this area. Since you are administering a company’s
data, you have to ensure that the data is always available to employees and customers.
Now imagine a company with a global presence with customers in different time zones. If
a customer is unable to access data, your services may be required to sort this problem
irrespective of which time zone you live in. Similarly some companies may run critical
operations during certain days of the month and also certain times of the day. For example
a telecom company may bill its customers on the 1st of the month and start operations
to bill its customers during early hours of the day. In this case a DBAs presence may
be required so that everything runs smoothly. A DBA is one the key specialists in any IT
team. He or she is expected to be very good in multiple operating systems like Windows
Server, UNIX or Linux. A DBA must also possess good skills in the Networking field along
with solid knowledge of programming, if he or she wants to grow and excel as a DBA.
So what does an average day in the life of a DBA look like?
Having spoken to a few people from the industry this is what we have gathered.
Operations and Maintenance - This would involve installing databases, data base users, upgrading
existing databases to newer versions, sanity checks -for example checking if there is enough
space in the system, taking database backups and exporting and importing data across systems.
Migration of data from older systems to newer ones, upgrade or change of application software
also requires many changes at the database level.
Problem solving - We did mention problem solving earlier - For example performance related
queries and something more day to day like access related queries where, for example,
a user cannot access the information they need and this fact is holding up work.
The scope of problem solving is very large. Sometimes, a design related issue can surface
as a performance issue or an error in the application. These types of problems are difficult
to diagnose and requires a high degree of skill and experience. They are also high paying
jobs and usually done by highly experienced DBA who work as Architects or Designers.
Time is also spent attending meetings - Meetings with fellow DBAs, meetings with the infrastructure
and network team, vendors and also other groups within the company.
Within the organization you could start as a Junior DBA, then work your way to being
an intermediate DBA followed by a SENIOR DBA. At this point you have a choice -
You could be a Manager or an Architect. A DBA manager manages a team of DBA’s.
So, what is the difference between an architect and a DBA? Well, a DBA focuses on administering
data while the architect focuses on designing the look and feel of this data.
On the other hand there are companies where full time DBAs are not recruited. In this
case you could work as a consultant.
So this brings us to the end of the session. The idea was to provide you a flavour of the
role. Please post additional questions on the forum
and I am sure that DBA’s would love to respond to them.
See you in the next session.