What is MySQL?
MySQL is an open-source relational database management system (RDBMS) that uses Structured Query Language (SQL) to add, access and manage content in a database. It is distributed under a dual GPL and proprietary license by Oracle. It's known for its speed, reliability, and ease of use. MySQL is widely used in web applications to store data, it's a central component of the LAMP open-source web application software stack (Linux, Apache, MySQL, Perl/PHP/Python).
MySQL is designed to handle a broad spectrum of applications, from single-user systems to highly demanding web services with many concurrent users. It provides a full suite of database drivers and visual tools to help developers and DBAs build and manage their business-critical database applications.
MySQL supports a wide range of database features, including but not limited to:
- ACID Compliance: MySQL supports Atomicity, Consistency, Isolation and Durability (ACID) to guarantee that transactions are processed reliably.
- Replication: MySQL supports primary-replica and cluster replication to enable data from one MySQL database server to be copied to other MySQL database servers.
- Partitioning: MySQL supports database partitioning, which enables you to distribute portions of individual tables across a filesystem according to rules which you can set largely as needed.
- Stored Procedures: MySQL supports stored procedures, which are SQL statements that are stored in the database itself.
What is MariaDB?
MariaDB is a community-developed fork of MySQL, led by the original developers of MySQL. It was born out of concerns related to Oracle's acquisition of MySQL and its potential impact on MySQL's open-source nature. MariaDB is designed to maintain high compatibility with MySQL, ensuring a drop-in replacement capability with library binary parity and matching MySQL APIs and commands.
MariaDB includes more storage engines than MySQL, including Cassandra (NoSQL, in MariaDB Version 10), XtraDB (a drop-in replacement for InnoDB), and OQGRAPH (in MariaDB Version 10). It also has improved query performance, making it a robust and flexible choice for a wide range of database applications.
Some of the key features of MariaDB include:
- Compatibility: MariaDB is designed to be fully compatible with MySQL, including APIs and command lines.
- Community-driven: MariaDB is developed and maintained by the community under the governance of the MariaDB Foundation.
- Rich feature set: MariaDB includes a wide range of storage engines, plugins, and other features that make it a versatile choice for a wide range of database applications.
- Performance: MariaDB has several performance optimization features, including advanced query optimization and performance tuning options.
How to monitor MySQL and MariaDB?
ServicePilot makes it easy to monitor MySQL and MariaDB requiring only a DB account with read privileges. Simply add a resource from the ServicePilot database-mysql package to your monitoring environment.
The statistics gathered in this way allow system and instance monitoring with more than 25 key indicators. ServicePilot will display built-in dashboards with the essential database indicators, such as response times, failure rates, and database-activity breakdowns.
This package ensures consistent performance metric collection and database connection sizing monitoring across different MySQL versions:
- MySQL 5.7 Qcache_xxx
- MySQL 8.0 Connection_errors_xxx
ServicePilot allows you to build a complete and unified MySQL/MariaDB database performance checklist. Using additional ServicePilot packages to monitor your application and database environment, you can:
- Ensure your system and OS work fine with server data
- Verify your virtualization health with virtual machine metrics
- Tune and monitor database access by searching application data
- Analyze the network impact of database communication by looking at network data
Having a full-stack visibility over MySQL/MariaDB metrics is vital to know how and what caused MySQL/MariaDB performance degradation.
MySQL/MariaDB processes rely heavily on host and server performance. MySQL/MariaDB will deliver better performance on faster CPUs. In a VMWare environment, CPU Ready time can affect server performance, thus MySQL/MariaDB database performances and consequently, the dependant applications. A very high number of page faults per second can indicate that your hosts are out of memory. Host disk space available metrics can also be critical in MySQL/MariaDB performance monitoring.
How to install a mysql resource?
- Use your ServicePilot OnPremise installation or a SaaS account.
- Add a new mysql resource via the web interface (
/prmresources) or via API (
/prmpackagespage), the default ServicePilot agent or another agent will be provisioned automatically.
Details of the mysql package are located in the
/prmpackagespage of the software.
ServicePilot enables you to deliver IT services faster and more securely with automated discovery and advanced monitoring features.
By correlating the technology MYSQL with APM and infrastructure monitoring, ServicePilot is able to provide a more comprehensive view of an organization's IT environment.
This allows IT teams to quickly identify and diagnose issues that may be impacting application performance, and take corrective action before end-users are affected.