The capabilities of open source relational database management systems have increased dramatically over the past few years. Innovative uses for large, web scale, applications has helped drive this along with many of these database platforms underpinning public cloud DBaaS offerings.
Organisations looking to drive up innovation along with maintaining or lowering capex and operational cost now have many database platform options available. PostgreSQL, AWS Aurora and AWS RDS offerings all provide robust relational database management platforms.
What does this mean however for your existing commercial RDBMS platforms? Are the open source database platforms a new trend with limited lifespan? What are the specific use cases where organisations should consider migrating their commercial database to an open source database?
Why Consider an Open Source Database?
Many organisations still have pockets of data stored outside their enterprise database platforms. This presents risks in terms of data security and availability to support critical business operations. Consolidating these data sources to a commercial database platform may not be possible due to technical or cost reasons. Open Source database platforms provide a robust data management platform without the steep entry level costs associated with running a commercial database.
On the other hand, the cost of commercial database platforms may be out of reach for small businesses and startups. Open Source databases provide rich database functionality with very low entry level price point to develop applications that can scale to support large user communities and workloads.
There are multiple open source database options available to support many different use cases. Be sure to correctly evaluate the different options available and understand how each offering can best support your requirements. Selecting the wrong open source database platform can introduce significant performance and scalability limitations that can be very expensive to remediate once a system is live.
Before going ahead with a new implementation, or when evaluating a migration away from a commercial database platform, consider the following advantages and disadvantages of going down this path.
Advantages
Minimal Up-Front Investment
Commercial databases can require significant up front investment in software licenses, infrastructure and technical expertise before any code is written or any application deployed. Licenses are typically attached to usage and features – the more you use the more you pay. Open Source databases typically have no license fees attached for the database itself and any add-on features. There are commercial support offerings available if required.
Free to Use any Available Features
Open source databases come with a wealth of features that in some commercial databases are licensed options. There is no need to license additional features for a specific use case. Whilst the open source database features may not be as complete or mature as their commercial alternatives – particularly around performance management and monitoring – they are good enough for the vast majority of database workloads.
No Lock Down Period
The lower up-front capex required to implement an open source database makes it easier to migrate between database platforms if required. For example, if a project is started on MariaDB it can be migrated to PostgreSQL without forgoing any software license or support investments. Migrating between commercial database platforms often results in the original investment made to establish the database platform being forgone.
Lower Support & Maintenance Costs
Support and maintenance costs can be substantially lower compared to commercial database platforms. There are commercial support offerings available for many open source database platforms where required. For simple use cases support may not be required, or is included as part of a DBaaS cloud service.
Unleash Powerful Modern Data Formats
Many open source databases work natively with modern data formats such as JSON and YAML. The popularity of open source databases to support cloud native applications makes them a great candidate to support modern application development.
Lightweight & Easy to Install
Open source databases are normally delivered from package installation. They are simple to install and configure and can typically be up in running in a few minutes.
Database Plugins & Extensions
There are a huge number of extensions and plugins available for open source databases covering monitoring, integration, and custom data formats. Whilst these may not come with the standard product they can be easily added allowing for the database platform to be configured exactly as required – typically with no additional cost.
Disadvantages
Support & Maintenance
The lack of commercially backed contracted support can be a problem – particularly if issues are in areas that have not been widely adopted. Support and bug fixes are ultimately provided by the community supporting the particular product.
Poor Documentation
The depth and breadth of documentation for open source databases can vary depending on platform and release. This becomes an issue where additional open source plugins or utilities are used with the database to provide additional functionality. Reliance on community emails, blog posts and “joining” information from several sources is typically required to support an open source database. This becomes time consuming and an exercise in trial and error when documentation sources are not robust.
Advanced Features
Whilst there have been many advances in the capabilities of open source databases, in general they lack the maturity and robustness of functionality available in commercial databases. There are many database workloads that do not require the high end functionality of commercial database offerings. Yet for workloads that have requirements that rely on specific database features, the gap between commercial and open source databases can be quite large.
Vulnerable to Security Threat
Open source database security can be a mixed bag. Commercial database platforms are evaluated against industry standard security criteria. Open source databases in many cases require either a “commercial” flavour that has completed a security evaluation, or do not have any security evaluations performed. This may present an unacceptable risk for many organisations.
What do you need to consider when migrating?
Let us look at the business and technical feasibility of migrating from a commercial database platform to an open source alternative.
System Review
Review the current system thoroughly before making any decision to migrate to an open source database. During the review identify the infrastructure requirements, database complexities and data types of the existing system. Identify if there are any database specific features being used in the current platform that do not have equivalent functionality in the target open source platform.
Compatibility
Application compatibility needs to be verified before any migration to an open source database can be planned. If the application vendor does not support their product running on an open source database there will be few choices available but to stay on a commercial database platform.
Target Database & Platform
There are many open source database options available – and many ways to host these databases. Migrating a relational database to a NoSQL database may work in very specific use cases, and be a complete disaster in others. Likewise migrating from a commercial relational database to an open source relational database can be a good match. Selecting the target platform requires consideration of where to host the database, infrastructure required, technical skills required to support the database. Migrating to an open source DBaaS cloud offering will also require a cloud migration along with the database migration.
Business Logic
Application business logic that is tightly coupled to the database may require significant rework to port the application code to the open source database. Applications that have little to no database stored procedures are good candidates to move along with applications that have few dependencies on database vendor specific technologies.
Databases Easy To Move
The characteristics of the databases will determine if the migration smoothly and easily. Start with simple, less complex applications that have simple use cases. Databases that hold analytic and reporting data, web application development and legacy package applications are good candidates for migration.
Hidden Cost
Potential cost savings are one upside of migrating to an open source database. There are costs to be aware before you commit to migrating to an open source database.
Implementation Cost
Depending on your current system and complexity, redevelopment of application code in the database can consume considerable time and effort to port to the open source database. This cost can increase significantly where there is complex business logic implemented in stored procedures.
Product Configuration
Implementing a simple open source database can be a quick and easy task. Implementing open source databases to support demanding performance, scalability and availability requirements can take considerable time and effort. Commercial databases offer software solutions to address demanding availability, scalability and performance requirements. Whilst open source databases can support demanding workloads, it is not uncommon to see replica copies and complex infrastructure solutions in place to service these requirements. This can result in higher implementation and ongoing support costs.
Troubleshooting Issues
Identifying and resolving issues can take more time than expected – particularly when a commercial support agreement is not in place. Whilst the diagnostic capabilities of many open source databases is maturing, they are still far behind the enterprise grade database management systems. This can lead to unacceptable resolution times for issues that have a critical business impact..
Advanced Features
Whilst there are many advanced features and extensions available for open source databases some of the higher value-add features are available as commercial software or have commercial support subscriptions. Keep in mind that whilst the database itself maybe free you may need to pay a little for additional features or software to meet your requirements.
Time to migrate?
Next up we compare major open source database cloud providers and the options for deploying on-premise.