Author - Alexander Rubin

MySQL 5.7 Performance Tuning Immediately After Installation

MySQL 5.7 Performance Tuning

This blog updates Stephane Combaudon’s blog on MySQL performance tuning, and covers MySQL 5.7 performance tuning immediately after installation.
A few years ago, Stephane Combaudon wrote a blog post on Ten MySQL performance tuning settings after installation that covers the (now) older versions of MySQL: 5.1, 5.5 and 5.6. In this post, I will look […]

Read more

MySQL 8.0 General Tablespaces: File per Database (and no FRM files)

MySQL 8.0 innodb_dedicated_server

In this blog post, we’ll look at MySQL 8.0 general tablespaces.
Introduction
MySQL 8.0 (the DMR version is available now) has two great features (among others):

The new data dictionary completely removed *.frm files, which is great
The ability to create a tablespace and assign a group of tables to it (originally introduced in 5.7).

With those two options, we […]

Read more

MySQL CDC, Streaming Binary Logs and Asynchronous Triggers

MariaDB ColumnStore

In this post, we’ll look at MySQL CDC, streaming binary logs and asynchronous triggers.
What is Change Data Capture and why do we need it?
Change Data Capture (CDC) tracks data changes (usually close to realtime). In MySQL, the easiest and probably most efficient way to track data changes is to use binary logs. However, other […]

Read more

How Apache Spark makes your slow MySQL queries 10x faster (or more)

Slow MySQL Queries

In this blog post, we’ll discuss how to improve the performance of slow MySQL queries using Apache Spark.
Introduction
In my previous blog post, I wrote about using Apache Spark with MySQL for data analysis and showed how to transform and analyze a large volume of data (text files) with Apache Spark. Vadim also performed a benchmark […]

Read more

Pipelining versus Parallel Query Execution with MySQL 5.7 X Plugin

MongoDB Data Durability

In this blog post, we’ll look at pipelining versus parallel query execution when using X Plugin for MySQL 5.7.
In my previous blog post, I showed how to use X Plugin for MySQL 5.7 for parallel query execution. The tricks I used to make it work:

Partitioning by hash
Open N connections to MySQL, where N = number of CPU […]

Read more

Migrate from MS SQL Server to MySQL

Migrate from MS SQL Server to MySQL

In this blog series, I will share my experiences as I migrate commercial databases (i.e., Microsoft SQL or Oracle) to open source (MySQL). More specifically, we will look at how you can migrate from MS SQL Server to MySQL.
For this first blog post I’ve chosen Jira database as an example, and used three different tools to […]

Read more

Using MySQL 5.7 Document Store with Internet of Things (IoT)

MySQL 5.7 Document Store

In this blog post, I’ll discuss how to use MySQL 5.7 Document Store to track data from Internet of Things (IoT) devices.
Using JSON in MySQL 5.7
In my previous blog post, I’ve looked into MySQL 5.7.12 Document Store. This is a brand new feature in MySQL 5.7, and many people are asking when do I need […]

Read more

MongoDB Administration Checklist for MySQL DBAs

MongoDB Adminstration Checklist

In this blog, I discuss a MongoDB administration checklist designed to help MySQL DBAs.
If you are MySQL DBA, starting MongoDB administration is not always an easy transition. Although most of the concepts and even implementation are similar, the commands are different. The following table outlines the typical MySQL concepts and DBA tasks (on the […]

Read more