开发者社区> 技术小美> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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操作,没有在线热备工具,社区版不支持DML)


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数据量时慢太 多,基本是一个数量级内。

 

社区版缺点、限制:

1.不支持DML 2.不支持多核 3.不支持分布式

 


三:InfiniDB


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




引擎选择建议:


1. 首选Innodb

2. 其次推荐研究 TokuDB 、InfiniDB

 

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

文章可以转载,必须以链接形式标明出处。


本文转自 张冲andy 博客园博客,原文链接:  http://www.cnblogs.com/andy6/p/6616613.html ,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
MySQL存储引擎的选择
数据库存储引擎是数据库底层软件组件,数据库管理系统使用数据引擎进行创建、查询、更新和删除数据操作
0 0
MySQL 下不同存储引擎下锁的不同表现形式|学习笔记
快速学习 MySQL 下不同存储引擎下锁的不同表现形式
0 0
MySQL数据库之存储引擎(下)
一、存储引擎的概念 1.1 什么是存储引擎 MySQL中的数据用各种不下同的技术存储在文件中,每一种技术都使用不同的存储机制、索引技巧、锁定水平并最终提供不同的功能和能力,这些不同的技术以及配套的功能在MySQL中称为存储引擎。 存储引擎是MySQL将数据存储在文件系统中的存储方式或者存储格式。 存储引擎是MySQL数据库中的组件,负责执行实际的数据I/O操作。 MySQL系统中,存储引擎处于文件系统之上,在数据保存到数据文件之前会传输到存储引擎,之后按照各个存储引擎的存储格式进行存储。
0 0
MySQL数据库之存储引擎(上)
一、存储引擎的概念 1.1 什么是存储引擎 MySQL中的数据用各种不下同的技术存储在文件中,每一种技术都使用不同的存储机制、索引技巧、锁定水平并最终提供不同的功能和能力,这些不同的技术以及配套的功能在MySQL中称为存储引擎。 存储引擎是MySQL将数据存储在文件系统中的存储方式或者存储格式。 存储引擎是MySQL数据库中的组件,负责执行实际的数据I/O操作。 MySQL系统中,存储引擎处于文件系统之上,在数据保存到数据文件之前会传输到存储引擎,之后按照各个存储引擎的存储格式进行存储。
0 0
MySQL 创建不同存储引擎库、表|学习笔记
快速学习 MySQL 创建不同存储引擎库、表
0 0
MySQL 存储引擎与分类|学习笔记
快速学习 MySQL 存储引擎与分类
0 0
浅析 MySQL 常见存储引擎
之前讲述了MySQL体系结构,当时谈到了MySQL区别于其他数据库的最重要特点是其插件式的表存储引擎。他根据MySQL AB公司提供的文件访问层抽象接口来定制一种文件访问的机制(该机制叫存储引擎)。MySQL 的核心就是存储引擎。
0 0
MySQL——存储引擎
为了管理方便,人们把`连接管理`、`查询缓存`、`语法解析`、`查询优化`这些并不涉及真实数据存储的功能划分为`MySQL SERVER`的功能,把真实的存取数据的功能划分为`存储引擎`的功能。所以在`MySQL SERVER`完成了查询优化后,只需按照生成的`执行计划`调用底层存储引擎提供的API,获取到数据后返回给客户端就好了。 MySQL中提到了存储引擎的概念。简而言之,`存储引擎就是指表的类型`。其实就是存储引擎以前叫做`表处理器`,后来改名为`存储引擎` 它的功能就是接收上层传下来的指令,然后对表中的数据进行提取或写入操作
0 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
好的 MySQL 兼容可以做到什么程度
立即下载
MySQL 5.7让优化更轻松
立即下载
MySQL表和索引优化实战
立即下载