If you are part of a small- to medium-size organization, there will come a time when you will have to answer this question—do I need a database administrator (DBA)? (Larger organizations probably have answered this question as yes and moved on).
This question presents itself in many different ways. For example, you may be told by a software vendor that you will need to hire a DBA to support the application you plan on purchasing from them, or you may find that the databases you have in house have outgrown your current staff's ability to handle them. This staff may or may not have any real database expertise.
You might find out the hard way that you need a DBA, because your database has crashed in some capacity and no one on the premises has a clue how to get it up and running again. Or, you might actually have staff who can handle the DBA duties just fine, but they also handle network infrastructure, system administration, customer support, and new development, and frankly, there are not enough hours in the day to accomplish everything.
As you can see from the examples above, it is not a matter of if you need a DBA, but when will you need a DBA to care for your databases. That being said, the questions become what kind of DBA do you get, and how much DBA do you need?
Resources for choosing a remote DBA
- Secure Remote Database Administration
- The ROI of Remote DBA Support
- The Remote DBA Solution to Modern Database Administration Challenges
Making a choice
When you reach this point, you basically have five choices:
- You can hire a DBA.
- You can grow your own (train in-house personnel).
- You can contract for on-site DBA services.
- You can pay a particular vendor to support the database their application runs on.
- You can pay for remote DBA services.
Each of these choices has its pros and cons. In addition, each choice is particular to your own organization and its situation at that particular point in time. Needs change over time and what is right for you now may not be right later. So which is right for you?
What about hiring a DBA?
DBAs, as in all other professions, come in several varieties, including green, somewhat experienced, seasoned, veteran, and guru. As you might imagine, the better the candidates, the more they will cost. Additionally, because they are permanent employees, you have the cost of taxes and benefits that go along with hiring someone.
The advantage of hiring is that they are on the premises, can assist with new development/building your environment, will learn your business, and can become an integral part of your IT team. Generally speaking, this choice is one of the more expensive of the options and is better suited to larger or rapidly changing environments and when your requirements are long term. Hiring a DBA full-time to fix a problem that needs immediate attention is not the approach to take.
How about growing your own?
Training a current employee to take on the responsibilities of a DBA can be very rewarding for both the employee and the organization. But this is not a fast solution for difficult problems. This is an investment in the future. It can be cost effective, but there is the risk that as your employee grows in skills and experience she may become unhappy with her level of compensation and desire to move on. In addition, unless a more experienced DBA is available to help with training and responsibilities, the company has to be willing to live with the pace and the mistakes of a DBA-in-training.
On-site DBA services
Besides hiring or growing an employee, you can also contract for on-site DBA services. Simply speaking, you contract with a vendor for the DBA services you need—usually, but not exclusively, on an hourly basis. The main advantage of going with contractors on site is flexibility. You can call them when you need them (hopefully) and you can use them for specific blocks of time, such as on a project basis. They are usually cheaper in the short run than a full-time employee, but not necessarily in the long run. As with most contractors, they will have a learning curve when they first come into your environment, and any specific knowledge of your environment usually leaves with them when they move on to greener pastures.
Often when an organization purchases a large complex application that uses a database as a back end, the vendor offers DBA services as part of the package—either remotely, or in some cases, on site as needed, or a combination of both.
These DBA services are usually restricted to the database that supports the application. This can be a good choice when your environment runs a particular DBMS such as Microsoft SQL Server and has to bring in a DBMS that your staff is not familiar with, such as Oracle for a particular application package. This type of service, though, is usually more highly priced per hour of work than the other choices listed here, and more restrictive in what it can and can't do.
Remote DBA services
Lastly, you can purchase remote DBA services. In a nutshell, this means an outside organization administers your databases remotely via a link into your network. The range of services provided varies by vendor, but many include some or all of the following:
- 24/7 general support of your database environment
- Proactive and reactive database tuning
- Emergency alerts to selected personnel
- Backup/Recovery planning and services
- Disaster recovery planning and services
- Daily database monitoring using some sort of monitoring tools
- Weekly status updates and monthly reports of all work
- Upgrade consulting and implementation
- A dedicated DBA assigned to your account
Remote DBA services are a particularly good fit in stable environments and are excellent for backfilling or staff augmentation where they take over the more mundane/routine chores of database operations while allowing your current DBA staff to focus on new development or more critical issues.
Remote DBA services are typically cheaper than the same type of services from application specific vendors or hiring a contractor on site for long periods of time. Many of the remote DBA services offer monthly service fees in lieu of, or in addition to, hourly fees. These fees are quite competitive and often are quite a bargain for the level of service you get. Additionally, because it is a service, the information regarding your environment is usually spread among several DBAs and thus less likely to disappear when a DBA leaves the remote DBA service provider.
However there are a few things to remember. First, remember that your service depends upon your hardware and network infrastructure. If the remote DBA service can't connect to your network or equipment, it can't do its job. In addition, if you are running your databases on equipment that is held together with the proverbial bubble gum and bailing wire and is always in need of someone to cajole it into working, remote DBA services are not for you.
Secondly, while it is possible to do this remotely, if you are in a rapidly evolving environment with a lot of new development, working with a DBA on site is easier than having to do so via telephone.
Investigate your options
So which choice is right for you? Probably all of the above at some point in time will be the correct choice. Your circumstances dictate which combination of the above choices or which one alone is best for your organization. The important thing is to be proactive. Do not wait till your databases have imploded on you before investigating your options. This article gives you a starting point for considering these options and a jumping off point to begin your research.