|
‘TokuMX' is an open source distribution of MongoDB〔(【引用サイトリンク】title = TokuMX – High-Performance MongoDB Distribution )〕 which, among other things, replaces the default B-tree data structure found in the basic MongoDB distribution with a Fractal tree index. It is a drop-in replacement for MongoDB (applications will run “as is”) that offers the scalability and performance improvements associated with Fractal Tree indexing. It also adds support for document-level locking, transaction support with ACID and MVCC, and replication optimization; it does not support full-text search. TokuMX is specifically designed for high performance on write-intensive workloads. It achieves this using a Fractal tree index〔(【引用サイトリンク】title = How TokuDB Fractal Tree Databases Work )〕 , which replaces 40-year-old B-tree indexing and is based on cache-oblivious algorithms. This approach to building memory-efficient systems was originally jointly developed by researchers at the Massachusetts Institute of Technology,〔(【引用サイトリンク】title = Cache-Oblivious Search Trees Project )〕 Rutgers University, 〔 (【引用サイトリンク】title = Cache-Oblivious B-trees )〕 and the State University of New York at Stony Brook (SUNY). 〔 (【引用サイトリンク】title = Cache Oblivious B-trees )〕 TokuMX is a scalable, ACID and MVCC compliant distribution of MongoDB that provides indexing-based query improvements, offers online schema modifications, and reduces slave lag for both hard disk drives and flash memory. It also adds transactions with MVCC and ACID reliability to any MongoDB application, making MongoDB suitable for a much wider range of solutions. 〔 (【引用サイトリンク】TokuMX is MongoDB on steroids ) 〕 Most TokuMX source files are made available under the terms of the GNU Affero General Public License (AGPL). The TokuKV Fractal Tree Indexing library is made available under the terms of the GNU General Public License (GPL) version 2, with an additional grant of a patent license. ==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. With the advent of Big Data and the ever increasing database needs of the 21st century, many niche databases have been created to get around the limitations of 50-year-old B-tree indexing. These include some optimized for reads, some optimized for writes, and a series of other special-purpose databases designed for a narrow problem set. 〔 (【引用サイトリンク】title = Cache Oblivious B-trees )〕 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「TokuMX」の詳細全文を読む スポンサード リンク
|