Home |  MySQL Buzz |  FAQ |  Feeds |  Submit your blog feed |  Feedback |  Archive |  Aggregate feed RSS 2.0 English Deutsch Español Français Italiano 日本語 Русский Português 中文
Previous 30 Newer Entries Showing entries 31 to 60 of 273 Next 30 Older Entries

Displaying posts with tag: TokuView (reset)

Lock Diagnostics and Index Usage Statistics in TokuMX v1.2.1
+0 Vote Up -0Vote Down

TokuMX v1.2.1 introduces two simple new features to help you understand the performance characteristics of your database: lock diagnostics and index usage statistics. We’d like to take you through a few examples of what these features are and how to use them.

Lock Diagnostics

Since we introduced TokuMX, one of the most frequent complaints has been about “lock not granted” errors.  These arise when a long-running operation takes document-level locks, and other clients timeout while waiting to acquire the same locks.

This is a new problem in TokuMX that doesn’t exist in MongoDB, because MongoDB

  [Read more...]
TokuDB Hot Backup – Part 1
+1 Vote Up -0Vote Down

There are multiple ways to backup a MySQL database. Some are more painful than others. In this two part blog we are going to discuss why the new hot backup system in TokuDB is special amidst the existing solutions. First let’s look at existing backup solutions for MySQL and InnoDB.

Let’s start with the most obvious, and possibly painful, way to make a backup of MySQL: a manual copy of the MySQL data directory.

Coarse Copy

The copying itself isn’t the painful part; any DBA worth their salt can copy a directory. Guaranteeing what comes out the other end, however, is difficult. In other words, what will the state of each table in each database look like when the backup is complete? It turns out, without additional help, we don’t know!

If you think about the dynamic state of a database, and the serial copying of the same database files

  [Read more...]
TokuMX vs. MongoDB : In-Memory Sysbench Performance
+3 Vote Up -0Vote Down

In talking to existing MongoDB users and TokuMX evaluators, I’ve often heard that the performance of MongoDB is very good as long as your working data set fits in RAM. The story continues that if your working data set grows to be larger than the RAM on your server, the built-in sharding capabilities of MongoDB allow you to scale horizontally.

As my benchmarking presentation at Percona Live 2013 pointed out, I’m never one to accept something without at least running it once myself. I decided to run my

  [Read more...]
Announcing TokuMX v1.2: Hot Backup
+1 Vote Up -0Vote Down

We’ve been hard at work on TokuMX since it’s initial release just over 2 months ago. Today we released TokuMX v1.2 which includes Hot Backup in the Enterprise Edition.

Hot Backup allows users to create a backup of a running TokuMX primary or secondary server in a replica set, with no blocking of writes for clients. We will be blogging more about the Hot Backup technology in the coming weeks. This same technology is used for Hot Backup in TokuDB.

Also worth noting are the features we’ve added since the initial TokuMX release:

  • Migration Tools. Migrate to TokuMX from MongoDB using our tool that replays MongoDB repication. This allows a TokuMX server to stay in sync with a MongoDB replica set, reducing downtime for production go-live.
  • Bulk Loading.
  [Read more...]
Building TokuMX and TokuDB for Production
+1 Vote Up -0Vote Down

Recently, we’ve seen a few people ask us about building TokuMX from scratch. While it’s best if you just use the binaries you can get from us (they have all the right optimizations, we’ve tested them, and we can interpret coredumps they generate), we recognize there are other reasons you might need to do a custom build.

Since we actually build six distinct products all using the Fractal Tree indexing® library (community and enterprise versions of TokuDB for MySQL, TokuDB for MariaDB, and TokuMX), our build process is pretty complicated, compared to software packages that might, for example, just involve one source repository and link against a few standard libraries. Our TokuMX builds involve four git repositories, three

  [Read more...]
Slides from Boston MongoDB User Group Meetup on 7/31/13
+0 Vote Up -0Vote Down

On Wednesday night, the Boston MongoDB User group was kind enough to have me speak about TokuMX Internals. I spoke about Fractal Tree® indexes and the technical reasons behind the benefits they provide to MongoDB applications. Although the talk mostly references TokuMX and MongoDB, all the theory applies to TokuDB and MySQL as well.

My slides are on our technology overview page, along with other great content.

Opportunities to present technical material to an engaged audience asking tough questions is rare, and much appreciated. So thank you to the Boston MongoDB User group for having me present.

Comparing MongoDB, MySQL, and TokuMX Data Layout
+2 Vote Up -0Vote Down

A lot is said about the differences in the data between MySQL (http://www.mysql.com/) and MongoDB. Things such as “MongoDB is document based”, “MySQL is relational”, “InnoDB has a clustering key”, etc.. Some may wonder how TokuDB, our MySQL storage engine, and TokuMX, our MongoDB product, fit in with these data layouts. I could not find anything describing the differences with a simple google search, so I figured I’d write a post explaining how things compare.

So who are the players here? With MySQL, users are likely familiar with two storage engines: MyISAM, the original default up until MySQL 5.5, and

  [Read more...]
Why Unique Indexes are Bad
+1 Vote Up -0Vote Down

Before creating a unique index in TokuMX or TokuDB, ask yourself, “does my application really depend on the database enforcing uniqueness of this key?” If the answer is ANYTHING other than yes, do not declare the index to be unique. Why? Because unique indexes may kill your write performance. In this post, I’ll explain why.

Unique indexes are a strange beast: they have no impact on standard databases that use B-Trees, such as MongoDB and MySQL, but may be horribly painful for databases that use write optimized data structures, like TokuMX’s Fractal Tree(R) indexes. How? They

  [Read more...]
How TokuMX Gets Great Compression for MongoDB
+0 Vote Up -0Vote Down

In my last post, I showed what a Fractal Tree® index is at a high level. Once again, the Fractal Tree index is the data structure inside TokuMX and TokuDB, our MongoDB and MySQL products. One of its strengths is the ability to get high levels of compression on the stored data. In this post, I’ll explain why that is.

At a high level, one can argue that there isn’t anything special about our compression algorithms. We basically do this: we take large chunks of data, use known compression methods (e.g. zlib,

  [Read more...]
TokuMX Fractal Tree(R) indexes, what are they?
+1 Vote Up -0Vote Down

With our recent release of TokuMX 1.0, we’ve made some bold claims about how fast TokuMX can run MongoDB workloads. In this post, I want to dig into one of the big areas of improvement, write performance and reduced I/O.

One of the innovations of TokuMX is that it eliminates a long-held rule of databases: to get good write performance, the working set of your indexes should fit in memory. The standard reasoning goes along the lines of: if your indexes’ working set does not fit in memory, then your writes will induce I/O, you will become I/O bound, and performance will suffer. So, either make sure

  [Read more...]
Announcing TokuMX v1.0: Toku+Mongo = You Can Have It All
+5 Vote Up -0Vote Down

Tokutek is known for its full-featured fast-indexing technology. MongoDB is known for its great document-based data model and ease of use. TokuMX, version 1.0, combines the best of both worlds.

  • So what, exactly, is TokuMX? The simplest (but incomplete) answer is that TokuMX is MongoDB with all its storage code replaced by Tokutek’s Fractal Tree indexes.
  • How do Fractal Tree indexes improve MongoDB? The direct benefits include high-performance indexing, strong compression, and performance stability – in other words, the performance stays high, even when data is larger than RAM.
  • Are there any features in TokuMX that MongoDB doesn’t have? Yes. We have added support for transactions to TokuMX, so that TokuMX is ACID compliant and has MVCC. We have also added support for clustering indexes, which
  [Read more...]
Announcing TokuDB v7 Enterprise Edition: Hot Backup and Support
+1 Vote Up -0Vote Down

As promised, the Enterprise Edition of TokuDB®, Version 7, is ready. TokuDB Version 7, Enterprise Edition, introduces Hot Backup. You can now back up all your TokuDB tables directly from MySQL or MariaDB, with no down time. In addition, TokuDB Enterprise Edition comes with a support package.

TokuDB v7 Enterprise Edition maintains all our established advantages: hot schema changes, excellent compression, fast trickle load, fast bulk load, fast range queries through clustering indexes, no fragmentation, and full MySQL/MariaDB compatibility for ease of installation.

For details on pricing and supported MySQL and MariaDB versions, please see our FAQ.

To learn more about TokuDB:

  • Download executables
  [Read more...]
iiBench Benchmark: TokuMX vs. MongoDB
+1 Vote Up -0Vote Down

Tokutek created the iiBench benchmark back in 2008. The point of the benchmark is to measure the performance of indexed insertions over time. It uses an extremely simple schema, one table with a sequential insertion pattern for the primary key along with three integer fields storing random values. The table maintains 3 secondary indexes, each including several of the random integer fields. The iiBench application itself is currently maintained on Launchpad.

B-tree implementations generally require maintenance operations to update leaf nodes (an insertion is one such operation). When the entire B-tree index does not fit in RAM an IO is required, and performance drops dramatically. Fractal Tree

  [Read more...]
TokuMX: Fractal Trees with MongoDB
+2 Vote Up -0Vote Down

Over several blog posts, Tim has presented performance results on large data sets of TokuMX, our MongoDB product with fractal tree indexes integrated, side by side with MongoDB. Results look good. We’ve shown improved throughput numbers on a sysbench benchmark, faster load times, and high compression.

So what is TokuMX, and how does it achieve this performance?

TokuMX has replaced ALL of the storage code in MongoDB with fractal trees. Every collection, every secondary index, every metadata collection is stored with fractal trees, the same technology that implements the TokuDB storage engine for MySQL. That is, all data is stored and managed with our transactional, ACID and MVCC-compliant, write-optimized storage library.

TokuMX achieves

  [Read more...]
Sysbench Benchmark for MongoDB – v0.1.0 Performance Update
+2 Vote Up -0Vote Down

Two months ago I posted a performance comparison running Sysbench on MongoDB versus MongoDB with Fractal Tree Indexes v0.0.2. The benchmark showed a 133% improvement in throughput. Nice, but our engineering team had an effort on our road-map for lock refinement that we believed would really boost our performance, which is now available in v0.1.0. The benchmark application itself is unchanged and available on GitHub.

For anyone curious about Sysbench itself, the details are available from the prior blog. The only change for this run was hardware. Our Sun x4150 server recently began rebooting

  [Read more...]
Slides from my Percona Live “Benchmarking” presentation
+2 Vote Up -0Vote Down

I finally posted a copy of the slides from my Percona Live presentation, “Creating a Benchmarking Infrastructure that Just Works”.  The PDF is available via this link.

The content comes from my personal experiences over many years benchmarking and testing databases, usually focusing on performance.  It was an opportunity to see how far my personal benchmark infrastructure has evolved, but even better has inspired me to improve it in several areas.

I never had a chance to to my own post-conference wrap-up regarding the Percona Live show.  While waiting for my flight home at SFO airport I concluded that

  [Read more...]
Presenting at tomorrow’s Effective MySQL Meetup (New York City)
+0 Vote Up -1Vote Down

At tomorrow’s Effective MySQL Meetup, I’ll be presenting “Fractal Tree Indexes : Theory and Practice (MySQL and MongoDB).” The meetup is at 6:30pm Tuesday, May 14, 2013, and will be held at Alley NYC in New York City.

I’ll give an overview on how Fractal Tree® indexes work, and then get into specific product features that Fractal Trees enable in MySQL and MongoDB.  Some benchmarking and customer use-cases will be discussed, but my intent is for this to be a deep technical dive.  Several Tokutek Engineers will also be on hand, so bring any questions you’ve got.

I hope to see you there!

Last Week’s Presentations Posted
+0 Vote Up -0Vote Down

Last week I had to present a tutorial at Percona Live 2013, a presentation at SkySQL’s MySQL & Cloud Database Solution Day and last but not least, a presentation on a Saturday morning at Linuxfest Northwest. It wasn’t easy, but giving the presentations after our announcement early in the week about going open source was very exciting given the

  [Read more...]
May 2nd Webinar: Introduction to TokuDB v7 Community & Enterprise Editions
+0 Vote Up -0Vote Down

With this version, the source code is now freely available under the GPL License v2. For more details, see our blog here. Open source pioneer Mozilla has been using TokuDB to manage its MySQL-driven Datazilla Data cluster, an open-source system for managing and visualizing performance data.

Date: May 2nd
Time: 2 PM EST / 11 AM PST
REGISTER TODAY

In the past TokuDB has been free for evaluation; the new TokuDB Community Edition extends free use to deployed environments. With this release Tokutek is also planning on making available a TokuDB Enterprise Edition, which includes technical support,



  [Read more...]
Opening Week for TokuDB
+0 Vote Up -0Vote Down

Since we had the pleasure to announce that TokuDB is open source on Monday, it’s been a thrilling ride. With several members of the team out west all week, back on the east coast we’ve been seeing quite a lot of questions, suggestions, and exciting results.

Here are some of the highlights of our first week of open source:

We started hearing back from the community almost immediately after the announcement with discussions in multiple forums. We even reached #2 on Hacker News for a bit.

On Tuesday,

  [Read more...]
MySQL Paradise: YouTube Video
+2 Vote Up -0Vote Down

Yesterday we posted the photos and lyrics. Now we’ve got the YouTube video (click here)!

And for those who want some behind the scenes photos, see here and here. (courtesy of @seattlegaucho).

Thanks to Community for Selecting Tokutek for Prestigious MySQL Award
+3 Vote Up -0Vote Down

We wanted to thank everyone for naming Tokutek the Corporate Contributor of the Year 2013 for ongoing contribution to the MySQL community.

The MySQL Community Awards are given annually to the people and companies that support the MySQL ecosystem. The MySQL Community Award for Corporate Contributor of the Year recognizes a company or other organization or entity that has made valuable contributions to the MySQL ecosystem either in terms of open source code, knowledge,

  [Read more...]
MySQL Paradise – Percona Live Lightning Talk
+1 Vote Up -0Vote Down

Thanks to all of those who came to the lightning talks this evening. We’ve got the audio posted here and the lyrics below.

A special thanks to Erin Grace O’Malley O’Neill for the great performance. Thanks also to @NuoDB and @geobdz (whose photo is below) for tweets.

Stay tuned for the video as well….


MySQL Paradise

As I browse through  [Read more...]

Open Source TokuDB Resources
+2 Vote Up -0Vote Down

Since we announced that TokuDB is now open source, there has been a lot of positive feedback (thanks!) and also some questions about the details. I want to take this opportunity to give a quick high level guide to describe what our repositories on Github are.

Here are the repositories:

  • ft-index. This repository is the “magic”. It contains the Fractal Tree data structures we have been talking about for years. This is also the main piece that was previously closed source. Here are some interesting directories:
    • src: This directory is a layer that implements an API that is similar to the BDB API.
    • locktree: an in-memory data structure that maintains transactions’ row-level locks.
  [Read more...]
Getting Interesting
+0 Vote Up -0Vote Down

I enjoyed Stewart Smith’s MySQL storage engine blog last week. In it he noted “I cannot emphasize how much more interesting TokuDB would be if it were open source.” Well, with our open source announcement yesterday, hopefully we are getting interesting.

We wanted to thank everyone for the great feedback. Here is a sampling from some of the forums where dialogue is occurring:


Reddit:

BrianAtDTS: “With this update, this puts MySQL in

  [Read more...]
Announcing TokuDB v7: Open Source and More
+3 Vote Up -0Vote Down

Every few months, I get the fun job of announcing what’s new in TokuDB®, but this time is special. With Version 7, TokuDB for MySQL and MariaDB is going open source.

The free Community Edition is fully functional and fully performant. It has all the compression you’ve come to expect from TokuDB. It has hot schema changes: no-down-time column insertion, deletion, renaming, etc., as well as index creation. It has clustering secondary keys. We are also announcing an Enterprise Edition (coming soon) with additional benefits, such as a support package and advanced backup and recovery tools.

Making TokuDB open source is a natural next step for Tokutek’s involvement in the MySQL community. So far, Tokutek has been involved in the community in many ways:

  • We’ve
  [Read more...]
April is the Coolest Month
+0 Vote Up -0Vote Down

If T.S. Eliot were a MySQL DBA, I think he would have been more upbeat about April.

We are gearing up for an incredible second half of April. We will be presenting three separate sessions at the Percona Live: MySQL Conference and Expo 2013, April 22-25, in Santa Clara, CA. In addition, we will be presenting at SkySQL’s MySQL & Cloud Database Solutions Day on Friday, April 26 at the same location.

Come by to see us in Booth #114, or stop by one of our sessions:

  [Read more...]
MongoDB Multi-Statement Transactions? Yes We Can!
+0 Vote Up -1Vote Down

Earlier, I talked about the transactional semantics we are introducing to MongoDB. As I hinted at the end of the post, we are actually doing more. We are introducing multi-statement transactions. That’s right, multiple queries, updates, deletes, and inserts will be able to run inside of a single transaction. We are working on the details of the semantics as we develop our beta, but at a high level, think of it as having the same semantics as TokuDB and InnoDB’s multi-statement transactions in MySQL.

So how will it work? We introduce three new commands:

db.runCommand({"beginTransaction", "isolation": "mvcc"})

This begins a transaction with the isolation level of MVCC, which means queries will use a snapshot of the system.

  [Read more...]
MongoDB Transactions? Yes
+1 Vote Up -1Vote Down

People claim that MongoDB is not transactional. It actually is, and that’s a good thing.

In MongoDB 2.2, individual operations are Atomic. By having per database locks control reads and writes to collections, write operations on collections are Consistent and Isolated. With journaling on, operations may be made Durable. Put these properties together, and you have basic ACID properties for transactions.

The shortcoming with MongoDB’s implementation is that these semantics apply to individual write operations, such as an individual insert or individual update. If a MongoDB statement updates 10 rows, and something goes wrong with the fifth row, then the statement

  [Read more...]
TokuDB Fast Update Benchmark
+1 Vote Up -0Vote Down

Last month my colleague Rich Prohaska covered the technical details of our “Fast Update” feature which we added to TokuDB in version 6.6.  The message based architecture of Fractal Tree Indexes allows us to defer certain operations while still maintaining the semantics that MySQL users require.

In the case of Fast Updates, TokuDB is avoiding the read-before-write requirement that the existing MySQL update statement imposes on storage engines.  We can simply inject an update message into the Fractal Tree Index, and apply that message at a later time.  The message is dynamically applied if a user selects that specific

  [Read more...]
Previous 30 Newer Entries Showing entries 31 to 60 of 273 Next 30 Older Entries

Planet MySQL © 1995, 2014, Oracle Corporation and/or its affiliates   Legal Policies | Your Privacy Rights | Terms of Use

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.