MySql 扩展存储引擎

下面介绍几个列式存储引擎(都有两个版本:社区版、商业版):

一:TokuDB

TokuDB 是一个高性能、支持事务处理的 MySQL 和 MariaDB 的存储引擎。TokuDB 的主要特点则是对高写压力的支持。

TokuDB v7 发布了。
从该版本开始 TokuDB 宣布开源,开源的社区版本提供全部功能和性能,无宕机的列添加、删除和重命名,以及索引创建,簇集的第二主键。同时也提高了企业版本,包含额外的支持包和高级备份和恢复工具。

tokudb使用索引加快查询速度,具有高扩展性,并支持hot scheme modification。

特点:
1.插入性能快20~80倍;
2.压缩数据减少存储空间;
3.数据量可以扩展到几个TB;
4.不会产生索引碎片;
5.支持hot column addition , hot indexing, mvcc;

如何考虑使用:
1.如果要存储blob,不要使用tokuDB,因为他的记录不能太大;
2.如果记录数过亿,使用tokuDB;
3.如果注重update的性能,不要使用tokuDB,他没有innodb快;
4.如果要存储旧的记录,使用tokuDB;
5.如果要缩小数据占用的存储空间,使用tokuDB;

二:Infobrigh (infobright 社区版只支持load data操作)

Infobright是开源的MySQL数据仓库解决方案,引入了列存储方案,高强度的数据压缩,优化的统计计算(类似sum/avg/group by之类),

infobright 是基于mysql的,但不装mysql亦可,因为它本身就自带了一个。mysql可以粗分为逻辑层和物理存储引擎,infobright主要实现的就是一个存储引擎,但因为它自身存储逻辑跟关系型数据库根本不同,所以,它不能像InnoDB那样直接作为插件挂接到mysql,它的逻辑层是mysql的逻辑 层加上它自身的优化器。

1、高压缩比率,平均压缩比可达10:1,甚至可以达到40:1,我用infobright把3.1G的数据存成不足300M。

2、列存储,即使数据量十分巨大,查询速度也很快。用于数据仓库,处理海量数据没一套可不行。

3、不需要建索引,就避免了维护索引及索引随着数据膨胀的问题。把每列数据分块压缩存放,每块有知识网格节点记录块内的统计信息,代替索引,加速搜 索。

4、单一台服务器可以高效地读写30T数据。具有可扩展性,这里是指对于同样的查询,当数据量是10T时,它耗费的时间不应该比1T数据量时慢太 多,基本是一个数量级内。

三:InfiniDB

InfiniDB:InfiniDB Community Edition (社区版)提供一个可伸缩的分析型数据库引擎,主要为数据仓库、商业智能、以及对实时性要求不严格的应用而开发。基于 MySQL 搭建。包括对查询、事务处理以及大数据量加载的支持。目前使用者不是很多。

引擎选择建议:

1. 首选Innodb

2. 其次推荐研究 TokuDB 、InfiniDB

说明:自己总结与网络整理。

时间: 2024-10-27 05:28:29

MySql 扩展存储引擎的相关文章

mysql 的存储引擎介绍

在数据库中存的就是一张张有着千丝万缕关系的表,所以表设计的好坏,将直接影响着整个数据库.而在设计表的时候,我们都会关注一个问题,使用什么存储引擎.等一下,存储引擎?什么是存储引擎? 什么是存储引擎? MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力.通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能. 例如,如果你在研究大量的临时数据,你也许需要使用内存MySQL

MySQL数据库存储引擎

MySQL数据库存储引擎 MySQL数据库是一种关系型数据库,数据时存放在数据库中的一张一张的表中的,各个表之间或有关联,表中的每行相关,每列是不相关.这是关系型数据库的基本存储方式. MySQL存储引擎是为了在各种不同的条件下对数据存放的可靠性.关联性.读写等方面做出的一个可供选择的存储模式. 当前使用较多的MySQL存储引擎主要有以下几个,MyISAM,InnoDB,BdB,Memory等,这些存储引擎主要在以下几个方面有所区分,锁定水平.处理方式.存储方式和索引技巧方面有所不同. mysq

Mysql的存储引擎介绍

下面主要介绍InnoDB.MyISAM和MEMEORY三种存储引擎. InnoDB存储引擎 InnoDB遵循CNU通用公开许可(GPL)发行.InnoDB已经被一些重量级互联网公司所采用,如雅虎.Slashdot和Google,为用户操作非常大的数据库提供了一个强大的解决方案.InnoDB给MySQL的表提供了事务.回滚.崩溃修复能力和多版本并发控制的事务安全.MySQL从3.23.34a开始包含InnoDB存储引擎.InnoDB是MySQL上第一个提供外键约束的表引擎,而且InnoDB对事务处

mysql数据库存储引擎及区别

MySQL有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用:MyISAM.InnoDB.MERGE.MEMORY(HEAP).BDB(BerkeleyDB).EXAMPLE.FEDERATED.ARCHIVE.CSV.BLACKHOLE. mysql的存储引擎包括:MyISAM.InnoDB.BDB.MEMORY.MERGE.EXAMPLE.NDBCluster.ARCHIVE.CSV.BLACKHOLE.FEDERATED等,其中InnoDB和BDB提供事务安全表,其他存储引擎都是

Mysql运维管理-MySQL数据库存储引擎知识19

1.MySQL 引擎概述 1.1 什么是存储引擎 我们在录制一个视频文件的时候,可以转换成不同的格式如mp4,avi,wmv等,而且在电脑的磁盘上也会存在于不同类型的文件系统windows里常见的ntfs,fat32,存在于linux操作系统里常见的ext3,ext4,xfs.但是跟我们呈现的内容都是一样的,直观的区别是占用系统空间的大小与清晰程度不一样.那么数据库存储引擎也有很多种存储方式.无论用什么存储引擎来存储,用户看到的数据都是一样的.不同的引擎存储,引擎功能,占用的空间的大小,读取性能

[转帖]mysql常用存储引擎(InnoDB、MyISAM、MEMORY、MERGE、ARCHIVE)介绍与如何选择

mysql常用存储引擎(InnoDB.MyISAM.MEMORY.MERGE.ARCHIVE)介绍与如何选择原创web洋仔 发布于2018-06-28 15:58:34 阅读数 1063 收藏展开 https://blog.csdn.net/CSDN___LYY/article/details/80844606 一:前言 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建.查询.更新和删除数据.不同的存储引擎提供不同的存储机制.索引技巧.锁定水平等功能,使用不同的

mysql innodb存储引擎的聚集索引

InnoDB聚集索引 MySQL有没有支持聚集索引,取决于采用哪种存储引擎. MySQL InnoDB一定会建立聚集索引,所谓聚集,指实际数据行和相关的键值保存在一块,这也决定了一个表只能有一个聚集索引,即MySQL不会一次把数据行保存在二个地方.InnoDB通常根据主键值(primary key)进行聚集,但是当一个表没有PK怎么办?InnoDB选取聚集索引参照列的顺序是: 1.如果声明了主键(primary key),则这个列会被做为聚集索引2.如果没有声明主键,则会用一个唯一且不为空的索引

MySQL各存储引擎特点及选择建议

Mysql官方存储引擎比较常见的存储引擎有:Innodb.MyISAM.Memory.Archive.NDB.BDB,第三方比较有名的:TokuDB.Infobright.InnfiniDB.XtraDB(Innodb增强版本) 官方存储引擎的特点对比 MySQL存储引擎比较 特性 MyISAM InnoDB Memory Archive NDB BDB 存储限制   No   64TB   Yes   No   Yes    No 事务   √      √ MVCC   √  √   √  

mysql数据库存储引擎(1)

mysql的存储引擎就是指表的类型.数据库的存储引擎决定了表在计算机中的存储方式. 首先我们可以查看mysql支持的存储引擎: mysql> show engines; +------------+---------+----------------------------------------------------------------+--------------+------+------------+ | Engine     | Support | Comment