Who is a DBA? Many people who are interested in IT careers often talk about becoming a DBA. This is no surprise as the demand for DBAs continues to rise. But while interest is quite high do many really know what being a DBA entails? To some it’s just about getting a DBA certification. For most, it is simply a bad case of “joining the bandwagon”.
Let’s start by taking a look at databases and DBAs.
What is a DBA? The Why of Databases
What is a DBA? What does a DBA do? The term, DBA refers to the Database Administrator. A database is a collection of information that’s related to a particular function or purpose. In its simplest form, your contact information kept in a file on your system is a database. We will not dwell much on databases here but it is important to understand what drives the demand for DBAs. A key requirement of modern IT infrastructure is secure and timely access to and storage of vital data. The most reliable, time-tested method of storing electronic data is inside a database.
Databases are needed by organizations that store and use information, irrespective of location or industry. And in today’s knowledge-driven economy useful and timely access to information makes the difference. Why use databases is like asking why electricity is useful. Is there any industry or business that doesn’t depend on information? The aim of databases is to aid the generation and the exploitation of knowledge in a reliable and cost-effective manner.
How would banks survive without databases on customers and financial transactions? E-business sites use databases to track orders and inventory. Telecom operators can’t do without databases if they must keep track of accounting and subscriber information. Airlines, airports depend on databases.
The most popular database products are from Oracle, Microsoft, IBM, MySQL and Sybase. Oracle is the market leader in the database market followed by Microsoft SQL Server. And from the open source scene, MySQL is making impressive impact in the database world.
So what does a DBA do? DBAs are regarded as “those professionals who organize information in a meaningful way so it can be easily maintained, retrieved and updated”. DBAs ensure that data produces and delivers real business value. The role of the database administrator is very important in an organization. Though the role can be quite complex, let us identify the core functions.
Database Implementation and Design
A critical duty of the DBA is designing databases for maximal performance, scalability, flexibility, and reliability. A well-designed and implemented database justifies the database investment. In this regard, the DBA is responsible for installing new DBMS and upgrading existing DBMS. The DBA must be conversant with installation and upgrade issues, i.e. problems, requirements, etc.
Performance Monitoring and Tuning
A DBA must make sure databases are fast and responsive. A slow response database is usually indicative of poor system performance -something is wrong somewhere. The DBA monitors the state of the database for optimal performance and the error log or event log is also monitored for database errors. Poorly tuned databases are frustrating to use – they tend to add more stress than value. Monitoring is essential to assess the state of the database and tune accordingly.
Availability, Backup and Recovery
To many in the IT industry, the most important job of the DBA is that of availability, backup and recovery of data. Because of the value placed on electronic data, the database must be protected from all forms of failure -hardware, software, and human. A DBA maintains the information an organization needs to be successful. In the DBA world, “nothing else matters if your database can’t be recovered”.
Availability means data must be available to all who need it when they need it. What is the use of having a great, functional database if half of the time, it is inaccessible due to one failure or the other. A database only has value when it is available. If data is not available, the business stops functioning. Imagine the impact this will have on a bank that can’t have access to customers’ balances. A DBA must be equipped to eliminate and reduce outages -planned and unplanned. Since not all failure can be predicted, the DBA needs to implement recovery procedures that will reduce downtime associated with failure.
User and Data Security
The DBA is responsible for security management. DBA work must be grounded in the fundamentals of IT security. Security must be designed into the database and applications. This involves assigning users to databases and determining the proper security level for each user. To make sure data is secure rigorous security schemes are required for production and test databases.
Working with Developers and Network Administrators
DBAs need to work closely with members of the technical team to ensure high, overall database performance. For instance, there is an increasing overlap between the functions of the DBA and the developer. DBAs also work with network administrators who run the servers on which their databases reside. In fact quite a few DBAs initially start out as programmers or network system administrators. DBAs and developers especially have to work as a team in areas such as design, debugging, implementing and tuning of queries, triggers and stored procedures that are stored in the DBMS. Today’s databases do not just store data. They store stored procedures, triggers and user-defined functions, which are processes that act upon that data.
What have been highlighted are major functions of a DBA. It should be evident that the role of the database administrator is very important in an organization.
Success as a DBA
To succeed as a DBA, organizational skills are essential. It is a promising field for people who love planning and paying attention to details. Do you love details and planning?
Working with developers and Network administrators means you should have excellent interpersonal and communications skills. Teamwork and team building skills are essential. How do you motivate other members of the team? How do you provide leadership? DBAs maintain the information the organization needs to be successful. Do you have a clear business understanding of what the database systems are meant to achieve?
Also it helps to have an open mind. All databases and systems are not the same and there are many different ways of doing things. Often there is no single answer to a given question. There are best practices and standards you must adhere to, but you must also be creative and flexible in dealing with situations. Solving situation A may require you to think differently from the way you solved situation B. Nothing is cast in stone. There is no box of absolutes!
In addition as the DBA, you should recognize that the database is your responsibility. This requires leadership and the pursuit of excellence on your part, by being an advocate for best practices and good design. In this respect and due to the functions of DBAs in the technical team, DBAs are often involved in IT management and key aspects of Project management.
Knowledge and Certification
If your aim is to become a database administrator, you need to understand the underlying concepts of database. You need to understand concepts like Tables, Views, Queries, Primary Keys, Foreign Keys, Types of Indexes, Columns and the different data types. Then you’ll need to learn concepts of tablespaces, partitions, stored procedures, packages and functions, business objects, etc.
A programming background is helpful. Any programming knowledge is highly recommended but query language knowledge (PL/SQL or MS-SQL) is a must for a DBA. You need to know how to actually talk to the database. Knowledge of Visual Basic is a definite plus.
Get books, read magazines, use Internet resources, participate in DBA related forums and news groups and start from there. Attend Formal training courses. Also visit relevant websites and talk with practicing DBAs. Look for opportunities to practice. And your interest or quest will motivate you to pursue more once you have some grasps of the basics and concepts.
However, though certification is important, just like the software development community, premium is placed on work experience as a programmer or network/systems administrator first. Most DBA certifications are usually middle level to advanced level certifications. With the increasing competition for DBA opportunities, having a certification could give qualified candidates an edge.
Project management training and certifications () are also important for experienced and growing DBAs.
- There is a future for most in-demand IT professions, some however lend themselves faster to opportunities for newcomers than others. In that light, your knowledge choices should also depend on opportunities at your disposal. For example, investing in DBA knowledge and certification expertise could be great as a newcomer, if you already have a job as a junior database administrator. However, by the same token, while having an Oracle DBA qualification equips you with useful knowledge, you can only apply what you have acquired in an environment that has Oracle database installed, or with organizations that support Oracle installations.
- There is a rush for certification, but please get the picture clear. There is a need to strike the right balance between certification and your expectations. Certification is no substitute for experience, but it’s better than nothing. But be realistic: while certification may confer advantage, it doesn’t guarantee anything. You therefore need to make sure you examine opportunities for work experience as well. Can you retain what you have learned without having the opportunity to practice it? Are you just getting certified so as to have something?
- More opportunities exist for experienced DBAs or programmers than for entry level DBAs. Since DBAs are responsible for an organization’s critical asset — data — they tend to prefer those with some degree of experience. Typically, even the junior DBA will already have some IT experience, either as a developer or as a system administrator.
- Application Developer or Database Administrator? This issue always comes up in assessing Database career options. There is a need for DBAs as well as Application Developers. It depends on where your passions lie. An application developer is more of a business analyst / software developer while the DBA as described above is more of a data facilitator – making sure data is secure, available and used productively. Click to Learn more about the differences
The industry including the Database scene is moving toward more automation. For example, Oracle’s latest release 10g has RAC, automated storage management, ADDM, Enterprise Manager, grid control, and many other advanced features. DBAs will have to shift focus to more business matters than just technical administration. The focus will be on how to add business value. With more and more complex systems, the creativity of the DBA is essential.
These advances in technology underline the growing and continuing need to take advantage of opportunities in the knowledge world. There is in addition, a need to eliminate the inefficiencies and increasing management and administrative costs associated with business. This existing and foreseeable demand in the database market sustains the need for DBAs. And trends indicate that DBA expertise will continue to be valuable in the years ahead.
Becoming a DBA involves more than getting a certification. It requires intensive study, constant learning, practice and most importantly the creation of opportunities for work experience. Furthermore, you must have the right attitude and personality to handle the tasks described earlier. Focus on what works and what matters. Have a passion for learning the DBA substance mentioned earlier and keep on learning. Have an open, enquiring mind.
There are prospects in the database field just like in any other field but it all depends on your perspective and situation. Do you have the background? Do you have the interest? What opportunities for education and experience are available to you? Can you face the challenges? The choice is yours: to DBA or not to DBA?
I wish you all the best in your IT Career,