數據歸檔,冷熱數據分離


一.關於tokudb引擎

1.tokudb引擎特點

1.高壓縮比,高寫入性能
2.在線創建索引和字段
3.在線事務
4.支持索引同步

2.tokudb安裝步驟

1.yum install jemalloc -y

2.vim /etc/my.cnf   #添加如下
[mysqld_safe]
malloc-lib=/usr/lib64/libjemalloc.so.1

3.
echo never >/sys/kernel/mm/transparent_hugepage/enabled
echo never >/sys/kernel/mm/transparent_hugepage/defrag

4.yum install Percona-Server-tokudb-57.x86_64

5.啟動引擎
ps-admin --enable -uroot -p

6.重啟mysql服務
service mysql restart

7.
ps-admin --enable -uroot -p

8.查看引擎 
執行mysql -u root -p,登錄mysql,執行show engines

3.創建測試表

1.在源數據庫創建表
CREATE TABLE t_purchase (
id INT UNSIGNED PRIMARY KEY,
purchase_price DECIMAL ( 10, 2 ) NOT NULL,
purchase_num INT UNSIGNED NOT NULL,
purchase_sum DECIMAL ( 10, 2 ) NOT NULL,
purchase_buyer INT UNSIGNED NOT NULL,
purchase_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
company_id INT UNSIGNED NOT NULL,
goods_id INT UNSIGNED NOT NULL,
KEY idx_company_id ( company_id ),
KEY idx_goods_id ( goods_id ) 
);

2.在歸檔數據庫中創建歸檔表

CREATE TABLE t_purchase_201807 (
id INT UNSIGNED PRIMARY KEY,
purchase_price DECIMAL ( 10, 2 ) NOT NULL,
purchase_num INT UNSIGNED NOT NULL,
purchase_sum DECIMAL ( 10, 2 ) NOT NULL,
purchase_buyer INT UNSIGNED NOT NULL,
purchase_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
company_id INT UNSIGNED NOT NULL,
goods_id INT UNSIGNED NOT NULL,
KEY idx_company_id ( company_id ),
KEY idx_goods_id ( goods_id )
) ENGINE = TokuDB;

 

 4.安裝pt-archiver

yum install percona-toolkit -y

pt-archiver --version

pt-archiver --help

5.歸檔數據

pt-archiver --source h=192.168.192.135,P=3306,u=root,p=123456,D=test1,t=t_purchase 
--dest h=192.168.192.129,P=3306,u=admin,p=Abc_123456,D=test1,t=t_purchase_201807
--no-check-charset
--where 'purchase_date<"2019-02-01 0:0:0"'
--progress 5000 --bulk-delete --bulk-insert --limit=1000 --statistics

#執行完成后,源數據庫的冷數據就歸檔到歸檔數據庫中了

6.總結

1.使用tokudb引擎保存歸檔數據,擁有告訴寫入特性
2.使用雙機熱備方案搭建歸檔數據庫,具備高可用性
3.使用pt-archiver執行數據歸檔,簡便易行

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM