UCloudTiDBService是什么

TiDB 是 PingCAP 公司自主設(shè)計(jì)、研發(fā)的開(kāi)源分布式關(guān)系型數(shù)據(jù)庫(kù),是一款同時(shí)支持在線事務(wù)處理與在線分析處理 (Hybrid Transactional and Analytical Processing, HTAP)的融合型分布式數(shù)據(jù)庫(kù)產(chǎn)品,具備水平擴(kuò)容或者縮容、金融級(jí)高可用、實(shí)時(shí) HTAP、云原生的分布式數(shù)據(jù)庫(kù)、兼容 MySQL 5.7 協(xié)議和 MySQL 生態(tài)等重要特性。目標(biāo)是為用戶提供一站式 OLTP (Online Transactional Processing)、OLAP (Online Analytical Processing)、HTAP 解決方案。TiDB 適合高可用、強(qiáng)一致要求較高、數(shù)據(jù)規(guī)模較大等各種應(yīng)用場(chǎng)景。

創(chuàng)新互聯(lián)于2013年開(kāi)始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站制作、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元崇信做網(wǎng)站,已為上家服務(wù),為崇信各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18980820575

UCloud 于今年 8 月 將 TiDB 公有云化并推出 UCloud TiDB Service,當(dāng)前使用的 TiDB 版本為 3.0.5 。UCloud TiDB Service 相比裸機(jī)部署性能并無(wú)損耗,提供跨可用區(qū)高可用,對(duì)監(jiān)控和 Binlog 等做了改造增強(qiáng),使用戶可獲得一鍵創(chuàng)建、按需付費(fèi)、靈活擴(kuò)縮容的 TiDB 服務(wù)。

UCloud TiDB Service

為什么叫 UCloud TiDB Service?這里強(qiáng)調(diào) Service 是因?yàn)閺墓性朴脩舻慕嵌葋?lái)看,TiDB 運(yùn)行在公有云平臺(tái)上,其實(shí)是以服務(wù)的形式呈現(xiàn)而不是一個(gè)物理資源。UCloud TiDB Service 是一個(gè)支持原生 MySQL 協(xié)議的,高性能、跨可用區(qū)高可用、高可擴(kuò)展的,面向 Serverless 的分布式數(shù)據(jù)庫(kù)服務(wù)。

UCloud TiDB Service是什么

兼容原生 MySQL 協(xié)議

大多數(shù)情況下,無(wú)需修改代碼即可從 MySQL 輕松遷移至 TiDB,分庫(kù)分表后的 MySQL 集群亦可通過(guò) TiDB 工具進(jìn)行實(shí)時(shí)遷移。

跨可用區(qū)高可用

TiDB 本身雖具備一定高可用性,但一般用戶沒(méi)有跨可用區(qū)部署條件。UCloud TiDB Service 的所有組件都是跨可用區(qū)部署。TiDB 所有模塊的多實(shí)例部署能力,結(jié)合 UCloud 跨可用區(qū)部署能力,UCloud TiDB Service 可抵御可用區(qū)級(jí)故障。

動(dòng)態(tài)擴(kuò)展

TiDB 無(wú)論是計(jì)算節(jié)點(diǎn)還是存儲(chǔ)節(jié)點(diǎn)都可以實(shí)現(xiàn)水平擴(kuò)展,通過(guò)簡(jiǎn)單地增加新節(jié)點(diǎn)即可按需擴(kuò)展吞吐或存儲(chǔ),輕松應(yīng)對(duì)高并發(fā)、海量數(shù)據(jù)場(chǎng)景。

Serverless

Serverless 的產(chǎn)品形態(tài)讓用戶更加簡(jiǎn)單快捷的使用到 TiDB,無(wú)需關(guān)心底層的物理資源,也無(wú)需關(guān)心底層分布部署的細(xì)節(jié)。

按需付費(fèi),接入成本低

無(wú)需指定 CPU、內(nèi)存、硬盤等資源,用戶只需按實(shí)際使用的硬盤和存儲(chǔ)量進(jìn)行付費(fèi),節(jié)省了前期的硬件成本投入。

性能對(duì)比

我們做了一個(gè)測(cè)試,在相同物理配置(Intel Xeon E5-2620 v4, DDR4_16GB_2400MHz x12, U.2_NVMe_3.2TB x2 )和相同軟件部署(TiDB x3, TiKV x3, PD x3 )情況下,測(cè)試條件為 sysbench 512 threads, 32 tables, 1000 萬(wàn)行。在裸機(jī)上部署 TiDB 和 UCloud TiDB Service 的性能對(duì)比如下表所示:

UCloud TiDB Service是什么

結(jié)果表明各項(xiàng)指標(biāo)基本一致,UCloud TiDB Service 和裸機(jī)部署相比較,并沒(méi)有帶來(lái)性能損耗,有些指標(biāo)表現(xiàn)略好。而在這背后,UCloud 公有云后臺(tái)做了哪些事情呢?

打造分布式數(shù)據(jù)庫(kù) PaaS 平臺(tái)

UCloud TiDB Service是什么

UCloud 內(nèi)部做了一個(gè)分布式數(shù)據(jù)庫(kù)的 PaaS 平臺(tái)(如上圖),在管理功能上,左邊第一部分有物理機(jī)的資源管理,包括每次創(chuàng)建實(shí)例的時(shí)候資源分配以及實(shí)例刪除以后資源回收等等操作。第二部分是集群部署,一個(gè)創(chuàng)建過(guò)程先選取合適的物理機(jī),檢測(cè)上面的資源是否滿足,滿足以后分配特定的一些資源出來(lái),然后再執(zhí)行相應(yīng)的創(chuàng)建工作,這里面要?jiǎng)?chuàng)建 TiDB 集群,相應(yīng)的監(jiān)控、LB 層,以及部署在公有云上都是運(yùn)行在用戶 VPC 里面,需要做 VPC 網(wǎng)絡(luò)初使化等工作。第三部分是集群維護(hù),比如某臺(tái)物理機(jī)有異常,就要把所有服務(wù)遷移到其他的節(jié)點(diǎn)面去。這里面主要涉及的是遷移、擴(kuò)展、縮容這些工作。

右邊是監(jiān)控告警,主要用于對(duì)一些異常情況的及時(shí)通知告警管理;還有運(yùn)營(yíng)分析這塊是 UCloud 數(shù)據(jù)庫(kù)運(yùn)營(yíng)方面的管理。備份管理負(fù)責(zé)數(shù)據(jù)庫(kù)的備份與恢復(fù),用戶可以設(shè)置比較詳細(xì)的備份策略,比如何時(shí)備份如何備份等。

原生協(xié)議是 MySQL 本來(lái)的數(shù)據(jù)流,在這里我們加了一層負(fù)載均衡,主要有兩個(gè)目的:一個(gè)是把 IP 地址統(tǒng)一成一個(gè),用戶不需要管理 IP 地址的切換;另外針對(duì)公有云服務(wù)傳輸做一些控制,主要是帳號(hào)和系統(tǒng)方面的控制。

跨可用區(qū)部署實(shí)現(xiàn)高可用

TiDB 整體是由分布式 SQL 層(TiDB)、分布式 KV 存儲(chǔ)引擎(TiKV)以及管理整個(gè)集群的 PD 模塊組成。如圖我們將 TiDB 的 所有組件進(jìn)行跨可用區(qū)部署,并且提供單一高可用接入地址,單一地址的好處是用戶不需要關(guān)注多地址,也不需要做地址之間的切換,另外一個(gè)好處是整個(gè)容災(zāi)過(guò)程對(duì)業(yè)務(wù)完全透明,比如要增加 / 縮掉一個(gè) TiDB 節(jié)點(diǎn),或者要遷移到另外一臺(tái)機(jī)器時(shí)。有了統(tǒng)一地址虛 IP 之后,業(yè)務(wù)就完全不用考慮地址,所有的操作對(duì)用戶完全透明。

UCloud TiDB Service是什么

對(duì)監(jiān)控的改造

TiDB 本身使用了 Prometheus 作為監(jiān)控和性能指標(biāo)信息收集方案、Grafana 作為可視化組件進(jìn)行展示、Alertmanager 用于實(shí)現(xiàn)報(bào)警機(jī)制,但是都是單點(diǎn)部署, 并不具備容災(zāi)能力。我們將這三個(gè)模塊都進(jìn)行了高可用改造。大家知道,Grafana 本身是沒(méi)辦法使用 TiDB 存儲(chǔ)元數(shù)據(jù)的,我們對(duì) Grafana 源碼進(jìn)行了修改,改寫了大量 Multi-schema 語(yǔ)句,并且去掉了將字段改小的操作,從而支持了 Grafana 使用 TiDB 存儲(chǔ)元數(shù)據(jù)。

UCloud TiDB Service是什么

如圖是一個(gè)用戶業(yè)務(wù)監(jiān)控系統(tǒng),左邊有一個(gè) LB,兩個(gè) Grafana 節(jié)點(diǎn),我們通過(guò) LB 連到 Prometheus,從而實(shí)現(xiàn)遠(yuǎn)程高可用。

對(duì) Binlog 的改造

有這樣一個(gè)用戶場(chǎng)景,將 TiDB 數(shù)據(jù)導(dǎo)入已有的大數(shù)據(jù)集群作數(shù)據(jù)分析, 需要輸出到 Kafka 的日志格式為 json, 以便 Flink 消費(fèi)解析。由于 Binlog 是 PB 格式,目前提供的 driver 只支持 txt, mysql。

經(jīng)過(guò)我們對(duì) Binlogdriver 的改造之后,Binlog 支持輸出 Json 格式、支持將 Json 格式日志寫入 Kafka。

品質(zhì)改善和 Bug 修復(fù)

在打造 TiDB 服務(wù)期間,我們也相繼發(fā)現(xiàn)解決了原生 TiDB 的一些小問(wèn)題,從細(xì)節(jié)上提升產(chǎn)品品質(zhì)。其中很多在官方后續(xù)的新版本中也已經(jīng)陸續(xù)得到了改善和解決,例如:

Drainer 輸出 db.table 格式的語(yǔ)句 (fixed in 3.0);
TiDB 升級(jí)到 2.1 以后時(shí)區(qū)變化;
Syncer 在 retry 階段不處理 SIGTERM (fixed);
Syncer can’t decode set datatype (fixed);
Drainer 只寫一個(gè) partition 導(dǎo)致數(shù)據(jù)傾斜,我們可以啟動(dòng)多個(gè) drainer, 每個(gè) drainer 寫一個(gè) DB;
Raft store 單線程瓶頸 (fixed in 3.0);
Binlog 開(kāi)啟 / 關(guān)閉 10 分鐘內(nèi) DDL 慢 (fixed in 2.1.14)。
還有一些由于跟 MySQL 原生協(xié)議不同而導(dǎo)致語(yǔ)句理解上產(chǎn)生的問(wèn)題,比如 ID 分段自增、GC 時(shí)間導(dǎo)致連接中斷、事務(wù)條數(shù)限制(單條 KV entry 不超過(guò) 6MB、總條數(shù)不超過(guò) 30w、總大小不超過(guò) 100MB)、失敗自動(dòng)重試等。這些問(wèn)題經(jīng)過(guò) UCloud 內(nèi)部的長(zhǎng)時(shí)間打磨和積累,已經(jīng)達(dá)到了一個(gè)相對(duì)成熟和穩(wěn)定的形態(tài)。

TiDB 管理模塊

UCloud TiDB Service是什么

產(chǎn)品控制臺(tái)向用戶開(kāi)放了 TiDB 的管理模塊,分為四個(gè)部分:備份管理、恢復(fù)任務(wù)、用戶管理、Binlog 同步。具體如下:

備份管理:創(chuàng)建 TiDB 實(shí)例時(shí)可以選擇是否開(kāi)啟自動(dòng)備份策略,備份策略包括備份時(shí)間、自動(dòng)備份保留份數(shù)以及自動(dòng)備份周期。除了自動(dòng)備份,TiDB 還提供手動(dòng)備份選擇

UCloud TiDB Service是什么

恢復(fù)任務(wù):TiDB 當(dāng)前支持從備份文件恢復(fù)至一個(gè)新的 TiDB 實(shí)例,用戶需要提前準(zhǔn)備好新實(shí)例,恢復(fù)工作會(huì)覆蓋新實(shí)例數(shù)據(jù)。

用戶管理:TiDB 提供給用戶相應(yīng)的權(quán)限管理,包括新增用戶并初始化權(quán)限 、調(diào)整用戶權(quán)限、刪除非 root 用戶等。

Binlog 同步:可將 TiDB 的增量數(shù)據(jù)實(shí)時(shí)同步到其他存儲(chǔ)中,當(dāng)前支持 MySQL,TiDB 作為目標(biāo)存儲(chǔ)。

總結(jié)

可以說(shuō) TiDB 是為云而生的數(shù)據(jù)庫(kù),UCloud TiDB Service 在保證 TiDB 性能沒(méi)有損耗的前提下, 將 TiDB 以服務(wù)的形式提供給用戶, 降低了用戶使用門檻, 簡(jiǎn)化了用戶管理, 提高了容災(zāi)能力。未來(lái),UCloud 將繼續(xù)與 PingCAP 官方深度合作,致力于為云上數(shù)據(jù)庫(kù)創(chuàng)造更多可能性。

網(wǎng)站名稱:UCloudTiDBService是什么
文章來(lái)源:http://muchs.cn/article12/jepdgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、靜態(tài)網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、App設(shè)計(jì)、企業(yè)建站、搜索引擎優(yōu)化

廣告

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

h5響應(yīng)式網(wǎng)站建設(shè)