zoukankan      html  css  js  c++  java
  • TokuDB Wikipedia, the free encyclopedia

    TokuDB - Wikipedia, the free encyclopedia

    TokuDB

    From Wikipedia, the free encyclopedia
    Jump to: navigation, search
    TokuDB
    Developer(s)Tokutek
    Stable release6.6 / JANUARY 8, 2013
    TypeDatabase engine
    LicenseProprietary (free trial)
    Websitehttp://www.tokutek.com/

    TokuDB is a storage engine for MySQL that is specifically designed for high performance on write-intensive workloads. It achieves this via Fractal Tree indexing, which is based on cache-oblivious algorithmics. This approach to building memory-efficient systems was originally jointly developed by researchers at the Massachusetts Institute of Technology,[1] [2] Rutgers University, [3] and the State University of New York (SUNY) at Stony Brook. [4] TokuDB is a scalable, ACID and MVCC compliant storage engine that provides indexing-based query improvements, offers online schema modifications, and reduces slave lag for both HDDs and flash memory.

    Contents

     [hide

    [edit] B-trees

    Most relational databases use indexes to increase query performance. Databases can leverage indexes to significantly reduce the amount of data they examine while responding to queries. Indexes are commonly implemented with B-trees, a data structure first described in 1970. The B-tree data structure allows for operations like inserting data and sorted order iteration, the primary operation used by an index. Depending on the workload and implementation, B-tree performance can be limited by the random I/O characteristics of disks. In addition, while freshly loaded databases tend to have good sequential behavior, this behavior becomes increasingly difficult to maintain as a database grows, resulting in more random I/O and performance challenges. [5]

    [edit] Fractal tree indexes

    [edit] Overview

    Fractal Tree indexes implement the same operations as a B-tree, and thus are a drop-in replacement for B-trees. Fractal Tree indexes effectively replaces small, frequent writes with larger, less frequent ones, which enables better compression, insertion performance. Fractal Trees also allow for messages to be injected into the tree in such a fashion that schema changes such as adding or dropping a column, or adding an index, can be done online, and in the background. [6] As a result, more indexes can be maintained without a drop in performance. This is because adding data to indexes tends to stress the performance of B-trees, but performs well in Fractal Tree indexes [7]

    [edit] Uses

    Fractal Tree indexes can be applied to a number of applications characterized by near-real time analysis of streaming data. They can be used as the storage layer of a database or as the storage layer of a file system. When used in a database, they can be used in any setting where a B-tree is used, with improved performance. Examples include: network event management, online advertising networks, web 2.0 and clickstream analytics, and air traffic control management. [8] Other uses include accelerated crawler performance for search engines for social media sites. It can also be used to create indexes and columns online, enabling query flexibility for ecommerce personalization. It is also suited to improving performance and reducing existing loads on transactional websites. In general it performs well in applications that must simultaneously store logfile data and execute ad hoc queries.

    [edit] Role in Big Data

    TokuDB has played an important role in the Big Data movement in MySQL. [9] It was noted as a critical new technology in the O'Reilly Strata Conference on Big Data. [10]

    [edit] See also

    [edit] References

  • 相关阅读:
    DS02--线性表
    DS01--抽象数据类型
    C语言最后一次作业--总结报告
    C语言第十一次作业--函数嵌套调用
    你还有很多要学的东西
    Google Guice 系列教程 - 基础实践
    Eclim指令集
    maven入门案例
    从java调用groovy
    linux下安装Groovy环境
  • 原文地址:https://www.cnblogs.com/lexus/p/3009928.html
Copyright © 2011-2022 走看看