The Primary key is like the hero of a row, which has more beneficial features in the table while performing any task on the table. The DBA knows the importance of the primary key in the table and how to handle it. Notable features of having a primary key:Requirements:Enabling GIPK:Handling GIPK:BenchmarkingData loading :Limitations:Conclusion: Notable features … Continue reading Generate Invisible Primary Key (GIPK) MySQL 8.0
It was a clear day and traffic started to increase as we are in the biggest sale event of the year for one of our Managed services clients. This is one of the interesting troubleshooting let's dive in. Let me provide some background. We were running the Percona version of MySQL (5.7.30), on a 96 … Continue reading MySQL time_zone and CPU Spike another performance troubleshooting
Rollback is an operation, which changes the current state of the transaction to the previous state. Undo logs are generally required if we want to roll back any of the uncommitted transactions and it plays a major role in Isolation. For any changes made during a transaction, it must be stored priorly, because they are … Continue reading How to Estimate time for Rollback in a cancelled transaction MySQL ?
Aurora has a salient feature "Parallel query", Which will be more beneficial for analytical workload environments. Before going to deep dive on this particular feature, let us understand the basis of Aurora. Aurora Archiecture Key feature The key feature of Aurora is simple data synchronisation among the nodes. The sync latency will be too low … Continue reading Introduction to MySQL Parallel query in AWS Aurora
From MySQL 5.7, we had a Multi-threaded Slave (MTS) Applier mechanism called LOGICAL_CLOCK to overcome the problems of parallel replication within a database. To further improve the parallelisation mechanism, from MySQL 8 (5.7.22) we have write-set replication, so before going further , lets look at the difference between Logical clock (LC) and Writeset. LOGICAL_CLOCK Transactions that … Continue reading Fastest Parallel replication method in MySQL 8.
A few days ago one of our intern @mydbops reached me with a SQL query. The query scans only a row according to the execution plan. But query does not seems optimally performing. Below is the SQL query and its explain plan. ( MySQL 5.7 ) select username, role from user_roles where username= '9977223389' ORDER … Continue reading Row scanned equals to 1, Is the query is optimally tuned ?
This blog is about one of the issues encountered by our Remote DBA Team in one of the production servers. We have a setup of MySQL 5.7 Single Primary (Writer) GR with cluster size of 3 . Due to OOM, the MySQL process in the primary node got killed, this repeated over the course of … Continue reading MySQL Group Replication and its Memory consumption (troubleshooting).
ProxySQL is a high-performance load balancer that helps DBAs a lot and gives more control over MySQL Database. At Mydbops we use ProxySQL extensively to support our customers. We have seen a variety of use cases with ProxySQL and blogged a few We have written a series of blogs on ProxySQL (ProxySQL Series) MySQL replication … Continue reading Monitoring MySQL using ProxySQL
As a part of Mydbops Consulting we have a below problem statement from one of our client. "We have a high powered server for reporting which in turn powers our internal dashboard for viewing the logistics status.Even with a high end hardware, we had a heavy CPU usage and which in turn triggers spikes in … Continue reading Troubleshooting an OLAP system on InnoDB
Loading any large file into MySQL server using the LOAD DATA INFILE is a time consuming process , because it is single threaded and it is a single transaction too. But with modern hardwares system resource is not a bottle neck. At Mydbops we focus on improving the efficiency of process as we value performance … Continue reading MySQL load data infile made faster .