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 中文
Showing entries 1 to 30 of 30

Displaying posts with tag: fractal tree indexes (reset)

Announcing TokuMX v1.0: Toku+Mongo = You Can Have It All
+3 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...]
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...]
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...]
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...]
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...]
Wanted: Evaluators to Try MongoDB with Fractal Tree Indexing
+0 Vote Up -0Vote Down

We recently resumed our discussion around bringing Fractal Tree indexes to MongoDB.  This effort includes Tokutek’s interview with Jeff Kelly at Strata as well as my two recent tech blogs which describe the compression achieved on a generic MongoDB data set and performance improvements we measured using on our implementation of Sysbench for MongoDB.  I have a full line-up of benchmarks and blogs planned for the next few months, as our project continues.  Many of these

  [Read more...]
Sysbench Benchmark for MongoDB
+1 Vote Up -0Vote Down

As we continue to test our Fractal Tree Indexing with MongoDB, I’ve been updating my benchmark infrastructure so I can compare performance, correctness, and resource utilization.  Sysbench has long been a standard for testing MySQL performance, so I created a version that is compatible with MongoDB.  You can grab my current version of Sysbench for MongoDB here.

So what exactly is Sysbench?  According to the Sysbench homepage, “Sysbench is a modular, cross-platform and multi-threaded benchmark tool for evaluating OS [Operating System] parameters that are important for a system running a database under intensive load.”

  • Sysbench schema
    • 16 copies of the same collection,

  [Read more...]
MySQL and MongoDB – Strata Discussion with Jeff Kelly of Wikibon (Part 1)
+1 Vote Up -0Vote Down

We had the opportunity to do a CUBE interview with Wikibon analyst Jeff Kelly at last week’s Strata Conference in Santa Clara. In the first part of our conversation, we discuss how our success in integrating Tokutek’s Fractal Tree® technology into MySQL has led us to another popular database, MongoDB. We explain the results of our recent benchmarking tests with MongoDB, which indicate that adding indexing can also improve performance for this popular NoSQL database with faster insertion rates, lower query latency and

  [Read more...]
Concurrency Improvements in TokuDB v6.6 (Part 2)
+0 Vote Up -0Vote Down

In Part 1, we showed performance results of some of the work that’s gone in to TokuDB v6.6. In this post, we’ll take a closer look at how this happened, on the engineering side, and how to think about the performance characteristics in the new version.

Background

It’s easiest to think about our concurrency changes in terms of a Fractal Tree® index that has nodes like a B-tree index, and buffers on each node that batch changes for the subtree rooted at that node. We have materials that describe this available here, but we can proceed just knowing that:

  • To inject data into the tree, you need to store a message in a buffer at the root of the tree. These
  •   [Read more...]
    Concurrency Improvements in TokuDB v6.6 (Part 1)
    +2 Vote Up -0Vote Down

    With TokuDB v6.6 out now, I’m excited to present one of my favorite enhancements: concurrency within a single index. Previously, while there could be many SQL transactions in-flight at any given moment, operations inside a single index were fairly serialized. We’ve been working on concurrency for a few versions, and things have been getting a lot better over time. Today I’ll talk about what to expect from v6.6. Next time, we’ll see why.

    Summary of Results

    Running multiple iiBench clients on a single MySQL instance, we see a big improvement in the cumulative insertion speed at all concurrency levels. We see a gain of 33.9% in single-threaded performance and 51.8% at

      [Read more...]
    Tracking 5.3 Billion Mutations: Using MySQL for Genomic Big Data
    +1 Vote Up -0Vote Down

    University of Montreal Tracks Genomic Data With Tokutek’s TokuDB.

    Faster insertion rates, improved scalability and agility support lab’s fast growing research database as it grows from 100s of GBs to 1 TB and beyond.

    Issue addressed: MySQL database used for genomic research must be able to quickly ingest huge amounts of incoming data – hundreds of thousands of records every day. It also must be able to retrieve data quickly in response to a diverse set of research requests.

    Enabling the Hunt for New Cures for Diseases by Seamlessly Processing Billions of Mutations  [Read more...]

    The Results Are In!
    +1 Vote Up -0Vote Down

    We wanted to take a moment to say thanks to all of our customers and to the wider MySQL and MariaDB community. Today we announced a doubling of our customer base for the year ending December 31, 2012. Significant milestones over the last year included new technology and service partnerships, several awards, rapid hiring, as well as three upgrades to TokuDB®. We even dabbled in some MongoDB benchmarks. And to fuel continued growth in 2013, we secured additional venture capital funding last November.

    Did You Hear? NASA Uses TokuDB for Big Data with MySQL!

    To read the full press release and learn more,

      [Read more...]
    Announcing TokuDB v6.6: Performance Improvements
    +1 Vote Up -0Vote Down

    We are excited to announce TokuDB® v6.6, the latest version of Tokutek’s flagship storage engine for MySQL and MariaDB.

    This version offers three types of performance improvements: in-memory, multi-client and fast updates.

    Although TokuDB is optimized for large tables, which are larger than memory, many workloads consist of a mix of large and small tables. TokuDB v6.6 offers improvements on in-memory performance, with a more than 100% improvement on Sysbench at many concurrency levels and more than 200% improvement on TPC-C at many concurrency levels. Details to follow.

    We have also made improvements in multi-threaded performance. For example, single threaded trickle loads have always been fast in TokuDB. But now multi-threaded trickle loads are even faster. An

      [Read more...]
    Move over Marcia: Top Ten for 2012
    +0 Vote Up -0Vote Down

    Well, it’s that time of the year again for top ten lists. There have been many versions showing up on the web the last few days, including Time Magazine’s “Top 10 Everything of 2012″ list, with 55 wide ranging lists!

    Last year we started using Google Analytics to see what content for blogs was most popular on Tokutek.com and generated a 2011 top ten list, ending up with a few surprises.  This year saw spikes in some interesting areas as well, including flash performance, NASA and Big Data, and MongoDB.

    Without further adieu, here is the top ten list for 2012:

    10. Announcing TokuDB v6.1

      [Read more...]
    Packing for the Holidays
    +2 Vote Up -0Vote Down

    Every time I visit my family for the holidays, as the date approaches, I find myself filled with dread. It’s nothing sinister, my family’s great, and the season is nice. The reason is simple:

    I hate packing.

    In fact, I hate both kinds of packing: trip packing, and bit packing. Let me tell you a story about bit packing.

    Bit packing

    If you’ve ever browsed around the available type attributes in GCC, you may have noticed the entry for “packed”. It seems straightforward enough, and if you’re trying to cram a lot of data in a system (like we do), it can be pretty attractive.

    There are plenty

      [Read more...]
    Yule Blog
    +1 Vote Up -0Vote Down

    Tired of the same old holiday tunes year after year? Join us as we Rock around the Fractal Tree here at Tokutek.

    We’ve fiddled with the chorus; won’t you join us?

    Rockin’ around the Fractal Tree
    (sung to the tune of Rockin’ around the Christmas Tree)

    Rockin’ around the Fractal Tree
    As the bits begin to hop
    Leaves are full on trees that are not B
    Our indexes cannot be stopped

    Rockin’ around the Fractal Tree
    Let the MySQL spirit ring
    Time to compress all into an SSD
    And watch out for the Merciless Ming

    You will get a sensational feeling when you hear voices singing
    “No, not a fable; online changes done with alter table!”
    Rockin’ around the Fractal Tree










      [Read more...]
    Fractal Tree Indexing Overview
    +0 Vote Up -1Vote Down

    We get a lot of questions about how Fractal Tree indexes work. It’s a write-optimized index with fast queries, but which write-optimized indexing structure is it?

    In this ~15 minute video (which uses these slides), I give a quick overview of how they work and what they are good for.

    Webinar: Best Practices for a Successful TokuDB Evaluation
    +0 Vote Up -0Vote Down

    In this webinar we will show step by step how to install, configure, and test TokuDB for a typical performance evaluation. We’ll also be flagging potential pitfalls that can ruin the eval results. It will describe the differences between installing from scratch and replacing an existing MySQL / MariaDB installation. It will also review the most common issues that may arise when running TokuDB binaries.

    Date: December 11th
    Time: 2 PM EST / 11 AM PST
    REGISTER TODAY

    Topics will include:

    • Memory allocation
    • Initial data load
    • Indexing, including clustering indexes
    • compression algorithms

    We look forward to having you join



      [Read more...]
    532x Multikey Index Insertion Performance Increase for MongoDB with Fractal Tree Indexes
    +1 Vote Up -1Vote Down

    In my three previous MongoDB blogs I wrote about our implementation of Fractal Tree(R) indexes on MongoDB, showing a 10x insertion performance increase, a 268x query performance increase, and a comparison of covered indexes and clustered indexes. These benchmarks show the difference that rich and efficient indexing can make to your MongoDB workload.

    Given the high performance of Fractal Tree Indexes, we’ve created a new

      [Read more...]
    Webinar: MongoDB and Fractal Tree Indexes
    +0 Vote Up -0Vote Down

    This webinar covers the basics of B-trees and Fractal Tree Indexes, the benchmarks we’ve run so far, and the development road map going forward.

    Date: November 13th
    Time: 2 PM EST / 11 AM PST
    REGISTER TODAY

    Topics will include:

    • What is a Fractal Tree Index?
    • How to Fractal Trees compare with B-Trees
    • What can a Fractal Tree do for MongoDB performance
    • Benchmarks + Gotchas
    • What’s next

    We look forward to having you join the webinar. We also hope that by sharing these results with



      [Read more...]
    Presenting at tomorrow’s NoVA MySQL Meetup (DC Area)
    +1 Vote Up -0Vote Down

    At tomorrow’s NoVA MySQL October Meetup, I will give a talk: “Fractal Tree Indexes – Theoretical Overview and Customer Use Cases.” The meetup is 7 pm Tuesday, October 23, 2012, and will be held at AOL Campus HQ in Dulles VA.

    Most databases employ B-trees to achieve a good tradeoff between the ability to update data quickly and to search it quickly. It turns out that B-trees are far from the optimum in this tradeoff space. This led to the development at MIT, Rutgers and Stony Brook of Fractal Tree® indexes. Fractal Tree indexes improve MySQL® scalability and query performance by allowing greater insertion rates, supporting rich indexing and offering

      [Read more...]
    My Talk Next Week at HighLoad++
    +2 Vote Up -0Vote Down

    Next week I’ll be visiting Moscow to talk at Highload++. The conference will take place during Monday 22nd and Tuesday 23rd at the Radisson hotel. I will be giving my personal version of an indexing talk that my colleagues have given in meetups and conferences in the US.

    Highload++ conference is targeted to address the issues of complex high traffic web properties. Most of these sites depend on databases to deliver their content, record the traffic and report the application activities in real time. As I learned early in my career at MySQL, the database schema and in particular the indexing strategy, are critical to achieve the highest possible performance out of the

      [Read more...]
    Showing entries 1 to 30 of 30

    Planet MySQL © 1995, 2013, 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.