Common Table Expressions (CTEs) are a very useful tool and
frankly a big improvement on sub-queries. But there are
differences in how they are implemented in MySQL and
MariaDB. That is not too surprising since the code
fork many years ago. Different engineers implementing the same
idea will have different approaches (and sometimes results). But
differences in implementation are often important and, in this
case, shockingly different.
Jesper Wisborg Krogh at Oracle OpenWorld and CodeOne gave a
series of presentations and hands on labs that were excellent. He
is an amazing Support Engineer and a great presenter of material
at conferences. In the lab for Common Table Expressions he
did point out to me an interesting problem in MariaDB's
implementation of CTEs.
The Problem In a Nutshell
On the PostgreSQL Wiki, there is a
an SQL query (requires PostgreSQL 8.4 or MySQL 8.0) that …
Hello, open source database enthusiasts at Percona Live Europe 2018! There is a lot to see and do today, and we’ve got some of the highlights listed below.
On Facebook? Go here for some pics that captured the action
on Percona Live Europe 2018 Tutorials day (Monday, Nov. 5,
2018).
Download the Conference App
We apologize for the confusion yesterday on the app but can assure you, the schedule and timings have been updated! If you haven’t already downloaded the app, go to the app store and download the official Percona Live App! You can view the schedule, be alerted for any …
[Read more]Quickly Add a Node to an InnoDB Cluster or Group Replication (Shutterstock)
In this blog, we’ll look at how to quickly add a node to an InnoDB Cluster or Group Replication using Percona XtraBackup.
Adding nodes to a Group Replication cluster can be easy (documented here), but it only works if the existing nodes have retained all the binary logs since the creation of the cluster. Obviously, this is possible if you create a new cluster from scratch. The nodes rotate old logs after some time, however. Technically, if the
gtid_purged
set is non-empty, it means you will need another method to add a new node to a cluster. You also …
[Read more]We are happy to announce that there will be a MySQL Day/MySQL Community Meetup hold in Oracle Buliding in Vienna on November 8th. Please find more details below:
- Date: Thursday, November 8th, 2018
- Time: 7pm - 9pm
- Address: Oracle Office DC Tower 1, Donau-City-Straße 7, 1220 Wien, Österreich
- Meeting room: will be confirmed soon.
- Agenda:
- "Oracle MySQL 8 - The next big thing!" by Carsten Thalheimer the Master Principal Sales Consultant
- Discussion & pizza
- More information & Registration
as announced in the blog posted on Oct 18, 2018 we would like to just remind you about places and shows where you can find us this really busy week... We are ready for following shows:
-
PerconaLive in Frankfurt, Germany on November 5-7, 2018
- as previously announced there are plenty of our MySQL experts, our friends from sales & Fred Descamps representing MySQL community at PerconaLive, Frankfurt which started today. Right now Fred Descamps & Kenny Grip are having a tutorial on "MySQL InnoDB Cluster in a Nutshell : The Saga Continues with …
There are basically two things which I majorly like about using
MyRocks, 1. LSM Advantage – smaller space & lower write
amplification and 2. Best of MySQL like replication,
storage engine centric database infrastructure operations and
MySQL orchestration tools. Facebook built RocksDB as an
embeddable and persistent key-value store with lower
amplification factor () compared to InnoDB. Let me explain a
scenario were InnoDB proves less efficient compared to RocksDB in
SSD:
We know InnoDB is constrained by a fixed compressed page
size. Alignment during fragmentation and compression causes extra
unused space because the leaf nodes are not full. Let’s consider
a InnoDB table with a compressed page size of 8KB. A 16KB
in-memory page compressed to 5KB still uses 8KB on storage.
Adding to this, each entry in the primary key index has 13
bytes of metadata (6 byte transaction id + 7 byte rollback
pointer), and the …
Recently, I’ve been working with a customer to evaluate the different cloud solutions for MySQL. In this post I am going to focus on maintenance windows and requirements, and what the different cloud platforms offer.
Why is this important at all?
Maintenance windows are required so that the cloud provider can do the necessary updates, patches, and changes to our setup. But there are many questions like:
- Is this going to impact our production traffic?
- Is this going to cause any downtime?
- How long does it take?
- Any way to avoid it?
Let’s discuss the three most popular cloud provider: AWS, Google, Microsoft. These three each have a MySQL based database service where we can compare the maintenance settings.
AWS
When you create an instance you can define your maintenance window. It’s a 30 minutes block when AWS can update and restart …
[Read more]Schema change is one of the crucial tasks in MySQL with huge tables. Schema change can cause locks.
What is gh-ost?
gh-ost is a triggerless online schema change for MySQL by Github Engineering .It produces light workload on the master during the schema changes . We need online schema change to alter a table without downtime (locking) in production.pt-online schema change is the most widely used tool for making changes in the tables.gh-ost is just an alternative to pt-online schema change.
Why we have to use gh-ost?
…
[Read more]PMM (Percona Monitoring and Management) is a free and open-source platform for managing and monitoring MySQL, MongoDB, and PostgreSQL performance. You can run PMM in your own environment for maximum security and reliability. It provides thorough time-based analysis for MySQL® and MongoDB® servers to ensure that your data works as efficiently as possible.
While much of the team is working on longer-term projects, we were able to provide the following feature:
- MySQL and PostgreSQL support for all cloud DBaaS providers – Use PMM Server to gather Metrics and Queries from remote instances!
- Query Analytics + Metric Series – See Database activity alongside queries
- Collect local metrics using node_exporter + textfile …
Very often, database performance is affected by the inability to cache all the required data in memory. Disk IO, even when using the fastest devices, takes much more time than a memory access. With MySQL/InnoDB, the main memory cache is the InnoDB buffer pool. There are many strategies we can try to fit as much data as possible in the buffer pool, and one of them is data compression.
With regular MySQL, to compress InnoDB data you can either use “Barracuda page compression” or “transparent page compression with punch holes”. The use of the ZFS filesystem is another possibility, but it is external to MySQL and doesn’t help with caching. All these solutions are transparent, but often they also have performance and management implications. If you are using Percona Server for MySQL, you have yet another option, “column …
[Read more]