As many wise men and women have said, “nothing in life is free.” While some could debate that fact in the eyes of philosophy, in the database market, it’s dead on truth. Open source technologies are brought into the organization largely because of the price tag. Often times they are brought in by the developers who are looking for convenient ways to develop their applications, without their work affecting the bottom line. While some organizations utilize open source databases as their primary engine for storing data, larger enterprises tend to find open source databases scattered around the infrastructure and often powering “side projects” or low impact applications. Of course, to you, they never seem to be unimportant when the application is down and the program owner is blowing up your inbox.
This is all becoming especially true as the data growth in the modern age is exploding, requiring more and more thought to be given to security, budget, and performance.
Databases Require More Than Just Hardware and Subscription or Support Fees
When you decide to bring an open source database into your environment (or you just discovered one sitting on the outskirts of your servers) there are some things you must keep in mind.
Do you have enough headcount to manage the data? Your staffing levels are dependent on two key factors; how much data they are managing and how many technologies are in operation. Each of the many open source database technologies (and their forks) require different knowledge levels. As for the size of the data, it’s estimated that one DBA can manage about 40 100GB databases.
Do you have the skills in-house to manage the database? Unfortunately databases are not infrastructure building blocks that you can just set and forget, they require continued maintenance and upkeep. Keeping a master – slave replication setup running at peak performance can be a daunting task, even for a skilled DBA.
Does the database work for your application? While there are many open source technologies out there that were developed for specific applications in mind, many are general in nature. While your developers may have it up and running out-of-the-box, the needs of the application may shift over time.
Is your database in it for the long haul? Because the open source market moves quickly you may find that the technology you have running is no longer being developed or supported. This can result in increased capital expense down the road to maintain or migrate to a different technology.
The Costs of Downtime and New Knowledge
Nothing is ever really a problem until it breaks. If you are lucky enough to not have experienced major outages of your databases powering a key application, then great! But the reality is that when it crashes, there will be costs incurred. These can be real dollar costs or costs to your team’s reputation with its customers – both internal and external. Only you can know what the real costs are to your organization.
Organisations go through different availability approaches to ensure there is a backup plan – everything from local redundancy in the datacenter, to a multi-region, multi-datacenter approach. To build a redundant architecture will require two main things: the knowledge of how to implement such a solution and the time/money to get it done. A project would require people with skills in high availability database architectures. While not necessarily spent externally, the cost of acquiring this knowledge can affect your bottom line.
The challenge here is that high availability solutions are not easy to build. There are many tools available in the open source ecosystem, and it is not always easy to know which ones are best suited to solve the problems that are specific to your infrastructure. They are not easy to maintain and manage either.
So What Are Your Options?
Deploying and managing an open source database environment takes three main forms…
- Doing it in-house manually
- Utilizing external support/DBA services
- Using a combination of in-house with professional tools
If the organisation has a DBA on staff, then the DBA should have the level of knowledge required to manage the database. How much time is required to manage an environment often depends on the level of automation implemented in the environment. If there is no DBA, the sysadmin or DevOps person will probably be the one managing the environment. Then it can get more challenging, as databases tend to require specialist knowledge and the ops person, unless proficient in databases, might need to bridge the gap through learning/experimenting or specialized tools that can automate the database.
If you decide to go down the path of oursourcing, consulting and support services can run you anywhere from $6k to $36k annually per database cluster.
The Bottom Line
The bottom line is that running a free open source database isn’t free. But it can be cost effective! I encourage you to read the whitepaper “An Executive’s Guide to Database Management ROI” to learn more.