主頁 > 資料庫 > GreatSQL 8.0.32-24 今日發布

GreatSQL 8.0.32-24 今日發布

2023-06-05 09:35:05 資料庫

  • 1.新增特性

    • 1.1 SQL兼容性
    • 1.2 MGR
    • 1.3 性能優化
    • 1.4 安全
  • 2.穩定性提升

  • 3.其他調整

  • 4.bug修復

  • 5.GreatSQL VS MySQL

  • 6.GreatSQL Release Notes


GreatSQL 8.0.32-24版本發布,增加并行load data、(邏輯 & CLONE)備份加密、MGR讀寫節點可系結動態VIP、Oracle兼容擴展、審計日志增強等重磅特性,

直播預告:GreatSQL 8.0.32-24發布會

直播時間:2023.06.05 15:00 - 16:00

掃碼預約發布會或點擊下方閱讀原文進行報名

image-20230605090721995

0.專案資訊

  • 代碼倉庫:https://gitee.com/GreatSQL/GreatSQL
  • 最新下載:https://gitee.com/GreatSQL/GreatSQL/releases/tag/GreatSQL-8.0.32-24
  • 專案檔案:https://greatsql.cn/docs
  • 專案官網:https://greatsql.cn

1.新增特性

1.1 SQL兼容性

在GreatSQL 8.0.32-24中,實作了多項SQL兼容性功能,包括資料型別擴展、SQL語法等超過20個兼容特性,

1.1.1 資料型別擴展

  • CLOB
  • VARCHAR2

1.1.2 SQL語法

  • DATETIME 運算
  • ROWNUM
  • 子查詢無別名
  • EXPLAIN PLAN FOR

1.1.3 函式

  • ADD_MONTHS()
  • CAST()
  • DECODE()
  • INSTR()
  • LENGTH()
  • LENGTHB()
  • MONTHS_BETWEEN()
  • NVL()
  • SUBSTRB()
  • SYSDATE()
  • TO_CHAR()
  • TO_DATE()
  • TO_NUMBER()
  • TO_TIMESTAMP()
  • TRANSLATE()
  • TRUNC()
  • SYS_GUID()

更多資訊詳見檔案:GreatSQL中的SQL兼容性(https://gitee.com/GreatSQL/GreatSQL-Doc/blob/master/relnotes/greatsql-803224/sql-compat.md)

1.2 MGR

1.2.1 MGR內置動態VIP

在GreatSQL 8.0.32-24中,新增MGR讀寫節點支持系結VIP(虛擬IP)特性,利用該特性,使得MGR在單主模式下運行時,能自動識別讀寫節點并系結VIP,支持應用端即可通過VIP對資料庫發起讀寫請求,當讀寫節點角色發生變化時,VIP也會隨之自動漂移并重新系結,應用端無需修改VIP配置,

更多資訊詳見檔案:GreatSQL中MGR支持內置vip特性(https://gitee.com/GreatSQL/GreatSQL-Doc/blob/master/relnotes/greatsql-803224/mgr-vip.md)

1.2.2 新增applier queue批處理機制

新增相應選項 group_replication_applier_batch_size_threshold,當MGR中的并發事務太大,或者個別Secondary節點(磁盤I/O)性能較差時,可能會導致applier queue堆積越來越大,一直無法及時跟上Primary節點,

這時候有效的辦法就是讓applier queue落地時采用批量的方式,提高落盤效率,默認地,applier queue里的event是逐個落盤的,這種方式效率很低,當applier queue超過 group_replication_applier_batch_size_threshold 設定的閾值時,就會觸發批量落盤模式,每100個event批量落盤,就能大大提高落盤效率,

在生產環境中,選項 group_replication_applier_batch_size_threshold 值不要設定太小,建議不低于10000,默認值 100000,最小值10(僅用于開發、測驗環境),最大值100000000(基本上等于禁用),一個大事務會包含很多個event,當該選項設定太低時,可能會導致一個事務中的event沒辦法及時落盤,會造成relay log不完整,節點crash時,就需要從Primary節點重新讀取binlog進行恢復,

System Variable Name group_replication_applier_batch_size_threshold
Variable Scope Global
Dynamic Variable YES
Permitted Values [10 ~ 100000000]
Default 100000
Description 當applier queue超過 group_replication_applier_batch_size_threshold 設定的閾值時,就會觸發批量落盤模式,每100個event批量落盤,提高落盤效率,

1.2.3 Xcom cache分配靜態化

在MySQL 5.7里,Xcom cache size最大值1G,且不可動態調整,從MySQL 8.0開始,可對其動態調整,在 <= MySQL 8.0.20的版本中,最小值1G,在>= MySQL 8.0.21的版本中,最小值128M,

在MySQL中,是動態按需分配Xcom cache的,如果太多有空閑,就釋放;如果不夠用,再動態分配更多記憶體,一次分配大概250000個cache item,很容易造成約150ms的回應延遲,也就是說,會隨著事務多少的變化而可能頻繁產生回應延遲,

在GreatSQL中,對Xcom cache采用了靜態化分配機制,即一開始就預分配約1GB記憶體用于Xcom cache,這可以避免前面提到的回應延遲抖動風險,不過“副作用”是mysqld行程所占用的記憶體會比原來多,在記憶體特別緊張的服務器上不太適合,

新增相應選項 group_replication_xcom_cache_mode 用于設定Xcom cache靜態化初始大小:

System Variable Name group_replication_xcom_cache_mode
Variable Scope Global
Dynamic Variable YES
Permitted Values [0 ~ 4]
Default 2
Description 設定Xcom cache靜態化初始大小,對應關系如下: 0:約能快取50萬個Xcom條目,相應記憶體消耗約200MB; 1:約能快取100萬個Xcom條目,相應記憶體消耗約500MB; 2:約能快取200萬個Xcom條目,相應記憶體消耗約1GB; 3:約能快取400萬個Xcom條目,相應記憶體消耗約2GB; 4:約能快取800萬個Xcom條目,相應記憶體消耗約4GB;

1.2.4 其他優化

  • 優化了孟子演算法,使得無論是單主模式還是多主模式下,均有不同程度的性能提升,
  • 消除了殺節點行程場景下的性能抖動,
  • 優化了加入節點時可能導致性能劇烈抖動的問題,
  • 優化手工選主機制,解決了長事務造成無法選主的問題,
  • 完善MGR中的外鍵約束機制,降低或避免從節點報錯退出MGR的風險,
  • 提升了Secondary節點上大事務并發應用回放的速度,
  • 增加Xcom cache條目,提升了在網路延遲較大或事務應用較慢場景下的性能,
  • 新增引數選項:group_replication_broadcast_gtid_executed_period 用于設定節點之間各自廣播節點的gtid值的頻率,單位為毫秒,默認為1000,最小200,最大60 000,配合新的事務認證佇列清理演算法,進行認證資料庫的清理操作,收到所有節點的gtid后,就可以清理都執行完畢的gtid的認證資訊了,
  • 新增引數選項:group_replication_flow_control_max_wait_time,用于設定每次觸發流控時,流控等待的最大時長,默認為3600s,最大為86400s(1天),

1.3 性能優化

1.3.1 并行load data

MySQL原生的load data采用單執行緒讀取本地檔案(或收取client傳來的網路資料包),逐行獲取內容后再插入資料,

當匯入的單個檔案很大時,單執行緒處理模式無法充分利用資料庫的資源,導致執行時間很長,又由于load data匯入的資料在一個事務內,當binlog事務超過2G時,可能會導致無法使用binlog在MGR集群間同步,

為解決上述兩個問題,GreatSQL支持了load data并行匯入,開啟并行匯入后,會自動切分檔案成小塊(可配置),然后啟動多個worker執行緒(數量可配置)匯入檔案塊,并行匯入與engine無關,理論上支持任何存盤引擎,

更多資訊詳見檔案:GreatSQL中的并行load data特性(https://gitee.com/GreatSQL/GreatSQL-Doc/blob/master/relnotes/greatsql-803224/parallel_load_data.md)

1.3.2 優化器優化

優化了執行計劃,使得benchmark tpcc測驗吞吐量更高,也更加穩定,

1.4 安全

1.4.1 mysqldump備份加密

GreatSQL 8.0.32-24支持在mysqldump進行邏輯備份時產生加密備份檔案,并且也支持對加密后的備份檔案解密匯入,

更多資訊詳見檔案:GreatSQL中的邏輯備份加密特性(https://gitee.com/GreatSQL/GreatSQL-Doc/blob/master/relnotes/greatsql-803224/mysqldump-encrypt.md)

1.4.2 審計日志入表

GreatSQL支持將審計日志寫入資料表中,并且設定審計日志入表規則,以便達到不同的審計需求,

審計內容將包括操作賬戶、客戶端ip、被操作的資料庫物件、操作的完整陳述句、操作結果,

更多資訊詳見檔案:GreatSQL中的審計日志入表特性(https://gitee.com/GreatSQL/GreatSQL-Doc/blob/master/relnotes/greatsql-803224/audit-log-in-table.md)

1.4.3 表空間國密加密

在開源MySQL原有keyring架構,通過國密演算法,增強開源MySQL keyring架構的安全性,MySQL的表空間加密keyring架構包含2層加密,master key 和 tablespace key,

  • master key用于加密tablespace key,加密后的結果存盤在tablespace的header中,
  • tablespace key用于加密資料

當用戶想訪問加密的表時,InnoDB會先用master key對之前存盤在header中的加密資訊進行解密,得到tablespace key,再用tablespace key解密資料資訊,tablespace key是不會被改變的,而master key可以隨時改變,開源MySQL的master key采用keyring_file插件,key file直接存盤在磁盤上,

本功能點通過基于國密演算法sm4,增加了資料庫的安全性,

創建國密演算法加密表

CREATE TABLE test.t1(c1 INT, c2 INT) ENGINE = InnoDB ENCRYPTION = 'Y';

更多資訊詳見檔案:GreatSQL中的表空間加密國密支持(https://gitee.com/GreatSQL/GreatSQL-Doc/blob/master/relnotes/greatsql-803224/innodb-tablespace-encrypt.md)

1.4.4 CLONE備份加密

GreatSQL支持在利用CLONE備份時同步進行加密操作,提升備份檔案安全性,避免備份檔案被盜或泄漏時造成損失,

更多資訊詳見檔案:CLONE備份加密(https://gitee.com/GreatSQL/GreatSQL-Doc/blob/master/relnotes/greatsql-803224/clone-encrypt.md)

2.穩定性提升

3.其他調整

4.bug修復

  • 修復InnoDB并行查詢可能導致查詢hang住,甚至crash的問題,

5. GreatSQL VS MySQL

特性 GreatSQL 8.0.32-24 MySQL 8.0.32
開源 ? ?
ACID完整性 ? ?
MVCC特性 ? ?
支持行鎖 ? ?
Crash自動修復 ? ?
表磁區(Partitioning) ? ?
視圖(Views) ? ?
子查詢(Subqueries) ? ?
觸發器(Triggers) ? ?
存盤程序(Stored Procedures) ? ?
外鍵(Foreign Keys) ? ?
視窗函式(Window Functions) ? ?
通用表運算式CTE ? ?
地理資訊(GIS) ? ?
基于GTID的復制 ? ?
組復制(MGR) ? ?
MyRocks引擎 ? ?
SQL兼容擴展 1.資料型別擴展 2.SQL語法擴展 共超過20個擴展新特性 ?
MGR提升 1.地理標簽 2.仲裁節點 3.讀寫節點系結VIP 4.快速單主模式 5.智能選主機制 6.全新流控演算法 ?
性能提升 1.InnoDB并行查詢 2.并行load data ?
安全提升 1.國密支持 2.備份加密 3.審計日志入庫 ?

此外,GreatSQL 8.0.32-24基于Percona Server for MySQL 8.0.32-24版本,它在MySQL 8.0.32基礎上做了大量的改進和提升以及眾多新特性,詳情請見:Percona Server for MySQL feature comparison(https://docs.percona.com/percona-server/8.0/feature_comparison.html#percona-server-for-mysql-feature-comparison),這其中包括執行緒池、審計、資料脫敏等MySQL企業版才有的特性,以及PFS提升、IFS提升、性能和可擴展性提升、用戶統計增強、processlist增強、slow log增強等大量改進和提升,這里不一一重復列出,

6. GreatSQL Release Notes

  • Changes in GreatSQL 8.0.25-17 (2023-3-13)
  • Changes in GreatSQL 8.0.25-16 (2022-5-16)
  • Changes in GreatSQL 8.0.25-15 (2022-8-26)
  • Changes in GreatSQL 5.7.36-39 (2022-4-7)

Enjoy GreatSQL ??

關于 GreatSQL

GreatSQL是由萬里資料庫維護的MySQL分支,專注于提升MGR可靠性及性能,支持InnoDB并行查詢特性,是適用于金融級應用的MySQL分支版本,

相關鏈接: GreatSQL社區 Gitee GitHub Bilibili

GreatSQL社區:

社區博客有獎征稿詳情:https://greatsql.cn/thread-100-1-1.html

image-20230105161905827

技術交流群:

微信:掃碼添加GreatSQL社區助手微信好友,發送驗證資訊加群

image-20221030163217640

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/554309.html

標籤:MySQL

上一篇:快速上手kettle(三)壺中可以放些啥?

下一篇:返回列表

標籤雲
其他(160356) Python(38201) JavaScript(25475) Java(18186) C(15236) 區塊鏈(8269) C#(7972) AI(7469) 爪哇(7425) MySQL(7234) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5873) 数组(5741) R(5409) Linux(5346) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4582) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2434) ASP.NET(2403) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) .NET技术(1981) 功能(1967) HtmlCss(1952) Web開發(1951) C++(1928) python-3.x(1918) 弹簧靴(1913) xml(1889) PostgreSQL(1879) .NETCore(1863) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • GPU虛擬機創建時間深度優化

    **?桔妹導讀:**GPU虛擬機實體創建速度慢是公有云面臨的普遍問題,由于通常情況下創建虛擬機屬于低頻操作而未引起業界的重視,實際生產中還是存在對GPU實體創建時間有苛刻要求的業務場景。本文將介紹滴滴云在解決該問題時的思路、方法、并展示最終的優化成果。 從公有云服務商那里購買過虛擬主機的資深用戶,一 ......

    uj5u.com 2020-09-10 06:09:13 more
  • 可編程網卡芯片在滴滴云網路的應用實踐

    **?桔妹導讀:**隨著云規模不斷擴大以及業務層面對延遲、帶寬的要求越來越高,采用DPDK 加速網路報文處理的方式在橫向縱向擴展都出現了局限性。可編程芯片成為業界熱點。本文主要講述了可編程網卡芯片在滴滴云網路中的應用實踐,遇到的問題、帶來的收益以及開源社區貢獻。 #1. 資料中心面臨的問題 隨著滴滴 ......

    uj5u.com 2020-09-10 06:10:21 more
  • 滴滴資料通道服務演進之路

    **?桔妹導讀:**滴滴資料通道引擎承載著全公司的資料同步,為下游實時和離線場景提供了必不可少的源資料。隨著任務量的不斷增加,資料通道的整體架構也隨之發生改變。本文介紹了滴滴資料通道的發展歷程,遇到的問題以及今后的規劃。 #1. 背景 資料,對于任何一家互聯網公司來說都是非常重要的資產,公司的大資料 ......

    uj5u.com 2020-09-10 06:11:05 more
  • 滴滴AI Labs斬獲國際機器翻譯大賽中譯英方向世界第三

    **桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......

    uj5u.com 2020-09-10 06:11:29 more
  • MPP (Massively Parallel Processing)大規模并行處理

    1、什么是mpp? MPP (Massively Parallel Processing),即大規模并行處理,在資料庫非共享集群中,每個節點都有獨立的磁盤存盤系統和記憶體系統,業務資料根據資料庫模型和應用特點劃分到各個節點上,每臺資料節點通過專用網路或者商業通用網路互相連接,彼此協同計算,作為整體提供 ......

    uj5u.com 2020-09-10 06:11:41 more
  • 滴滴資料倉庫指標體系建設實踐

    **桔妹導讀:**指標體系是什么?如何使用OSM模型和AARRR模型搭建指標體系?如何統一流程、規范化、工具化管理指標體系?本文會對建設的方法論結合滴滴資料指標體系建設實踐進行解答分析。 #1. 什么是指標體系 ##1.1 指標體系定義 指標體系是將零散單點的具有相互聯系的指標,系統化的組織起來,通 ......

    uj5u.com 2020-09-10 06:12:52 more
  • 單表千萬行資料庫 LIKE 搜索優化手記

    我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......

    uj5u.com 2020-09-10 06:13:25 more
  • 滴滴Ceph分布式存盤系統優化之鎖優化

    **桔妹導讀:**Ceph是國際知名的開源分布式存盤系統,在工業界和學術界都有著重要的影響。Ceph的架構和演算法設計發表在國際系統領域頂級會議OSDI、SOSP、SC等上。Ceph社區得到Red Hat、SUSE、Intel等大公司的大力支持。Ceph是國際云計算領域應用最廣泛的開源分布式存盤系統, ......

    uj5u.com 2020-09-10 06:14:51 more
  • es~通過ElasticsearchTemplate進行聚合~嵌套聚合

    之前寫過《es~通過ElasticsearchTemplate進行聚合操作》的文章,這一次主要寫一個嵌套的聚合,例如先對sex集合,再對desc聚合,最后再對age求和,共三層嵌套。 Aggregations的部分特性類似于SQL語言中的group by,avg,sum等函式,Aggregation ......

    uj5u.com 2020-09-10 06:14:59 more
  • 爬蟲日志監控 -- Elastc Stack(ELK)部署

    傻瓜式部署,只需替換IP與用戶 導讀: 現ELK四大組件分別為:Elasticsearch(核心)、logstash(處理)、filebeat(采集)、kibana(可視化) 下載均在https://www.elastic.co/cn/downloads/下tar包,各組件版本最好一致,配合fdm會 ......

    uj5u.com 2020-09-10 06:15:05 more
最新发布
  • GreatSQL 8.0.32-24 今日發布

    - 1.新增特性 - - 1.1 SQL兼容性 - 1.2 MGR - 1.3 性能優化 - 1.4 安全 - 2.穩定性提升 - 3.其他調整 - 4.bug修復 - 5.GreatSQL VS MySQL - 6.GreatSQL Release Notes > GreatSQL 8.0.32- ......

    uj5u.com 2023-06-05 09:35:05 more
  • 快速上手kettle(三)壺中可以放些啥?

    [TOC](快速上手kettle(三)壺中可以放些啥?) ### 序言 快速上手kettle開篇中,我們將kettle比作壺,并對這個壺做了簡單介紹。 而上一期中我們實作了①將csv檔案通過kettle轉換成excel檔案; ②將excel檔案通過kettle寫入到MySQL資料庫表中 這兩個案例。 ......

    uj5u.com 2023-06-05 08:43:52 more
  • Django遷移資料庫編碼錯誤

    # mysql編碼錯誤 ![image-20230604115322661](https://img2023.cnblogs.com/blog/2862884/202306/2862884-20230604115422584-1121547495.png) 問題出現在用django的admin組件向 ......

    uj5u.com 2023-06-05 08:43:00 more
  • # **鎖** ## **概述** - **介紹** 鎖是計算機協調多個行程或執行緒并發訪問某一資源的機制。在資料庫中,除傳統的計算資源(CPU、RAM、I/O)的爭用以外,資料也是一種供許多用戶共享的資源。如何保證資料并發訪問的一致性、有效性是所有資料庫必須解決的一個問題,鎖沖突也是影響資料庫并發訪 ......

    uj5u.com 2023-06-05 08:37:35 more
  • Django遷移資料庫編碼錯誤

    # mysql編碼錯誤 ![image-20230604115322661](https://img2023.cnblogs.com/blog/2862884/202306/2862884-20230604115422584-1121547495.png) 問題出現在用django的admin組件向 ......

    uj5u.com 2023-06-05 08:26:05 more
  • # **鎖** ## **概述** - **介紹** 鎖是計算機協調多個行程或執行緒并發訪問某一資源的機制。在資料庫中,除傳統的計算資源(CPU、RAM、I/O)的爭用以外,資料也是一種供許多用戶共享的資源。如何保證資料并發訪問的一致性、有效性是所有資料庫必須解決的一個問題,鎖沖突也是影響資料庫并發訪 ......

    uj5u.com 2023-06-05 08:25:47 more
  • 快速上手kettle(三)壺中可以放些啥?

    [TOC](快速上手kettle(三)壺中可以放些啥?) ### 序言 快速上手kettle開篇中,我們將kettle比作壺,并對這個壺做了簡單介紹。 而上一期中我們實作了①將csv檔案通過kettle轉換成excel檔案; ②將excel檔案通過kettle寫入到MySQL資料庫表中 這兩個案例。 ......

    uj5u.com 2023-06-05 08:24:27 more
  • 觸發器

    # 觸發器 ## **一、介紹** 觸發器是與表有關的資料庫物件,指在insert/update/delete之前或之后,觸發并執行觸發器中定義SQL陳述句集合。觸發器的這種特性可以協助應用在資料庫端確保資料的完整性,日志記錄,資料校驗等操作。 使用別 名OLD 和 NEW 來參考觸發器中發生變化的記 ......

    uj5u.com 2023-06-04 08:10:42 more
  • 04_深入淺出索引(上)

    # 04_深入淺出索引(上) ? ### 索引的概念 索引的概念:索引是一種資料結構,用于提高資料庫查詢效率。就像一本書的目錄一樣,索引可以幫助資料庫在大量資料中快速找到需要的資料,減少查詢時間和資源消耗。 除了提高查詢效率,索引還可以幫助資料庫實作唯一性約束、主鍵約束和外鍵約束等資料完整性約束。 ......

    uj5u.com 2023-06-04 08:10:37 more
  • 4種資料同步到Elasticsearch方案

    上周聽到公司同事分享 MySQL 同步資料到 ES 的方案,發現很有意思,感覺有必要將這塊知識點再總結提煉一下,就有了這篇文章。 本文會先講述資料同步的 4 種方案,并給出常用資料遷移工具,干貨滿滿! 不 BB,上文章目錄: 1. 前言 在實際專案開發中,我們經常將 MySQL 作為業務資料庫,ES ......

    uj5u.com 2023-06-04 08:10:16 more