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操作)
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
下面介紹幾個列式儲存引擎(都有兩個版本:社群版、商業版):
一: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
說明:自己總結與網路整理。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2136061/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Web儲存(Web Storage)擴充套件EStorageWeb套件
- MySQL中InnoDB引擎對索引的擴充套件MySql索引套件
- SQL Server 禁用擴充套件儲存過程SQLServer套件儲存過程
- 博通將收購博科擴充套件儲存業務套件
- Chrome瀏覽器擴充套件開發系列之八:Chrome擴充套件的資料儲存Chrome瀏覽器套件
- MySQL 儲存引擎MySql儲存引擎
- MySQL儲存引擎MySql儲存引擎
- MySQL系列-儲存引擎MySql儲存引擎
- MySQL Archive儲存引擎MySqlHive儲存引擎
- MySql 官方儲存引擎MySql儲存引擎
- MySQL MEMORY儲存引擎MySql儲存引擎
- MySQL InnoDB儲存引擎MySql儲存引擎
- 如何自動擴充套件K8S儲存池容量?套件K8S
- SpringCloudGateway資料庫儲存路由資訊的擴充套件方案SpringGCCloudGateway資料庫路由套件
- 【Mysql 學習】Mysql 儲存引擎MySql儲存引擎
- MySQL InnoDB的索引擴充套件MySql索引套件
- C 擴充套件庫 – mysql API套件MySqlAPI
- php mysql擴充套件安裝PHPMySql套件
- PHP 擴充套件 Mysql 與 MysqliPHP套件MySql
- MySQL入門--儲存引擎MySql儲存引擎
- 理解mysql的儲存引擎MySql儲存引擎
- MySQL之四 儲存引擎MySql儲存引擎
- (5)mysql 常用儲存引擎MySql儲存引擎
- MySQL-05.儲存引擎MySql儲存引擎
- Laravel 之搜尋引擎elasticsearch擴充套件ScoutLaravelElasticsearch套件
- kotlin 擴充套件(擴充套件函式和擴充套件屬性)Kotlin套件函式
- oracle 新增儲存自動擴充套件資料檔案流程(auto)Oracle套件
- 容器化 RDS:藉助 CSI 擴充套件 Kubernetes 儲存能力套件
- MySQL - 擴充套件性 2 擴充套件策略:氪金氪腦任君選MySql套件
- mysql空間擴充套件 VS PostGISMySql套件
- Lynx技術分析-JS引擎擴充套件設計JS套件
- MySQL InnoDB 儲存引擎探祕MySql儲存引擎
- 2_mysql(索引、儲存引擎)MySql索引儲存引擎
- MySQL federated儲存引擎測試MySql儲存引擎
- MySQL 5.5儲存引擎介紹MySql儲存引擎
- 【Mysql 學習】memory儲存引擎MySql儲存引擎
- MySQL 資料庫儲存引擎MySql資料庫儲存引擎
- Spring Cloud Gateway 資料庫儲存路由資訊的擴充套件方案SpringCloudGateway資料庫路由套件