Qualities of a Good MongoDB DBA
MongoDB is a relatively new cross-platform DB (launched in 2009). The document-oriented DB is a NoSQL DB that is today the backend software for several major websites, among them Craigslist, Foursquare, eBay, The New York Times, and Viacom.
Consider outsourcing a DBA as this allows you to concentrate on running your business and it saves you money since you do not have to hire an in-house team for database management. Many DBAs (database administrators) studied and have experienced in the traditional table-based relational DB structure like Oracle. If you are using NoSQL DB like MongoDB, you should look for several qualities in your DBA to ensure you get value for money.
The DBA should have training and experience in MongoDB. He/she should be experienced in the multiple relational structures, the ad hoc queries, the indexing, the replica sets, the load balancing/scaling using sharding, the file storage, and the MapReduce aggregation features of MongoDB in detail.
- It is important that MongoDB is up to date to get the best services. Your DBA should help you get the latest licensing and support. The GNU Affero General Public License of MongoDB is available free of charge. The Apache License includes the language drivers. MongoDB Inc. also offers proprietary licenses for the DB.
- MongoDB runs over multiple servers for data duplication and load balancing. Your DBA should therefore, have training and experience in servers. The DBA should also be experienced in networking, RAID architecture, SAN, how Web Applications interact with DB servers, and the implications firewalls on DB servers.
- The DBA should understand the needs of the business behind the servers he/she supports since different businesses will have different business, user, and data needs. Many businesses do not have an unlimited pool for DBMS (Database Management System) deployment. If your DBA understands your business well, he/she will give you justifications to build the system that your business line will understand. The DBA should have experience in Business Intelligence (BI) tools.
- Go for a DBA who will assist you with performance reporting. Going through all the data yourself is time consuming, so you should hire a DBA who is able to see things from your perspective and to come up with report content and a layout that matches your needs. Your DBA, in this role, will be acting as a consultant and should therefore have skills not only in database administration, but also in banking, insurance, government, and retail.
- The DBA should be experienced in disaster recovery (DR). Losing all your data when DB servers go down could have disastrous consequences. Although MongoDB has a replication feature, the DBA should take other measures for even greater redundancy.
- Your DBA should be able to work on your database without using a GUI. Using a GUI is easy, but using, as an example, querying the Information_Schema. Routines table and Dynamic SQL gives you greater productivity in such tasks as giving permissions to thousands of specific stored procedures to a specific user group.
- Server security is very important. Although it is your responsibility to ensure that your servers are secure, you should hire a DBA who will implement a security plan and who is trustworthy (to ensure that passwords do not get into the hands of competitors and third parties).
- The DBA you go for should have excellent writing skills. DBAs are required to write recommendations and to document the database. The DBA should also be able to read technical documents and other technical communications.
- Most people view database administrators as nerds who work in back offices and who rarely interact with the outside world, but this could not be further from the truth. Your DBA should have interpersonal skills because this ensures that there is no miscommunication between him/her and your management team.
- You need a DBA who has organization skills, as these skills will help in the management of your database. If your database is well organized, accessing it is easier and performance is better. A good DBA will organize procedures that affect your DB like recovery and backup to reduce downtime in case of outage.
- A good DBA is one who is a natural problem solver. You should therefore have interview questions that bring out this characteristic when hiring. Some of the problems that your DBA will be required to solve will not necessarily be within the responsibility domain.
- Every organization wants to spend as little as possible on outsourcing, but you should know that a ‘cheap’ DBA would most probably be cutting corners. Compare different DBAs by reading reviews and customer testimonials/recommendations, not based on what they are charging.
- DBA problems often have catastrophic impact on an organization. The DBA you go for should not wilt under pressure. The DBA should be able to communicate his/her views confidently, calmly, concisely, and clearly, oftentimes under pressure. A good DBA should be firm but polite when dealing with you – he/she should not suck up to you.
- Tact is an important quality in a DBA. A tactful DBA will understand that at times decisions made will result in conflict of interest. As an example, a production DBA may be viewed as an obstruction by the development team and he/she must walk a fine line between ensuring securing and availability, whilst not hampering delivery.
The best DBA experts are ones who are part of a team. It is easier to vet a DBA company than it is to vet an individual. A DBA who is part of a team will be able to consult with other DBAs.