Reasons for Using Open Source Databases in Your SMB


Yesterday, I wrote about leveraging open source solutions in networking. I highlighted how open source technologies are being used in routers, and mentioned my experiences with the IPCop firewall. IPCop is a free, open source firewall software that can be easily installed onto a dedicated workstation to create a firewall appliance.


Today, I want to elaborate on a couple of reasons for using open source databases in the SMB.


Probably the two most well-known open source database management systems in the world would be MySQL and PostgreSQL, known as "the world's most popular open source database" and "the world's most advanced open source database," respectively. Their individual merits aside, both are mature products that have been around for many years and are widely recognized by the open source community. While they continue to converge in terms of their capabilities, PostgreSQL maintains an edge in advanced features and robustness. MySQL is better known for its ease of setup and performance.


With practically all the major proprietary databases offering free licenses for their feature- or data-crippled editions, what are the advantages afforded by an open source database that an SMB would find useful?


Repeat After Me: F-R-E-E


You have probably heard the "free" mantra often enough, though I daresay that few have truly considered the costs associated with traditional proprietary databases. These proprietary DBMS typically require client access licenses (CALs) on a per seat - and not per connection - level. So a CAL must be purchased even if your CEO only uses it but once in a month. Sure, per-processor licenses are typically available too, but they are normally priced at a much higher cost.


And yes, licenses must usually be purchased for every backup server in a "production" environment, regardless of whether they are even switched on! Yet another factor to drive up costs is scalability. A heavily trafficked Web site, for example, might require a number of database servers to support the front-end data requirements. Multiply the number of servers required and you get a better idea of the costs involved.


Of course, I'm not saying that costs cannot be kept low with proper planning. However, the fact is that plans do change - and there's nothing like complex and non-transferrable licensing costs to trip over.


Availability of Client Library


An SMB that I once worked in wanted to install an ERP system from an external vendor. The integration phrase ran into a snag when the maker of a system used to control some of the factory hardware - it was a manufacturing concern - wasn't able to modify its system to support our new ERP system.


Thankfully, the problem was resolved because the factory hardware communicated with a PostgreSQL open source database on the controlling workstation. When I realized that, I was able to point our ERP vendor towards a PostgreSQL client library implementation and also documentation from the maker of the factory hardware. Using the information, the ERP vendor was able to integrate with the other system in a relatively short amount of time.


In a nutshell, two disparate, proprietary systems were able to exchange data, thanks to an open source database.