I may argue for the use of open source and other mid-range database management systems, but a lot of industry sentiment remains on the other side. Vendors of high-end RDBMS naturally advocate enterprise-wide single-vendor adoption. Many CIOs and industry analysts, overwhelmed by product proliferation, think that’s a neat idea as well.
And in fairness, they’re not entirely wrong. Here are 14 reasons for using high-end relational database management systems, even on applications for which mid-range DBMS would suffice.
- Many enterprises get quantity discounts. License and in some case even maintenance fees may not be bad at all.
- Who cares if the system contains code for features you don’t need? Hardware is really cheap these days.
- If you already have DBAs on staff, how much work is it to administer a few more small systems? Besides, an Oracle or SQL Server DBA has access to some pretty good remote tools, which let her administer many database servers at once.
- If you run a Windows-only shop, why not go Microsoft soup-to-nuts?
- SQL Server used to be a mid-range DBMS, and still plays that role in many Oracle and DB2 shops today.
- Early on, Microsoft did a great job of usability engineering on SQL Server administration tools.
- Largely in response to Microsoft competition, Oracle radically improved its own tools. For sufficiently simple databases, installation and administration really aren’t that hard in any of the high-end DBMS.
- Oracle, SQL Server, DB2, and Informix all offer cheap or free low-end editions, with good upwards compatibility. Those might happen to meet your deployment needs, now and in the future.
- If your application grows so quickly that you really do wind up needing a high-end database management system underneath, you won’t have to rewrite it.
- Most high-end database management systems have more robust datatype support than most mid-range DBMS, the PostgreSQL family of products excepted.
- Upstart mid-range database management systems have a variety of maturity issues. What are the most common kinds of error messages you see in a typical week? If you use the Web a lot, MySQL errors may be in the top three. Those memory buffers seem to fill to the choking point all too often.
- Individual features may also not be very mature yet. MySQL has long offered stable transactions and decent clustering, but not necessarily with the same storage engines (and not necessarily either in the most common configurations). And how is performance on relatively new features like declarative referential integrity, user-defined functions, or stored procedures?
- There are more and better third-party tools for popular high-end DBMS than there are for upstart mid-range database management systems.
- Nobody you know ever got fired for recommending a traditional, over-engineered computing platform.
On the whole, I think there should be a lot more use of mid-range database management systems than there is today. But the case isn’t entirely one-sided.