成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

詳解 | TiDB 2.0 GA is here!

FreeZinG / 2972人閱讀

摘要:經(jīng)過(guò)半年時(shí)間,個(gè)版本,今天版本正式發(fā)布。目前已經(jīng)有大量的用戶在線上使用,這些用戶的數(shù)據(jù)量在不斷增加業(yè)務(wù)也在不斷演進(jìn)。比如盡可能簡(jiǎn)化部署升級(jí)擴(kuò)容方式,盡可能容易的定位系統(tǒng)中出現(xiàn)的異常狀態(tài)。同時(shí)功能也更加豐富,支持自動(dòng)部署組件支持啟用。

去年十月份的時(shí)候,我們發(fā)布了 TiDB 1.0 版本,為此我們?nèi)找辜娉虋^斗了兩年半時(shí)間,我們認(rèn)為 1.0 版本達(dá)到了可在生產(chǎn)環(huán)境中使用的程度。在接下來(lái)的六個(gè)月中,我們一方面維護(hù) 1.0 版本的穩(wěn)定性并且增加必要的新特性,另一方面馬不停蹄的開發(fā) 2.0 版本。經(jīng)過(guò)半年時(shí)間,6 個(gè) RC 版本,今天 TiDB 2.0 GA 版本正式發(fā)布。

2.0 版本規(guī)劃

在 2.0 版本的規(guī)劃階段,我們對(duì)“這個(gè)版本需要做什么”進(jìn)行了深入思考,我們根據(jù)現(xiàn)有用戶的情況、技術(shù)發(fā)展趨勢(shì)以及社區(qū)的聲音,認(rèn)為 2.0 版本需要聚焦在以下幾點(diǎn):

保證 TiDB 的穩(wěn)定性以及正確性。這兩點(diǎn)是一個(gè)數(shù)據(jù)庫(kù)軟件的基礎(chǔ)功能,作為業(yè)務(wù)的基石,任何一點(diǎn)抖動(dòng)或者錯(cuò)誤都可能對(duì)業(yè)務(wù)造成巨大的影響。目前已經(jīng)有大量的用戶在線上使用 TiDB,這些用戶的數(shù)據(jù)量在不斷增加、業(yè)務(wù)也在不斷演進(jìn)。我們非常關(guān)注 TiDB 集群如何保持長(zhǎng)期穩(wěn)定運(yùn)行、如何減小系統(tǒng)的抖動(dòng)、如何進(jìn)行智能的調(diào)度,為此做了大量的調(diào)研和分析。

提升 TiDB 在大數(shù)據(jù)量下的查詢性能。從我們接觸下來(lái)的用戶來(lái)看,很多客戶都有少則上百 GB,多則上百 TB 的數(shù)據(jù),一方面數(shù)據(jù)會(huì)持續(xù)增加,另一方面也希望能對(duì)這些數(shù)據(jù)做實(shí)時(shí)的查詢。所以如果能提升大數(shù)據(jù)量下的查詢性能,對(duì)用戶會(huì)很有幫助。

優(yōu)化 TiDB 的易用性和可維護(hù)性。TiDB 整套系統(tǒng)的復(fù)雜性比較高,運(yùn)維及使用的難度要大于單機(jī)數(shù)據(jù)庫(kù),所以我們希望能提供盡可能方便的方案幫助用戶使用 TiDB。比如盡可能簡(jiǎn)化部署、升級(jí)、擴(kuò)容方式,盡可能容易的定位系統(tǒng)中出現(xiàn)的異常狀態(tài)。

圍繞上面三點(diǎn)原則,我們做了大量的改進(jìn),一些是對(duì)外可見(如 OLAP 性能的顯著提升、監(jiān)控項(xiàng)的大量增加以及運(yùn)維工具的各項(xiàng)優(yōu)化),還有更多的改進(jìn)是隱藏在數(shù)據(jù)庫(kù)背后,默默的提升整個(gè)數(shù)據(jù)庫(kù)的穩(wěn)定性以及正確性。

正確性和穩(wěn)定性

在 1.0 版本發(fā)布之后,我們開始構(gòu)建和完善自動(dòng)化測(cè)試平臺(tái) Schrodinger,徹底告別了之前靠手工部署集群測(cè)試的方式。同時(shí)我們也新增了非常多的測(cè)試用例,做到測(cè)試從最底層 RocksDB,到 Raft,再到 Transaction,然后是 SQL 都能覆蓋。

在 Chaos 測(cè)試上面,我們引入了更多的錯(cuò)誤注入工具,例如使用 systemtap 對(duì) I/O 進(jìn)行 delay 等,也在代碼特定的業(yè)務(wù)的邏輯進(jìn)行錯(cuò)誤注入測(cè)試,充分保證 TiDB 在異常條件下面也能穩(wěn)定運(yùn)行。

之前我們做了很多 TLA+ 的論證工作,也有一些簡(jiǎn)單的測(cè)試,1.0 之后我們開始使用 TLA+ 系統(tǒng)進(jìn)行論證,保證我們的實(shí)現(xiàn)在設(shè)計(jì)上面都是正確的。

在存儲(chǔ)引擎方面,為了提升大規(guī)模集群的穩(wěn)定性和性能,我們優(yōu)化了 Raft 的流程,引入 Region Merge、Raft Learner 等新特性;優(yōu)化熱點(diǎn)調(diào)度機(jī)制,統(tǒng)計(jì)更多的信息,并根據(jù)這些信息做更合理的調(diào)度;優(yōu)化 RocksDB 的性能,使用 DeleteFilesInRanges 等特性,提升空間回收效率,降低磁盤負(fù)載,以及更加平滑地使用磁盤資源等等。

OLAP 性能優(yōu)化

在 2.0 版本中,我們重構(gòu)了 SQL 優(yōu)化器和執(zhí)行引擎,希望能盡可能快的選擇最優(yōu)查詢計(jì)劃并且盡可能高效地執(zhí)行查詢計(jì)劃。

1.0 版本已經(jīng)從基于規(guī)則的查詢優(yōu)化器轉(zhuǎn)向基于代價(jià)的查詢優(yōu)化器,但是還不夠完善,在 2.0 版本中,我們一方面優(yōu)化統(tǒng)計(jì)信息的精確度以及更新及時(shí)程度,另一方面提升 SQL 優(yōu)化器的能力,對(duì)查詢代價(jià)的估算更加精準(zhǔn)、對(duì)復(fù)雜過(guò)濾條件的分析更加細(xì)致、對(duì)關(guān)聯(lián)子查詢的處理更加優(yōu)雅、對(duì)物理算子的選擇更加靈活準(zhǔn)確。

在這一版本中,SQL 執(zhí)行引擎引入新的內(nèi)部數(shù)據(jù)表示方式 --- Chunk,一個(gè)結(jié)構(gòu)中保存一批數(shù)據(jù)而不僅是一行數(shù)據(jù),同一列的數(shù)據(jù)在內(nèi)存中連續(xù)存放,使得內(nèi)存使用更緊湊,這樣帶來(lái)了幾點(diǎn)好處:1. 顯著減小了內(nèi)存消耗; 2. 批量分配內(nèi)存,減小了 GC 開銷;3. 算子之間可以對(duì)數(shù)據(jù)進(jìn)行批量傳遞,減小調(diào)用開銷;4. 在某些場(chǎng)景下,可以進(jìn)行向量計(jì)算以及減小 CPU 的 Cache Miss 的情況。

完成上述兩項(xiàng)改動(dòng)之后,TiDB 在 OLAP 場(chǎng)景下的性能有了大幅的質(zhì)的提升,從 TPC-H 的對(duì)比結(jié)果https://github.com/pingcap/docs-cn/blob/master/benchmark/tpch.md 來(lái)看,所有的 Query 在 2.0 中都運(yùn)行得更快,一些 Query 大多數(shù)都有幾倍甚至數(shù)量級(jí)的提升,特別是一些 1.0 中跑不出結(jié)果的 Query 在 2.0 中都能順利執(zhí)行。

易用性和可運(yùn)維性

為了讓 TiDB 更容易被安裝和使用,監(jiān)控、運(yùn)維、工具方面我們也做了諸多優(yōu)化。

在監(jiān)控方面,增加了過(guò)百個(gè)監(jiān)控項(xiàng),同時(shí)通過(guò) HTTP 接口、SQL 語(yǔ)句等方式暴露出一些運(yùn)行時(shí)信息,用于系統(tǒng)調(diào)優(yōu)或者是定位系統(tǒng)中存在的問題。

在運(yùn)維方面,我們運(yùn)維工具做了優(yōu)化,簡(jiǎn)化操作流程,降低操作復(fù)雜度及操作過(guò)程對(duì)于線上的影響。同時(shí)功能也更加豐富,支持自動(dòng)部署 Binlog 組件、支持啟用 TLS。

版本升級(jí)

從 TiDB 1.0 到 2.0 可以進(jìn)行滾動(dòng)升級(jí),具體步驟可以參考 這篇文檔。

One more thing

我們也同時(shí)發(fā)布了 TiSpark 1.0 GA 版本,了解一下?

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/17737.html

相關(guān)文章

  • TiDB 2.1 GA Release Notes

    摘要:年月日,發(fā)布版。相比版本,該版本對(duì)系統(tǒng)穩(wěn)定性性能兼容性易用性做了大量改進(jìn)。 2018 年 11 月 30 日,TiDB 發(fā)布 2.1 GA 版。相比 2.0 版本,該版本對(duì)系統(tǒng)穩(wěn)定性、性能、兼容性、易用性做了大量改進(jìn)。 TiDB SQL 優(yōu)化器 優(yōu)化 Index Join 選擇范圍,提升執(zhí)行性能 優(yōu)化 Index Join 外表選擇,使用估算的行數(shù)較少的表作為外表 擴(kuò)大 Join H...

    fanux 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<