Showing entries 91 to 100 of 180
« 10 Newer Entries | 10 Older Entries »
Displaying posts with tag: storage engine (reset)
How We Spent a Tuesday Fixing a MySQL Replication Bug

We found a simple XA transaction that crashes MySQL 5.5 replication. This simple transaction inserts a row into an InnoDB table and a TokuDB table. The bug was caused by a flaw in the logging code exposed by the transaction’s use of two XA storage engines (TokuDB and InnoDB). This bug was fixed in the TokuDB 6.0.1 release.

Here are some details.  Suppose that a database contains the following tables.

create table t1 (a int) engine=InnoDB
create table t2 (a int) engine=TokuDB

 The following transaction

begin
insert into t1 values (1)
insert into t2 values (2)
commit

causes the replication slave to crash.

The crash occurs when mysqld tries to dereference a NULL pointer.

#4  0x000000000088e203 in MYSQL_BIN_LOG::log_and_order (this=0x14b8640, thd=0x7f7758000af0, xid=161, all=true, need_prepare_ordered=false, need_commit_ordered=true) at …

[Read more]
My Talks at MySQL Connect and Percona Live NYC


Solving the Challenges of Big Databases with MySQL

When you’re using MySQL for big data (more than ten times as large as main memory), these challenges often arise: loading data fast; maintaining indexes under insertions deletions, and updates; adding and removing columns online; adding indexes online; preventing slave lag; and compressing data effectively.

This session shows why some of these challenges are difficult to solve with storage engines based on B-trees, how Fractal Tree® data structures work, and why they can help solve these problems. Tokutek sells a transaction-safe Fractal Tree storage engine for MySQL, but the presentation is primarily about the underlying technology. It includes a discussion of both the theoretical and practical aspects of Fractal Tree indexes.

I have the privilege of being able to give this talk at both conferences, so please stop by my presentation at …

[Read more]
How to Stop Playing “Hop and Seek”: MySQL Cluster and TokuDB, Part 2

In my last post, I wrote that I observed many similarities between TokuDB and MySQL Cluster. Many features that benefit TokuDB also benefit MySQL Cluster, and vice versa, with Hot Column Addition and Deletion (HCAD) being an example. Over my next few posts, I expand on some more of these possibly unexpected similarities.

Today I want to focus on optimizer support for clustering keys. Both MySQL Cluster and TokuDB can benefit from the MySQL optimizer supporting clustering keys. For TokuDB, the benefit is obvious, as TokuDB supports clustering keys. A non-negligible part of our effort is changing the …

[Read more]
Hot Table Optimization with MySQL

Table optimization is a necessary evil; tables sometimes need to be optimized to reclaim space or to improve query performance.  Unfortunately, MySQL blocks writes to a table while it is being optimized.  Because optimization time is proportional to the table size, writes can be blocked for a long time.  Fractal Tree indexes support online optimization; however, the MySQL metadata lock gets in the way of writing while optimizing.  We will describe a simple patch to MySQL that enables online optimization of TokuDB tables.

Why do tables need to be optimized?  Here are some reasons.

  • Insertions with random keys can result in a tree with underutilized leaf blocks.  Many tree algorithms split nodes in half when they become full.  If these nodes are stored in fixed sized blocks, like many B-trees do, then there can be a lot of wasted space.  Table optimization of B-trees write blocks with less …
[Read more]
Volver – MySQL, NoSQL, and Cloud Conference Latin America

Volver,
con la frente marchita,
las nieves del tiempo
platearon mi sien…

Martin’s blog (Mi Buenos Aires Querido) was named after a tango, so I decided to follow his lead. The 4 lines of the refrain make reference to someone returning to Buenos Aires after 20 years, now looking a little bit older. I moved to the US about 15 years ago and have returned many times to visit. However, I have never gone back to participate in an event like this with so many renowned speakers from the MySQL community. The list include many people with whom I have worked with over the past decade. …

[Read more]
How to Stop Playing “Hop and Seek”: MySQL Cluster and TokuDB

As a TokuDB storage engine developer, numerous times I’ve been struck by the similarities between MySQL Cluster and TokuDB. Namely, many times where I find myself thinking, “TokuDB would benefit from this feature”, I also end up thinking “MySQL Cluster would benefit from this feature” as well.

At first glance, one may wonder why. TokuDB is a storage engine designed to work well on big data, providing compression, agility, and performance, while MySQL Cluster is a distributed database solution (http://www.mysql.com/products/cluster/) that provides (among many other things) auto sharding and 99.999% availability. TokuDB’s innovation, Fractal Trees® indexes, are designed to drastically reduce the number of disk seeks performed, but TokuDB still operates on a hard disk. MySQL Cluster operates over a network. How can we be two peas in a pod?

But when I …

[Read more]
Mi Buenos Aires Querido

Next week, a couple of us at Tokutek will be heading to Buenos Aires for the MySQL / MariaDB Conference & Expo LA. Gerry Narvaja actually grew up in Buenos Aires. My own family is Argentinian. I spent several years there as a child, and my childhood home in South Carolina was Argentinian in spirit: absolutely no English, and the only grits that entered my house were served with tomato sauce and called polenta!

As some of you get ready to visit Buenos Aires, maybe for the first time, I thought I’d share an abbreviated list of my favorite things to do.

First of all, make sure to watch the really fantastic con movie Nueve Reinas. Not only is it a great movie, but much of it takes place in the Hilton where the conference will be held.

[Read more]
Addressing Hot Schema Changes in MySQL

As ones data model evolves changing the database schema becomes painful, especially for big databases where the table must be taken offline. Fortunately, Tokutek introduced online schema changes starting in TokuDB v5.0.

A typical schema change involves adding or deleting a column from a table. These operations usually require the table to be rebuilt offline since the row format is different. In contrast to other storage engines however, column addition or deletion with TokuDB just inserts a broadcast update message into the fractal tree data structure, rather than rebuilding the table. This message defers changing rows from the old format to the new format and is executed after the alter table operation is long gone. The trick is to allow the storage engine to determine that the column addition or deletion does not require a …

[Read more]
Basement Nodes: Turning Big Writes into Small Reads

Executive Summary

Fast indexing requires the leaves of a Fractal Tree® Index to be big. But some queries require the leaves to be small in order to get any reasonable performance. Basements nodes are our way to achieve these conflicting goals, and here I’ll explain how.

Big Leaves

On many occasions, we at Tokutek have pointed out that TokuDB is write optimized, which means TokuDB indexes data much faster than a B-tree solution such as InnoDB. As with any write-optimized data structure, Fractal Tree indexes need to bundle up lots of small writes into a few big writes. Otherwise, there’d be no way to beat a B-tree. So the question is, how big do the writes have to be?

Consider how long it takes to write k bytes to a disk. First, there is the seek time s, which we can assume to be independent of k. Next, once we’ve moved the disk head somewhere, we need to write the bytes, which …

[Read more]
Open Database Camp at SouthEast LinuxFest 2012

I’ll be attending this year’s US based Open Database Camp from June 8-10 in Charlotte, NC. The conference is co-located with SouthEast LinuxFest 2012.

It appears that OpenSQL Camp was renamed Open Database Camp since I see many database technologies listed on their site that do not use SQL as an access method. The final schedule of presentations shows lots of MySQL content for Friday. There is one session each for MySQL, PostgreSQL, and MongoDB on Saturday. Sunday is “unconference” style, hopefully we can get more variety in those sessions.

I love attending this type of conference because I learn how real-world users are implementing MySQL to meet their needs. It also gives me a chance to see some …

[Read more]
Showing entries 91 to 100 of 180
« 10 Newer Entries | 10 Older Entries »