My database - MySQL!
Overall Satisfaction with MySQL
Through an acquisition a company that used MySQL to store their data was added to our line of products. These new products continue to run on MySQL supporting very large data stores with high availability. We also have several third party and in house tools which utilize MySQL. These tools range from our production change tracking application to an Oracle supported 3rd party application with terabytes of data.
Pros
- Cost: MySQL is still available for free. If you have a server, you can set up a MySQL server quickly at no cost.
- Ease of use: Oracle, SQL Server, Vertica and other large players have a steep learning curve to administer. MySQL is less complex. For a quick and easy database, very little knowledge is needed. MySQL is mature and has a vast knowledge base. With the right people, MySQL can become a very scalable solution for many enterprise applications.
- Maturity: MySQL is a mature software package. It has been used on countless applications. It is a very popular pick for web applications as well as installed and SaaS applications. MySQL is clearly not a fad. It is a mature database offering.
Cons
- Clustering: MySQL does have some clustering options. None of these compare to RAC from Oracle. Each instance of MySQL requires its own data store, this can become costly. Further, in extremely heavy write environments, the replication between the servers can become backed up, this is a difficult problem to correct, and often severely impacts performance.
- Features: With money comes features. Big name databases such as Oracle and SQL Server have plan caching, robust partitioning, RAC(Oracle), robust optimization and support. Adding Oracle or even third party support to MySQL can be very expensive. This would put an enterprise in the position to consider Oracle or another solution.
- Misunderstanding: This is not necessarily a flaw in MySQL, however in my career I have seen a lot of it. MySQL is a complex database solution. It is not to be taken more lightly than other database products. A bad design from an inexperienced engineer can take a low cost start up application to a high cost emergency as it scales. Architecture, proper query writing, thoughtful indexing and design are paramount to the success of any application. MySQL is no different. I have seen many companies make the mistake of starting with inexperienced engineers and rush a product to market. This may be low cost, or in some cases no cost. When the product matures and volumes increase, problems, sometimes big present themselves.
- Our products that run MySQL are very profitable. Our support cost is negligible.
- We have many products that run on Oracle. In comparison the cost to support these applications is in the millions.
- MySQL developers and administrators are not as easy to find as Oracle or SQL server professionals. However, we have one offshore and one local DBA to support more than 150 instances of MySQL.
- Oracle
Oracle and MySQL serve similar functions. Oracle in fact owns MySQL. We chose MySQL because we acquired a company that used MySQL. It can be time consuming and expensive to convert an application to use a different platform. Of course there is the "If it's not broken, don't fix it" principle as well. Money spent on adding features is far better than money spent migrating to a new database.
Comments
Please log in to join the conversation