成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

MySQL 8.0 技術(shù)詳解

2021-02-21    分類: 網(wǎng)站建設(shè)

MySQL 8.0 簡介

MySQL 5.7 到 8.0,Oracle 官方跳躍了 Major Version 版本號,隨之而來的就是在 MySQL 8.0 上做了許多重大更新,在往企業(yè)級數(shù)據(jù)庫的路上大步前行,全新 Data Dictionary 設(shè)計(jì),支持 Atomic DDL,全新的版本升級策略,安全和賬號管理加強(qiáng),InnoDB 功能增強(qiáng)等,目前小版本已經(jīng) release 到 8.0.16,新的功能仍然在持續(xù)推出。

RDS MySQL 8.0 產(chǎn)品是阿里云推出的 MySQL 系列云產(chǎn)品之一,使用完全兼容 MySQL 8.0 的阿 里云 AliSQL 8.0 分支,除了官方在 MySQL 8.0 推出的全新功能外,AliSQL 沉淀了許多在 Alibaba 集團(tuán)電商業(yè)務(wù)和云上幾十萬客戶在使用 MySQL 過程中遇到的問題和需求,以此來加固AliSQL, 提升 AliSQL 的性能和穩(wěn)定性。

下面分別對 MySQL 8.0 和 AliSQL 8.0 相關(guān)的版本和功能做簡短的介紹:

MySQL 8.0 版本更新

1. 數(shù)據(jù)字典

MySQL 8.0 摒棄了 Server Layer 定義的 FRM 文件和其它非事務(wù)表,使用了一組 InnoDB 表來 保存數(shù)據(jù)字典,支持事務(wù)特性。

2. Atomic DDL

在 Data Dictionary 支持事務(wù)特性的基礎(chǔ)上,8.0 增加了一個(gè) DDL log 字典表,用來協(xié)調(diào)在

DDL 過程中,對數(shù)據(jù)字典,文件系統(tǒng) 和 事務(wù)系統(tǒng)的修改,做到原子性。

3. 升級

從 8.0.16 開始,對于系統(tǒng)表的修改,拋棄了 mysql_upgrade工具,使用在系統(tǒng)重啟的時(shí)候,進(jìn) 行升級。

4. 安全和賬號管理

賬號方面,從 8.0 開始,支持 role 對權(quán)限進(jìn)行便捷管理,以及新增多個(gè)系統(tǒng)權(quán)限,分別對應(yīng)新 增了 ROLE_EDGES,GLOBAL_GRANTS 兩個(gè)系統(tǒng)表;mysql schema 下的涉及權(quán)限和用戶相關(guān)的表 更改成 InnoDB 引擎,支持事務(wù)特性,保證了賬號管理語句的原子性。

認(rèn)證方面,caching_sha2_password 作為默認(rèn)的認(rèn)證 plugin,以提升安全,但要注意并不能和 8.0 之前的client進(jìn)行兼容。

鏈路加密,如果編譯了Openssl 1.1.1 及以上,MySQL 8.0 ssl 將支持到 TLSv1.3 版本。

系統(tǒng)賬號,在 8.0.16 新增 SYSTEM_USER 權(quán)限,用于區(qū)分 系統(tǒng)賬號還是普通賬戶,可以對用戶 進(jìn)行分類管理。

5. Auto increment 持久化

在 InnoDB 引擎中,新增了一個(gè)引擎私有的系統(tǒng)表 innodb_dynamic_metadata,自增值就保存 在這個(gè)表里,在對每張表進(jìn)行修改 auto increment 值的時(shí)候,都使用 redo log 進(jìn)行保護(hù),在做

heckpoint 的時(shí)候,持久化到這個(gè)系統(tǒng)表中,保證下次重啟后,auto increment 能夠從持久化中恢 復(fù)出來,并且不受事務(wù)上下文回滾而影響。

6. 死鎖檢測

在高并發(fā)的情況下,InnoDB 引擎中對于7. 臨時(shí)表

在 InnoDB 引擎中,用戶創(chuàng)建的臨時(shí)表將統(tǒng)一到 ibtmp 文件的臨時(shí)表空間中; 對于系統(tǒng)運(yùn)行過 程中產(chǎn)生內(nèi)存臨時(shí)表,8.0后啟用了新的 TempTable 引擎,支持 blob 字段,功能上優(yōu)于 memory ngine。

8. Lock

SELECT ... FOR SHARE 和 SELECT ... FOR UPDATE 新增了 NOWAIT 和SKIP LOCKED 語法,減少長時(shí)間和非必要的阻塞。

9. Instant add column

InnoDB 解決了長期困擾 DBA 的加字段要 copy 整張表數(shù)據(jù)的問題?,F(xiàn)在可以快速的增加字段,只修改數(shù)據(jù)字典,而不用修改表中的記錄本身。

10. 并行查詢

InnoDB 目前支持在 clustered index 上進(jìn)行并行查詢,提供innodb_parallel_read_threads,https://dev.mysql.com/doc/refman/8.0/en/innodb-parameters.html#sysvar_innodb_parallel_read_threads,參數(shù)控制session內(nèi)的并行度。

11. Redo優(yōu)化

Redo的寫入一直是 InnoDB 高并發(fā)情況下的瓶頸,8.0 開始:

  • 用戶線程可以并發(fā)的copy redo 日志到 log buffer中
  • 用戶線程可以以更松散的方式把 dirty block 加入到臟塊鏈表中
  • 獨(dú)立的寫線程完成 redo 的持久化

12. Json加強(qiáng)

在Json上,8.0 增加了更多的功能性,詳見 MySQL 8.0 的 document。

13. Partial update on lob

InnoDB 繼續(xù)優(yōu)化 partial update on lob data,對于僅僅修改很少字節(jié)的 lob 字段,能夠大幅 減少 undo data,并提升效率。

14. 優(yōu)化器和對象相關(guān)

1) 支持 invisible index,方便用戶和 DBA 調(diào)試 statement。

2)descending indexes,提升降序掃描的效率。

3)Common table expressions,支持 with 語法完成。

4)Window functions,增加大量窗口函數(shù)

5)Regular expression,重新設(shè)計(jì)了正則表達(dá)式的支持。

AliSQL 8.0 功能介紹

除了 MySQL 8.0 官方的特性以外,AliSQL 8.0 在新功能,性能提升,穩(wěn)定性保證,可診斷性上 做了大量的改進(jìn):

1. 診斷

Top SQL:

AliSQL 在 statement 級別上,增加了新的性能診斷指標(biāo),方便更快更準(zhǔn)確的量化 SQL 的開銷:


效果如下所示:


表和索引統(tǒng)計(jì)

新增表和索引級別的統(tǒng)計(jì):


InnoDB IO 統(tǒng)計(jì)


2. Sequence

AliSQL 8.0 增加對 Sequence 對象的支持,方便和高效的獲取單調(diào)唯一值:


3. 大文件異步刪除

InnoDB 大文件刪除帶來穩(wěn)定性開銷,所以 AliSQL 8.0 提供了異步刪數(shù)據(jù)文件的機(jī)制:

參數(shù)設(shè)置:


展示臨時(shí)文件列表:


4. 隱含主鍵

AliSQL 針對用戶沒有建 PK 的表,默認(rèn)添加一個(gè)隱含主鍵,以加速 slave 端的 SQL apply。 查看方法:


5. 事務(wù)超時(shí)

AliSQL 新增 kill_idle_transaction_timeout 參數(shù),以便對超時(shí)的事務(wù)連接進(jìn)行 kill,防止事務(wù)長時(shí)間未提交帶來的系統(tǒng)風(fēng)險(xiǎn)。

6. Rotate slow log

AliSQL 8.0 針對 slow log 收集過程中,對用戶實(shí)例的影響,以及truncate帶來的阻塞可能,提 供了rotate slow log table的功能,影響更小,更快捷,并保證零數(shù)據(jù)丟失的收集方式。


7. 審計(jì)日志

AliSQL 8.0 重新設(shè)計(jì)的 audit log 模塊,提供了四種刷新策略,分別是:


提供適合不同業(yè)務(wù)模式的 audit log 配置供用戶選擇。

8. 安全特性

AliSQL 針對 ssl 鏈路,靜態(tài)編譯了Openssl 1.0 版本,目前支持到 TLSv1.2 版本。

9. 優(yōu)化

AliSQL 針對 semi sync 和 MDL 進(jìn)行了性能優(yōu)化,提升了 semi sync 的性能,大幅減少了 MDL 鎖阻塞的可能性。

本文題目:MySQL 8.0 技術(shù)詳解
URL地址:http://jinyejixie.com/news/102095.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)網(wǎng)站策劃、企業(yè)建站做網(wǎng)站移動(dòng)網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營
万荣县| 成武县| 巴塘县| 扎鲁特旗| 平武县| 宝鸡市| 临洮县| 曲沃县| 大安市| 南开区| 崇文区| 永宁县| 新龙县| 西峡县| 奉贤区| 白朗县| 全椒县| 周至县| 富裕县| 泸州市| 松桃| 奈曼旗| 宜阳县| 延长县| 旅游| 西华县| 耒阳市| 都安| 任丘市| 雷州市| 龙州县| 惠东县| 日土县| 达孜县| 荥阳市| 南岸区| 西平县| 洪泽县| 怀安县| 儋州市| 新沂市|