Insight for DBAs

Identifying High Load Spots in MySQL Using Slow Query Log and pt-query-digest

pt-query-digest MySQL slow queries

pt-query-digest is one of the most commonly used tool when it comes to query auditing in MySQL®. By default, pt-query-digest reports the top ten queries consuming the most amount of time inside MySQL. A query that takes more time than the set threshold for completion is considered slow but it’s not always true that tuning […]

Read more

How to Fix ProxySQL Configuration When it Won’t Start

restart ProxySQL config

With the exception of the three configuration variables described here, ProxySQL will only parse the configuration files the first time it is started, or if the proxysql.db file is missing for some other reason.
If we want to change any of this data we need to do so via ProxySQL’s admin interface and then save them […]

Read more

Instrumenting Read Only Transactions in InnoDB

Instrumenting read only transactions MySQL

Probably not well known but quite an important optimization was introduced in MySQL 5.6 – reduced overhead for “read only transactions”. While usually by a “transaction” we mean a query or a group of queries that change data, with transaction engines like InnoDB, every data read or write operation is a transaction.
Now, as a […]

Read more

MongoDB Replica set Scenarios and Internals

MongoDB replica sets replication internals r

The MongoDB® replica set is a group of nodes with one set as the primary node, and all other nodes set as secondary nodes. Only the primary node accepts “write” operations, while other nodes can only serve “read” operations according to the read preferences defined. In this blog post, we’ll focus on some MongoDB replica set scenarios, […]

Read more

Persistence of autoinc fixed in MySQL 8.0

MySQL 8.0 autoinc persistence fixed

The release of MySQL 8.0 has brought a lot of bold implementations that touched on things that have been avoided before, such as added support for common table expressions and window functions. Another example is the change in how AUTO_INCREMENT (autoinc) sequences are persisted, and thus replicated. (more…)

Read more

Detailed Logging for Enterprise-Grade PostreSQL

detailed logging PostgreSQL

In this penultimate post from our series on building an enterprise-grade PostgreSQL environment we cover the parameters we have enabled to configure detailed logging in the demo setup we will showcase in our upcoming webinar.
Detailed logging in PostgreSQL and log analyzer
Like other RDBMS, PostgreSQL allows you to maintain a log of activities and error messages. […]

Read more

PostgreSQL Extensions for an Enterprise-Grade System

PostgreSQL extensions for logging

In this current series of blog posts we have been discussing various relevant aspects when building an enterprise-grade PostgreSQL setup, such as security, back up strategy, high availability, and different methods to scale PostgreSQL. In this blog post, we’ll get to review some of the most popular open source extensions for PostgreSQL, used to […]

Read more

The Importance of mysqlbinlog –version

Importance of MySQL binlog version

When deciding on your backup strategy, one of the key components for Point In Time Recovery (PITR) will be the binary logs. Thankfully, the mysqlbinlog command allows you to easily take binary log backups, including those that would otherwise be encrypted on disk using encrypt_binlog=ON. (more…)

Read more

Finding Table Differences on Nullable Columns Using MySQL Generated Columns

MySQL generated columns

Some time ago, a customer had a performance issue with an internal process. He was comparing, finding, and reporting the rows that were different between two tables. This is simple if you use a LEFT JOIN and an 
IS NULL  comparison over the second table in the WHERE clause, but what if the column could be […]

Read more