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
?
? 說明:自己總結與網絡整理。
轉載于:https://www.cnblogs.com/andy6/p/6616613.html
總結
以上是生活随笔為你收集整理的MySql 扩展存储引擎的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10系统下载 Ghost Win1
- 下一篇: ajax 原理----初级篇