【開源資訊】TiDB 3.1.0-rc 發佈,分佈式 NewSQL 數據庫

前言

TiDB 是一款定位於在線事務處理/在線分析處理( HTAP: Hybrid Transactional/Analytical Processing)的融合型數據庫產品,實現了一鍵水平伸縮,強一致性的多副本數據安全,分佈式事務,實時 OLAP 等重要特性。同時兼容 MySQL 協議和生態,遷移便捷,運維成本極低。

【開源資訊】TiDB 3.1.0-rc 發佈,分佈式 NewSQL 數據庫

3.1.0-rc新功能

  • TiDB
    1. 採用的二分搜索實現分區裁剪,以來提升性能 #15678
    2. 支持 RECOVER 語法恢復被 truncate table 刪除的數據 #15460
    3. 支持重用語句重試中已分配的 AUTO_RANDOM ID #15393
    4. 支持 recover table 恢復 AUTO_RANDOM ID 分配器的狀態 #15393
    5. 支持 YEAR、MONTH、TO_DAY 函數作為 Hash partition table 的分區 key #15619
    6. 只在讀到數據,需要加鎖的時候,才對表做 schema-change 的檢查 #15708
    7. 為 session 變量 tidb_replica_read 增加 leader-and-follower 值,實現讀請求在 leader 和 follower 直接負載均衡 #15721
    8. 支持 TiDB 在每次新建連接時動態更新 TLS 證書,實現不重啟更新過期客戶端證書 #15163
    9. 通過更新 PD Client 支持每次新建連接是讀取加載最新的證書 #15425
    10. 如果配置了 Cluster-SSL-* 強制讓 TiDB-PD 和 TiDB-TiDB 使用配置的證書進行 HTTPS 協議傳輸 #15430
    11. 新增和 MySQL 兼容的 --require-secure-transport 啟動項,配置時強制客戶端使用 TLS #15442
    12. 添加 cluster-verify-cn 配置,只有擁有特定 CN 屬性值證書的訪問者才能訪問 TiDB Status Port 或建立 gRPC 連接 #15137
  • TiKV
    1. 支持通過 Raw KV API 備份數據 #7051
    2. 狀態服務支持 TLS #7142
    3. KV server 支持 TLS #7305
    4. 優化持有鎖的時間以提升備份性能 #7202
  • PD
    1. shuffle-region-scheduler 支持調度 learner #2235
    2. pd-ctl 增加配置 Placement Rules 的命令 #2306
  • Tools
  • TiDB Binlog

    1. 同步鏈路新增 TLS 功能 #931 #937 #939
    2. Drainer 新增 kafka-client-id 配置項,支持連接 Kafka 客戶端配置客戶端 ID #929
    3. TiDB Lightning優化 Lightning 的性能 #281 #275
    4. 支持 TLS #270
    5. BR優化日誌輸出信息,對用戶更友好 #189
  • TiDB Ansible
    1. 優化 TiFlash 數據目錄創建的方式 #1242
    2. TiFlash 新增 Write Amplification 監控項 #1234
    3. 優化 CPU epollexclusive 檢查失敗時提示信息,包括:通過升級內核版本解決,且提示支持的最小內核版本 #1243

    Bug 修復

    • TiDB
    1. 修復由於 update tiflash replica 類型的 DDL 太頻繁導致的 information schema changed 錯誤的問題 #14884
    2. 修復在使用 AUTO_RANDOM 時,未正確生成的 last_insert_id 的問題 #15149
    3. 修復更新 TiFlash replica 狀態時可能導致 DDL 卡住的問題 #15161
    4. 當存在謂詞無法下推時,禁止聚合下推和 TopN 下推 #15141
    5. 禁止相互嵌套地創建 view #15440
    6. 修復 set role all 後執行 select current_role 報錯的問題 #15570
    7. 修復查詢中指定列的 view 名時,報不識別 view 的問題 #15573
    8. 修復預處理 DDL 語句在寫 binlog 信息時可能出錯的問題 #15444
    9. 修復同時訪問視圖和分區表時導致 panic 的問題 #15560
    10. 修復 update duplicate key 語句中 bit(n) 類型的 column 報錯的問題 #15487
    11. 修復 max-execution-time 部分場景下不生效的問題 #15616
    12. 修復在生成 Index 計劃時未判斷當前的 ReadEngine 中是否包含 TiKV 的問題 #15773

    TiKV

    • 修復在關閉一致性檢查參數時,事務中插入已存在的 Key 且立馬刪除導致衝突檢測失效或數據索引不一致的問題 #7112
    • 修復 TopN 比較無符號整型時計算錯誤的問題 #7199
    • Raftstore 引入流控機制,解決沒有流控可能導致追日誌太慢可能導致集群卡住,以及事務大小太大會導致 TiKV 間連接頻繁重連的問題 #7087 #7078
    • 修復發送到 replicas 的讀請求可能被永久卡住的問題 #6543
    • 修復 replica read 會被 apply snapshot 阻塞的問題 #7249
    • 修復 read index 在 transfer leader 情況下可能導致 panic 的問題 #7240修復備份到 S3 時所有 SST 文件填充為零的問題 #6967
    • 修復備份時未記錄 SST 文件大小的導致恢復後有很多空 Region 的問題 #6983
    • 備份支持 AWS IAM web identity #7297
    • PD修復 PD 因處理 Region heartbeat 時的數據競爭導致 Region 信息不正確的問題 #2234
    • 修復 random-merge-scheduler 未遵守 location labels 和 Placement Rules 規則的問題 #2212修復 Placement Rule 被具有相同 startKey 和 endKey 的 Placement Rule 覆蓋的問題 #2222
    • 修復 API 輸出的版本號與 PD server 輸出版本號不一致的問題 #2192
    • ToolsTiDB Lightning修復 backend 是 TiDB 時由於字符轉化錯誤導致數據錯誤的問題 #283BR修復了在開啟 TiFlash 集群中,無法使用 BR 恢復的問題 #194

    源碼地址:https://gitee.com/pingcap/tidb


    分享到:


    相關文章: