zoukankan      html  css  js  c++  java
  • MySql 扩展存储引擎

                                                                                                                                 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

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

  • 相关阅读:
    3d smoke(CPU版)
    Rendering of Translucent Object With PRT(原创)
    Loren Carpenter与分形山脉
    WWW.GAMEDEV.NET的每日一图
    3d fire(CPU版)
    CentOs安装Docker
    关于Reporting Service的一些零碎整理
    .NET高级调试策略
    基于云的商务智能应该注意的事项
    outlook联系人操作手册
  • 原文地址:https://www.cnblogs.com/andy6/p/6616613.html
Copyright © 2011-2022 走看看