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

資訊專欄INFORMATION COLUMN

專訪 | 黃東旭:如何運用 HTAP 數(shù)據(jù)庫幫到你?來聽聽 TiDB 的故事

Leck1e / 1930人閱讀

摘要:日前,我司黃東旭接受了即將開幕的全球軟件與運維技術(shù)峰會記者的采訪,介紹了作為數(shù)據(jù)庫的技術(shù)思考及應(yīng)用情況,以及自創(chuàng)立以來對開源的一些心得,以下是報道原文。黃東旭表示看到語言越來越火,感到非常的高興和欣慰。

日前,我司 CTO 黃東旭接受了即將開幕的 WOT2018 全球軟件與運維技術(shù)峰會記者的采訪,介紹了 TiDB 作為 HTAP 數(shù)據(jù)庫的技術(shù)思考及應(yīng)用情況,以及 PingCAP 自創(chuàng)立以來對開源的一些心得,以下是報道原文。Enjoy~

作者:查士加

創(chuàng)立 PingCAP 的理由異常簡單

黃東旭提到,自己與朋友一同創(chuàng)業(yè),理由很簡單,源自一個需求。彼時,黃東旭與劉奇(現(xiàn)任 PingCAP CEO)同屬豌豆莢的分布式存儲團隊,當(dāng)時的他們開源了 Codis,解決了豌豆莢內(nèi)部緩存的擴展性問題,數(shù)據(jù)庫問題成了硬骨頭。如何構(gòu)建一個對業(yè)務(wù)端透明,兼具良好的擴展性和完整的分布式事務(wù)支持的數(shù)據(jù)庫,是構(gòu)建新一代微服務(wù)架構(gòu)的核心問題之一。當(dāng)時,團隊在開源社區(qū)并沒有找到比較好的方案,分庫、分表、中間件,這些傳統(tǒng)做法在涉及到業(yè)務(wù)大的改動時會帶來很大的運維成本,如何徹底解決這個問題呢?

受當(dāng)時 Google 發(fā)表的一系列在分布式數(shù)據(jù)庫方面的論文(Spanner/F1)啟發(fā),PingCAP 的初創(chuàng)團隊打算從頭開始實現(xiàn)一個新一代的關(guān)系型數(shù)據(jù)庫,來解決關(guān)系型數(shù)據(jù)庫的擴展性問題。由此看來,PingCAP 創(chuàng)立的初衷很簡單,就是幾個工程師想要解決一個很困難的技術(shù)問題,同時想通過開源的方式幫到大家。

TiDB 研發(fā)早期經(jīng)歷的那些事兒

在 TiDB 研發(fā)早期,從 SQL 層開始,第一個開源的 TiDB 版本其實并沒有存儲引擎,后端存儲是 HBase,為了加入存儲層,也為了驗證 SQL 的正確性,PingCAP 團隊決定為 HBase 加入分布式事務(wù)的支持,直接對接在 TiDB SQL 層的后端,這種方法確實可行。但是考慮到性能和其他一些因素,PingCAP 很快決定用 Rust 重新實現(xiàn)一個全新的分布式存儲層,也就是后來的 TiKV。彼時 Rust 還是一門比較新的語言,且以學(xué)習(xí)曲線陡峭著稱,整個團隊成員都沒有相關(guān)經(jīng)驗,好在得到了 Rust 語言官方的諸多支持,PingCAP 和 Rust 語言共同成長了起來,如今,TiKV 已經(jīng)是 Rust 社區(qū)的明星項目,同時 PingCAP 也是多個知名項目(如 gRPC 等)的 Rust 語言開源實現(xiàn)的主要維護者。黃東旭表示看到 Rust 語言越來越火,感到非常的高興和欣慰。

PingCAP 是國內(nèi)首家開源的新型分布式數(shù)據(jù)庫公司,其獨立研發(fā)的分布式數(shù)據(jù)庫產(chǎn)品 TiDB 是一款定位于 HTAP(Hybrid Transactional/Analytical Processing)混合事務(wù)/分析處理數(shù)據(jù)庫的融合、創(chuàng)新型數(shù)據(jù)庫產(chǎn)品。為了實現(xiàn)這一目標(biāo),TiDB 在架構(gòu)上將計算和存儲層進行高度的抽象和分離,對混合負載的場景通過 IO 優(yōu)先級隊列,智能副本調(diào)度,行列混合存儲等技術(shù)使其變?yōu)榭赡?。另外,?TiSpark 項目中,將 TiDB 的存儲層和 Spark 的計算引擎高效地連接在一起,讓用戶也能夠在 Spark 生態(tài)系統(tǒng)下實時的對數(shù)據(jù)庫中的數(shù)據(jù)進行復(fù)雜分析。

黃東旭認為,HTAP 給開發(fā)者提供了一個實時數(shù)據(jù)分析方面的新思路,不需要再去維護另一個離線的數(shù)據(jù)倉庫,既減輕了 ETL 的工作,又能節(jié)省很大一部分的建立數(shù)據(jù)倉庫所用到的存儲和計算成本,HTAP 將是未來的重要趨勢。

HTAP 數(shù)據(jù)庫的三類應(yīng)用場景

一是大中臺的場景。例如,前臺的數(shù)據(jù)庫已經(jīng)分庫分表或已水平拆分,TiDB 可以作為所有線上生產(chǎn)庫的從庫,實時將數(shù)據(jù)同步到一個大的 TiDB 集群上,在這一層將數(shù)據(jù)打通,可以直接進行復(fù)雜的跨庫、跨表、跨業(yè)務(wù)的實時 SQL 查詢,由于這是基于 MySQL 的協(xié)議和語法,對業(yè)務(wù)的侵入性很小,開發(fā)者無需再去學(xué)習(xí)新的查詢語法。

二是為微服務(wù)提供強一致的持久化數(shù)據(jù)層(the source of truth)。其實微服務(wù)乃至后來的 Serverless 架構(gòu),一個核心的問題就是持久化數(shù)據(jù)層,要將無狀態(tài)的業(yè)務(wù)邏輯容器化、服務(wù)化很方便,但是帶狀態(tài)的存儲層在滿足 SQL 和強一致甚至 ACID 的情況下實現(xiàn)彈性伸縮,在現(xiàn)有的方案下仍十分困難,而 TiDB 可以完美的在這類架構(gòu)中填補這一空白。

三是 MySQL 分庫分表的完美替代品。TiDB 與 MySQL 的語法、MySQL 社區(qū)的工具(如 Mydumper/PhpMyAdmin 等)完美兼容,可讓 MySQL 應(yīng)用無需修改便可直接運行。這讓很多用了 MySQL 的業(yè)務(wù)在遇到大數(shù)據(jù)量的場景時,能夠無縫的切換。

TiDB 解決 MySQL 可擴展性的實現(xiàn)原理

TiDB 產(chǎn)品的整體架構(gòu)是分層的,由分布式 SQL 層(TiDB)、分布式 KV 存儲引擎(TiKV)以及管理整個集群的 PD 模塊組成。無限水平擴展是 TiDB 的一大特點,這里所說的水平擴展包括兩方面:計算能力和存儲能力。TiDB Server 負責(zé)處理 SQL 請求,隨著業(yè)務(wù)的增長,可以通過簡單的添加 TiDB Server 節(jié)點,在提升整體處理能力的同時,提供更高的吞吐能力。TiKV 負責(zé)存儲數(shù)據(jù),隨著數(shù)據(jù)量的增長,可以部署更多的 TiKV Server 節(jié)點,解決數(shù)據(jù) Scale 的問題。PD 會在 TiKV 節(jié)點之間以 Region 為單位進行調(diào)度,將部分數(shù)據(jù)遷移到新加的節(jié)點上。由此可見,企業(yè)在業(yè)務(wù)的早期可以只部署少量的服務(wù)實例,隨著業(yè)務(wù)量的增長,能夠便捷地按照需求添加 TiKV 或 TiDB 實例。

據(jù)介紹,目前,包括摩拜單車、同程旅游、餓了么、360 金融、游族網(wǎng)絡(luò)、今日頭條、蓋婭互娛、猿輔導(dǎo)、易果集團、去哪兒網(wǎng)等 200 余家不同行業(yè)的領(lǐng)先企業(yè)已經(jīng)將 TiDB 應(yīng)用在實際的生產(chǎn)環(huán)境中,涉及互聯(lián)網(wǎng)、游戲、金融、政府、電信、制造業(yè)等多個領(lǐng)域。

其中,今日頭條和易果集團都是比較典型的案例。

今日頭條:用 TiDB 替換原有的主從 MySQL 數(shù)據(jù)庫

以今日頭條為例,今日頭條 APP 的自研 S3 存儲系統(tǒng),數(shù)據(jù)量級已近上百億。在用 TiDB 前,今日頭條的元數(shù)據(jù)存在 MySQL 2.8TB 的磁盤里,因為數(shù)據(jù)量增長迅速,導(dǎo)致磁盤不夠用,只能用分庫分表的方案,當(dāng)時的方案是 MyCAT。但是分庫分表帶來一些問題,如:無法做 OLAP 分析;有丟數(shù)據(jù)的問題,數(shù)據(jù)雖然已經(jīng) commit,實際并沒有保存下來;還有連接的問題,有些業(yè)務(wù)沒有帶分片鍵的查詢,會消耗非常多的連接,造成沒有連接的情況。

如今,今日頭條使用 TiDB 替換了原有的主從 MySQL 數(shù)據(jù)庫,上線后效果非常明顯:

TiDB 支撐著今日頭條 OLTP 系統(tǒng)里數(shù)據(jù)流量較大、QPS 較高的場景。例如今日頭條、抖音;

QPS 一直在上升,目前均值十幾萬;

已經(jīng)穩(wěn)定運行近半年,做過一次擴容。

典型 OLTP+OLAP 混合場景案例

易果集團是一個典型的 OLTP+OLAP 混合場景的案例。在上線 TiDB 之前,易果集團的實時系統(tǒng)已經(jīng)遇到了瓶頸:

SQL Server 當(dāng)數(shù)據(jù)量到達一定階段,性能出現(xiàn)拐點,彈性擴展很難實現(xiàn);

HDFS+Hive+Spark+Presto+Kylin 方案在數(shù)據(jù)量增大的情況下,ETL 越來越慢,很難滿足更復(fù)雜的 OLAP 需求,與此同時,業(yè)務(wù)對實時或者準(zhǔn)實時的需求越來越強烈。

通過對 Greenplum、Kudu、TiDB 等多個方案的選型評估,最終易果集團選擇了 TiDB 的方案:使用 Flume、Syncer 數(shù)據(jù)實時同步到 TiDB,并使用 TiSpark 替換 Hadoop 進行實時數(shù)倉業(yè)務(wù)。目前,在 TiDB 的支持下,易果集團 T+1 數(shù)倉已升級為實時數(shù)倉,TiDB 天然的滿足了數(shù)據(jù)量線性擴展的問題,同時還節(jié)省了大量的運維成本。TiDB 作為一款 HTAP 數(shù)據(jù)庫,為易果集團創(chuàng)建實時、統(tǒng)一的混合數(shù)據(jù)庫提供了可能。

基礎(chǔ)軟件選擇開源社區(qū)戰(zhàn)略更加適宜

最后,黃東旭表示,開源是一種非常先進的軟件開發(fā)模式和推廣模式,對于基礎(chǔ)軟件來說,開源是一種很重要的手段。他引用了開源社區(qū)里流傳甚廣的一句話:只要眼睛足夠多,Bug 無處藏。從這個邏輯的角度來看,對于基礎(chǔ)軟件來說,用戶越多,使用場景越多,見過的 Workload 越多,得到相應(yīng)的反饋越多,這些來自一線的反饋能夠更好的讓你看清方向和產(chǎn)品存在的缺陷,更快的迭代以達到更加完美的狀態(tài),避免閉門造車;另外一方面,社區(qū)和生態(tài)會成為你最大的護城河,從而構(gòu)建真正的商業(yè)壁壘。黃東旭總結(jié),PingCAP 這幾年發(fā)展的如此之快,與他選擇了開源的戰(zhàn)略密不可分。

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

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

相關(guān)文章

  • 【開源訪談】黃東:“無人區(qū)”探索者,TiDB 前行之路

    摘要:日前,我司聯(lián)合創(chuàng)始人兼黃東旭接受了開源中國的開源訪談,公開解讀了的探索之路及未來方向。應(yīng)用場景上在行業(yè)內(nèi)使用更廣泛,目前涉及互聯(lián)網(wǎng)游戲金融政府電信制造業(yè)等多個領(lǐng)域。目前也與包括騰訊云在內(nèi)的多家公有云平臺完成了整合,提供公有云數(shù)據(jù)庫服務(wù)。 日前,我司聯(lián)合創(chuàng)始人兼 CTO 黃東旭接受了開源中國的【開源訪談】,公開解讀了 TiDB 的探索之路及未來方向。本文為專訪實錄~ :) 記者:王練 口...

    lixiang 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<