Showing entries 1 to 10 of 1293
10 Older Entries »
Displaying posts with tag: Open Source (reset)
Exposing MyRocks Internals Via System Variables: Part 5, Data Reads

In this blog post, we continue on our series of exploring MyRocks mechanics by looking at the configurable server variables and column family options. In our last post, I explained at a high level how compression and bloom filtering are applied to data files as they are initially flushed from immutable memtables and are subsequently passed through the compaction process. With that being covered, we should now have a clear understanding as to how data writing works in MyRocks and can start reviewing how data read requests are handled.

The Read Process

Let’s start off by talking about how read processes are handled at the file level. When a read request comes in, the first thing it needs to do is pull the data into memory – the block cache specifically – if it’s not already there. Assuming the data is not already available in the block cache, this is the point where a read from write-based sources will occur starting with …

[Read more]
About Continuous MySQL & MariaDB Database Operations & More at Percona Live Austin This Month!

So, typically, a Percona Live (or MySQL User) Conference blog would start off with some mention of the fact that it’s great to be meeting up again in Santa Clara, California, the birthplace of the MySQL User Conference, and a continuous fixture on the yearly MySQL community agenda.

But no, not this time!

On this occasion, the Percona Live Conference blog starts off by pointing out that for the first time since its inception (as far as I can recollect), the MySQL User Conference, i.e. Percona Live Conference (in North America) doesn’t take place in Santa Clara, but rather in Austin, Texas.

Never having been to Texas before myself, I’m looking forward to that innovation, discovering the new surroundings and seeing whether that changes anything or not to the familiar “feel” of a Percona Live / MySQL User Conference.

By the way, there’s still time to …

[Read more]
Pythian will be at Percona Live 2019 – Join us in Austin, Texas!

Percona Live provides the open source database community with an opportunity to discover and discuss the latest open source trends, technologies, and innovations. The conference includes the best and brightest innovators and influencers in the open source database industry.

This year, Percona Live is being held at the Hyatt Regency in Austin, Texas from May 28-30, 2019.

Pythian is proud to be a Silver Sponsor this year, with a full force of our technical experts speaking on a variety of subjects and technologies. These are sessions you won’t want to miss!

If you’re attending, make sure you swing by our booth and meet the Pythian crew. We’ll be happy to answer any questions you have about open source, cloud or anything data related. Our speakers will also be covering the event on social media and we’ll recap the event and their talks here on the Pythian …

[Read more]
Exposing MyRocks Internals Via System Variables: Part 4, Compression and Bloom Filters

In this blog post, we continue on our series of exploring MyRocks mechanics by looking at the configurable server variables and column family options. In our last post, I explained at a high level how data moves from its initial disk-written files into the full data set structure of MyRocks using a process called compaction. In this post, we’re going to look a little closer at two important features that are leveraged as data cascades down through this compaction process: bloom filters and compression.

Bloom filters

Before we approach how bloom filters are used in MyRocks, we need to know what a bloom filter is. The short definition is that a bloom filter is a space-efficient data structure used to tell you if an element is present in a set. Make sense? No? No problem! When I read that I didn’t really understand what it was either, at least not to a useful extent. For a better and more complete description of what a bloom filter …

[Read more]
My Open Source projects that still live on

I have recently created a new library called libMariaS3 for a couple of teams at MariaDB which provides a simple C API to Amazon’s S3. This was created because we needed a library which could link to GPLv2 software and Amazon’s own library is Apache 2.0 licensed which is incompatible.

It is not a perfect code base because I had a very short amount of time to get the first release out but it was a very fun project to work on. It led me to take a quick look this morning at a couple of other things I have created in the past to see where they are at today.

libdrizzle-redux

Around 5 years ago I worked for HP’s Advanced Technology Group and I worked on several different Open Source projects during that time. One of those projects was called libAttachSQL which was a …

[Read more]
Exposing MyRocks Internals Via System Variables: Part 3, Compaction

In this blog post, we continue our series of exploring MyRocks mechanics by looking at the configurable server variables and column family options. In our last post, I explained at a high level how data moves from immutable memtables to disk. In this post, we’re going to talk about what happens to that data as it moves through the compaction process.

What is Compaction?

One of the philosophies of MyRocks is “write the data quickly and sort out data organization later”, which is pretty far removed from engines like InnoDB that take the approach of “continuously organize data on disk so it’s optimal as soon as possible”. MyRocks implements its philosophy in a way that is heavily reliant on a process called ‘compaction’.

Let’s pick up where we left off with that first persistent flush from immutable memtable to data file and see how compaction comes into play. You may have noticed in a few of the variable …

[Read more]
Exposing MyRocks Internals Via System Variables: Part 2, Initial Data Flushing

In this blog post, we continue on our series of exploring MyRocks mechanics by looking at configurable server variables and column family options. In our last post, I explained at a high level how data first entered memory space and in this post, we’re going to pick up where we left off and talk about how the flush from immutable memtable to disk occurs. We’re also going to talk about how newly created secondary indexes on existing tables get written to disk.

We already know from our previous post in the series that a flush can be prompted by one of several events, the most common of which would be when an active memtable is filled to its maximum capacity and is rotated into immutable status.

When your immutable memtable(s) is ready to flush, MyRocks will call a background thread to collect the data from memory and write it to disk. Depending on how often your records are updated, it’s possible that multiple versions of the …

[Read more]
Terraform on OCI – Building MySQL On Compute – initial setups

I have written previous blog posts about Oracle Cloud OCI and this series continues. My post titled with Iaas Getting Started was to get us acquainted with important security-focused items like Compartments and network Services like NAT and Internet-Gateways. Then I posted about building MySQL on Compute with Scripting using a mix of OCI Web console navigation… Read More »

Un-split brain MySQL via gh-mysql-rewind

We are pleased to release gh-mysql-rewind, a tool that allows us to move MySQL back in time, automatically identify and rewind split brain changes, restoring a split brain server into a healthy replication chain.

I recently had the pleasure of presenting gh-mysql-rewind at FOSDEM. Video and slides are available. Consider following along with the video.

Motivation

Consider a split brain scenario: a "standard" MySQL replication topology suffered network isolation, and one of the replicas was promoted as new master. Meanwhile, the old master was still receiving …

[Read more]
Automating Tungsten upgrades using Ansible

Continuent Tungsten is one of the few all-in-one solutions for MySQL high availability. In this post I will show you how to automate the upgrade process using Ansible. I will walk you through the individual tasks and, finally, give you the complete playbook.

We will use a rolling approach, upgrading the slaves first, and finally upgrading the former master. There is no need for a master switch, as the process is transparent to the application.

I am assuming you are using the .ini based installation method. If you are still using staging host, I suggest you update your set up.

Pre tasks

The first step is ensuring the cluster is healthy, because we don’t want to start taking nodes offline unless we are sure the cluster is in good shape. One way of doing that is by using the built-in script tungsten_monitor. When we run the playbook, we only need to validate the cluster status on one node, so I am adding …

[Read more]
Showing entries 1 to 10 of 1293
10 Older Entries »