I’ve recently heard some developers complain that there aren’t enough DBAs, suggesting that each developer should have their own DBA…
This prompted me to share some thoughts on how to configure database administrators (DBAs).
First, to clarify, I am referring specifically to DBAs who are responsible for database management, not those who have other roles or those who specialize in database kernel development.
So, how many DBAs should a company have? It actually depends on the company's stage of development.
< 30 People – Possibly No DBA Needed
For companies with fewer than 30 developers, a DBA might not be necessary. Developers, backend engineers, DevOps platform engineers, or technical leads may have enough knowledge to manage basic database maintenance.
Cloud database technologies are quite mature now, and you can use database hosting services that come with built-in operational management, monitoring, backup, and other features.
As for daily database changes, they are usually manageable. You can either introduce tools or choose not to. If no tools are introduced, the technical lead can handle things through design reviews, code audits, etc.
30 ~ 50 People – 1 DBA
As a company grows and its database concurrency demands increase, a part-time DBA may no longer be sufficient. To ensure the long-term stability of the database, it’s time to consider hiring a full-time DBA.
At this stage, several factors should be considered:
If more than 50% of the tasks handled by a part-time DBA are related to databases, or if more than 50% of the high-priority tasks in the tech team are database-related, or if there have been two consecutive months with database failures affecting business operations, then hiring a dedicated DBA becomes urgent.
The role of this new DBA is crucial. At this point, attracting top-tier DBAs might be challenging, so the goal is not to build a complete database management system, but rather to establish a set of practical work mechanisms.
These mechanisms should cover:
- Normalizing database operations, such as optimizing monitoring, conducting regular inspections, and ensuring data backup reliability.
- Standardizing database access permissions and change deployment processes.
These tasks require professional tools to complete. The first can be achieved using cloud platform features through configuration or simple secondary development, while the second requires specialized tools to manage database change reviews and other core issues.
The support of the development team is vital in this process. Since introducing a DBA and relevant tools may impose some restrictions on development work, and the DBA's goals may not always align with the development team's priorities, the development team leader should act as a bridge, ensuring smooth communication between both sides and avoiding unnecessary friction or departmental barriers.
In the end, business needs always come first. If the development team refuses to cooperate under the guise of "business priority," the processes and tools set up by the DBA may face challenges. The development team leader must also help the DBA understand the business in order to help them grow with the company.
100 ~ 150 People – 2 ~ 3 DBAs
When the development team expands to around 100 people, a second DBA should be brought on to ensure the stability and efficient maintenance of the system.
The key here is to create a backup working model. Regarding the role of the new DBA, if the first DBA is experienced, the second DBA can be at a junior level, creating a mentorship environment. On the other hand, if the first DBA is struggling to keep up with the company’s growth, it’s essential to hire a more experienced DBA.
At this stage, establishing a solid database management system is crucial. First, review the types of databases currently in use. As the business grows, the choice of database may no longer be optimal. It's time to make informed decisions to unify database management. Additionally, evaluating the existing database toolchain is necessary to determine whether it needs to be replaced or upgraded.
Choosing the right database and tools is the key task at this stage, and an experienced DBA should make these decisions. A less experienced DBA might struggle to make wise choices when facing complex business requirements. Once a decision is made to replace databases or tools, the manpower, material, and time investments can be substantial—often exceeding the cost of hiring a senior DBA.
Once this stage is complete, the development leader can gradually step away from the daily management of databases and hand this responsibility to the DBA team.
> 150 People – DBA Team
In larger companies, it’s possible to maintain two or three DBAs even as the company grows, which is not uncommon in large domestic companies with thousands of developers.
However, the number of DBAs should correlate with the risks involved, so it’s recommended that the ratio of DBAs to developers doesn’t fall below 1:200.
As the business scales, a single DBA may prevent a major failure each year, which could easily cover their labor costs.
With the growth of the business, more customized requirements will arise, and standard database tools may no longer suffice. DBAs will need to get involved in in-depth secondary development.
However, expanding the DBA team should be done cautiously until the company reaches around 500 developers. Once the DBA team grows to 5 people, the company will typically consider developing its own toolchain to support the larger team.
At this stage, opting for self-developed tools usually won’t yield significant business benefits. While self-development may better meet some specific needs, the overall product experience often lags behind mature commercial solutions.
For the DBA team, especially the team leader, providing room for growth is essential. On one hand, you can encourage the DBA leader to move beyond traditional DBA duties into broader areas like storage or infrastructure management. On the other hand, helping the DBA leader build influence in the industry is also a viable path.
Overall, it's important to avoid rushing the DBA team’s expansion. While databases play a foundational role in the development pipeline, they are not the central hub. The timing of developing a self-built database toolchain should align with the company's broader development platform plans, typically after those plans are firmly established.
> 800 People – Multiple DBA Teams
As the company grows, it may form different business units. At this stage, a core question is whether each business unit should have its own DBA team.
This is no longer just a technical issue but also involves organizational structure and management.
Powerful business units may seek to establish their own independent teams to better meet their needs. However, they may face challenges like hiring difficulties and talent retention issues. As a result, while they may remain nominally independent, they may still need to rely on a centralized system for support.
In large domestic enterprises, some opt for a centralized model, while others implement a decentralized, autonomous model. At this stage, as the environment and needs evolve, the company’s organizational structure and management approach must remain flexible. There is no fixed model to follow.
Finally, may there be no database that is too difficult to maintain.
Visit the https://payhip.com/OracleeBookSoftwareShop website to get an e-book about Oracle internal storage.
Top comments (0)