Long time ago I wrote a blog post that we started using
Semi-Synchronous replication in production at Facebook. We are
running our own MySQL facebook-5.6 branch, which added many replication
(including Semisync) patches. Some of them were also merged with
WebScaleSQL.
Recently I heard from people from community that they were
suffering from Semisync performance issues in official MySQL 5.6.
I took some time to review our previous MySQL bug reports, then
realized that some important bugs were either still "verified" or
inefficiently fixed. Two most affecting bug reports were …
The latest from the MySQL community
Ideas, releases, practical guides, and perspectives from the people building with MySQL.
I’ll be presenting Undrop for InnoDB data recovery toolkit on Percona Live 2015. The conference takes place in Santa Clara on 13-16 April.
You may wonder why do I care if I plan to drop none of my production databases. To name few reasons:
- Taxes, death and data loss are inevitable
- Good knowledge of how InnoDB stores data on disk help to design fast and scalable databases
- The toolkit can be used to troubleshoot bugs in InnoDB.
So bookmark the session, it’s going to be a great discussion.
Undrop for InnoDB | Percona Live MySQL Conference 2015
The post Presenting Undrop for InnoDB Toolkit on Percona Live 2015 appeared first on …
[Read more]January 27, 2015 By Severalnines
Unlike standard MySQL server and MySQL Cluster, the way to start a MySQL/MariaDB Galera Cluster is a bit different. Galera requires you to start a node in a cluster as a reference point, before the remaining nodes are able to join and form the cluster. This process is known as cluster bootstrap. Bootstrapping is an initial step to introduce a database node as primary component, before others see it as a reference point to sync up data.
How does it work?
When Galera starts with the bootstrap command on a node, that particular node will reach Primary state (check the value of wsrep_cluster_status). The remaining nodes will just require a normal start command and they will automatically look for existing Primary Component (PC) in the cluster and join to form a cluster. Data synchronization then happens through either incremental state transfer (IST) or …
[Read more]In this blog post, we will discuss MySQL performance on eXFlash DIMMs. Earlier we measured the IO performance of these storage devices with sysbench fileio.
Environment
The benchmarking environment was the same as the one we did sysbench fileio in.
CPU: 2x Intel Xeon E5-2690 (hyper threading enabled)
FusionIO driver version: 3.2.6 build 1212
Operating system: CentOS 6.5
Kernel version: 2.6.32-431.el6.x86_64
In this case, we used a separate machine for testing which had a 10G ethernet connection to this server. This server executed sysbench. The client was not the bottleneck in this case. The environment is described in greater detail at the end of the blog post.
Sysbench OLTP write workload
…
[Read more]
Today is my last day at Tokutek. On Monday I'm starting a new opportunity
as VP/Technology at CrunchTime!. If you are a web developer, database
developer, or quality assurance engineer in the Boston area and
looking for a new opportunity please contact me or visit the
CrunchTime! career page.
I've really enjoyed my time at VoltDB and Tokutek. Working for
Mike Stonebraker (at VoltDB) was on my career
"bucket list" and in these past 3.5 years at Tokutek I've
experienced the awesomeness of the MySQL ecosystem and the
surging NoSQL database …
For months when speaking with customers I have been positioning Percona Cloud Tools (PCT) as a valuable tool for the DBA/Developer/SysAdmin but only recently have I truly been able to harness the data and make a technical recommendation to a customer that I feel would have been very difficult to accomplish otherwise.
Let me provide some background: I was tasked with performing a Performance Audit for one of our customers (Performance Audits are extremely popular as they allow you to have a MySQL Expert confirm or reveal challenges within your MySQL environment and make your database run faster!) and as part of our …
[Read more]Welcome to blog #2 in a series about the benefits of the Fractal Tree. In this post, I’ll be explaining Big Data, why it poses such a problem and how Tokutek can help. Given the fact that I am a lifelong fan of both Hip-hop and Big Data, the title was a no-brainer and, given the artist, a bit of a pun.
I am as tired as you of hearing the term “Big Data.” It’s so overused, that it ceases to have specific meaning anymore. You see, data hardly ever starts as “big” or a “problem.” Rather, it starts small and easily manageable, but gradually grows to some unimaginable size and becomes a beast in need of slaying, like the irradiated ant from a sci-fi film, growing to the size of a cruise ship. The nature of tackling such a tough problem means that the initial understanding of the factors involved is, oftentimes, incomplete at best; Catch-22 exemplified. During the course of problem it is …
[Read more]Long running transactions can be problematic for OLTP workloads, particularly where we would expect most to be completed in less than a second. In some cases a transaction staying open just a few seconds can cause behaviour that is entirely unexpected, with the developers at a loss as to why a transaction remained open. There are a number of ways to find long running transactions, luckily versions of MySQL from 5.6 onwards provide some very insightful instrumentation.
Here we will use the information_schema coupled with the …
[Read more]Oracle have just made availble the Release Candidate for MySQL Cluster 7.4 (MySQL Cluster 7.4.3) – it can be downloaded from the development release tab here. Note that this is not a GA release and so we wouldn’t recommend using it in production.
The delta between this RC and the 7.4.2 DMR can be viewed in the MySQL Cluster 7.4.3 Release Notes
There are three main focus areas for this RC and the purpose of this post is to briefly introduce them:
- Active-Active (Multi-Master) Replication
- Performance
- Operational improvements (speeding up of restarts; enhanced memory …
I was surprised by the recent announcement that MySQL are going to start to conceal the hidden function calls in their C connector. Surprised because although this is great news I had expected them to do this years ago. Working for HP's Advanced Technology Group I realise I take such things for granted. For this blog post I'm going to talk about why it is important and how to do it.
So, when you create a dynamic library in C the default thing that happens is every function call in that library effectively becomes a potential API call. Whether you document every single function or not to make it official API is up to you but I suspect in 99.99% of cases there are private functions you don't want users to mess with. Additionally holding the symbol information for every function so that you can link your application to it takes a …
[Read more]