ProxySLQ allows many simultaneous connections and allows the cache of queries in memory but it does not have high availability or scalability natively, only through external tools. HAProxy is not able to perform load balancing in an optimal way.
If you have a cluster of nodes with MariaDB MaxScale and you want all the nodes of the cluster to have a similar load and not to be be penalized for queries or writes to the database, you can mount the MaxScale product in front of the MariaDB cluster. MaxScale will balance the requests based on what is being sent to each node to have an equitable load and will cache the queries that it sends to each one. This optimizes the response time to database queries and spreads the load out among all nodes in a similar way.
MySQL is best suited for applications on platform like high-traffic content-driven websites, small-scale web apps, data warehouses which regards light analytical workloads. However its less suited for areas like enterprise data warehouse, OLAP cubes, large-scale reporting, applications requiring flexible or semi-structured data like event logging systems, product configurations, dynamic forms.
Learning curve: is big. Newbies will face problems in understanding the platform initially. However, with plenty of online resources, one can easily find solutions to problems and learn on the go.
Backup and restore: MySQL is not very seamless. Although the data is never ruptured or missed, the process involved is not very much user-friendly. Maybe, a new command-line interface for only the backup-restore functionality shall be set up again to make this very important step much easier to perform and maintain.
For teaching Databases and SQL, I would definitely continue to use MySQL. It provides a good, solid foundation to learn about databases. Also to learn about the SQL language and how it works with the creation, insertion, deletion, updating, and manipulation of data, tables, and databases. This SQL language is a foundation and can be used to learn many other database related concepts.
MariaDB MaxScale is a powerful tool and easy to use. It has helped us a lot to improve the performance of our database queries. It implements a security layer that acts as a firewall for the databases, masks the data, or limits the results of the queries. It also integrates easily with Kafka.
I give MySQL a 9/10 overall because I really like it but I feel like there are a lot of tech people who would hate it if I gave it a 10/10. I've never had any problems with it or reached any of its limitations but I know a few people who have so I can't give it a 10/10 based on those complaints.
We have launched several inquiries to MariaDB MaxScale support, and they have always responded very quickly. They also want to hold frequent meetings with the client to get their opinion understand how they can help. I see a very human support that is concerned about the customer.
We have never contacted MySQL enterprise support team for any issues related to MySQL. This is because we have been using primarily the MySQL Server community edition and have been using the MySQL support forums for any questions and practical guidance that we needed before and during the technical implementations. Overall, the support community has been very helpful and allowed us to make the most out of the community edition.
ProxySLQ allows many simultaneous connections and allows the cache of queries in memory but it does not have high availability or scalability natively, only through external tools. HAProxy is not able to perform load balancing in an optimal way.
Instead, MariaDB MaxScale allows high availability, scalability, and data replication to external systems such as Kafka. In addition, MaxScale has a monitor that allows you to see the status of the set of databases.
MongoDB has a dynamic schema for how data is stored in 'documents' whereas MySQL is more structured with tables, columns, and rows. MongoDB was built for high availability whereas MySQL can be a challenge when it comes to replication of the data and making everything redundant in the event of a DR or outage.