MySQL: The Simpler Choice
September 16, 2019
MySQL: The Simpler Choice
Score 10 out of 10
Overall Satisfaction with MySQL
I write custom web-based applications and MySQL is my go-to database solution. Typically, an organization has a need for an application which their core services do not provide or they need an application to integrate with services they already use. In either case, MySQL is a great product to use for storing data easily and efficiently, for free with the benefit of adding logic in the database layer so that it manages itself.
- Window functions. MySQL 8, is owned by Oracle, has brought in all your classic hits for Window functions, I.E aggregate functions like sum and count over some partitions, dense_rank, lag, first_row, row_number. Now, much like Oracle 11g and above, MySQL can answer all your analytical needs for understanding your data quickly.
- 8 allows for JSON processing, both in and out of the database, which is extremely convenient for web applications which quite often need to call web-based REST services to retrieve such information. Gone are the days of constructing an additional Java layer for things like retrieving basic data in a GET request—MySQL provides.
- Event Scheduler: Write a stored procedure to monitor and modify your data. Then create an event so that it happens automatically. MySQL makes this very easy.
- The language tends to be a bit verbose at times, especially when writing stored procedures. I shouldn't need keywords like delimiters to be able to compile a procedure.
- Error handling, it could be a bit simpler. You need to declare "handlers" at the moment, and in order to get the error message, it requires you to select it and know the index.
- MySQL is getting rid of inline variables while querying. Boo.
- MySQL 8 Community Edition is free, no investment necessary.
- MySQL has enabled me to deliver in a timely fashion because it is easy to deploy, easy to learn, and easy to compile.
- MySQL will be familiar to anyone who knows any SQL for most basic things, so development resources needn't be dedicated to MySQL.
I would choose Oracle 11g, 12c for more complex ventures which require financials and complex logic. I would choose MySQL for simpler applications which simply need to interface data to a backend. I selected MySQL in this case because it is free and much simpler to install—it comes with a Wizard and does not require a ton of manual intervention and configuration. It simply installs and starts the service. Sure Oracle is robust, my MySQL is simple and better for lighter applications.
I would not recommend MySQL for financially intensive organizations or those which require a TON of logic to reside in the database. For this, I would recommend an Oracle 11g or above, simply for the ease of compiling procedures and readability of the code. But for simpler applications that are looking for cost-effective solutions to data-storage, MySQL is your obvious choice.