摘要:申礫老師的演講實(shí)錄正在整理中,后續(xù)會(huì)分享給大家同時(shí)在里面,我們還做了大量的改進(jìn)。
1 月 19 日 TiDB DevCon 2019 在北京圓滿落幕,超過 750 位熱情的社區(qū)伙伴參加了此次大會(huì)。會(huì)上我們首次全面展示了全新存儲(chǔ)引擎 Titan、新生態(tài)工具 TiFlash 以及 TiDB 在云上的進(jìn)展,同時(shí)宣布 TiDB-Lightning Toolset & TiDB-DM 兩大生態(tài)工具開源,并分享了 TiDB 3.0 的特性與未來規(guī)劃,描述了我們眼中未來數(shù)據(jù)庫的模樣。
此外,更有 11 位來自一線的 TiDB 用戶為大家分享了實(shí)踐經(jīng)驗(yàn)與踩過的「坑」,獲得了現(xiàn)場觀眾的陣陣掌聲。同時(shí),我們也為新晉 TiDB Committer 授予了證書,并為 2018 年最佳社區(qū)貢獻(xiàn)個(gè)人、最佳社區(qū)貢獻(xiàn)團(tuán)隊(duì)頒發(fā)了榮譽(yù)獎(jiǎng)杯。
錯(cuò)過現(xiàn)場的小伙伴不要太「傷心」,我們將挑選部分精彩實(shí)錄分享給大家,敬請期待哦~
以下為我司 CEO 劉奇在 TiDB DevCon 2019 上的 Opening Keynote 實(shí)錄。
首先我想特別感謝每一位來參加 TiDB DevCon 2019 的 Contributor 和用戶,還有對 TiDB 保持好奇的人。今天我主要想跟大家分享一下我們過去一年的一些發(fā)展情況,以及我們對于未來的一些想法。
Growth從圖 1 大家可以很清楚的看到 TiDB 在過去一年的增長。如果大家去對比一下 TiDB 增長曲線和其他同類產(chǎn)品、或者是上一代 NoSQL 產(chǎn)品的增長曲線會(huì)發(fā)現(xiàn),TiDB 是遙遙領(lǐng)先的。看完我們的 Contributor 增長和我們在 GitHub 上面的各種狀態(tài),在這里也特別感謝我們所有的那些正在使用 TiDB 的用戶。
圖 2 是過去一年,我們用戶自己去分享自己使用 TiDB 的一些經(jīng)驗(yàn)。我記得我們在籌辦這個(gè)會(huì)的時(shí)候,我說我有特別多想講的東西,掏心窩子的話特別多,能不能讓我多講講。我們市場的同學(xué)不太同意,說我們只有一天時(shí)間,我們應(yīng)該把更多的時(shí)間交給我們用戶,讓他們來分享他們自己的經(jīng)驗(yàn),交給在一線的同學(xué)。大家如果特別有興趣的話,可以去翻一翻我們用戶使用 TiDB 的一些經(jīng)驗(yàn)(https://pingcap.com/cases-cn/),里面有一些他們的踩坑經(jīng)驗(yàn),也有一些他們比較欣慰的點(diǎn),還有一些用戶吐槽的東西,所以我們在 2018 年年底的時(shí)候,搞了一次吐槽大會(huì),請幾個(gè)用戶過去瘋狂吐槽一下我們的產(chǎn)品。我們定了幾個(gè)原則,比如,只允許說缺點(diǎn),不允許說優(yōu)點(diǎn)。
這是海外的一些媒體對我們的報(bào)道(圖 3),大家可能也知道,我們?nèi)ツ昴昧?InfoWorld 評選的 Bossie Awards 最佳開源軟件獎(jiǎng),接下來的分享 Morgan 會(huì)介紹我們在海外的一些發(fā)展情況和我們的海外團(tuán)隊(duì)。
HTAP Rocks!在過去一年,我們最喜歡聽用戶講的一句話是什么?我們最喜歡聽的一句話是:你們搞得定嗎?我覺得這句話太好了,很多時(shí)候,我們突然會(huì)去跟用戶去講,你這是 OLAP,你這是 OLTP。其實(shí)用戶關(guān)心的是,你能不能搞定我的問題,而不是說你過來派了一堆專家,告訴我該怎么干。
在過去一年里,用戶在用 TiDB 的過程中,也會(huì)遇到很多的問題。比如說,OLTP 和 OLAP 的隔離怎么去做。所以我們在今年啟用了一個(gè)全新的 Design,在這個(gè) Design 里面是徹底地隔離 OLAP 和 OLTP 的 Workload。
我們曾經(jīng)見到很多爭論,也見到很多論文,說到底是行存好,還是列存好。如果大家去看知乎的話,這個(gè)討論現(xiàn)在還沒有休止:到底數(shù)據(jù)庫是應(yīng)該使用行存還是使用列存。而在我們現(xiàn)在的 Design 里面,我們會(huì)擱置這個(gè)爭議——為什么我們不能都有?
大家想一想,在多少年前,我們家里面還有固定電話,我們還在看紙質(zhì)書,我們聽歌用 MP3,我們可能想看一下自己今天跑了多少步,還得用一個(gè)專門的硬件或者運(yùn)動(dòng)設(shè)備。但是到今天,一部手機(jī)就搞定這一切。
在之前,我們可能線上需要用 MySQL,或者用 PG,中間我們可能需要用消息隊(duì)列,去把 binlog 或者 change feeds 都給弄出來,然后再弄到一個(gè) Data ware house 里面,在 Data ware house 里面去 Run。最終我們喪失了實(shí)時(shí)性,我們喪失了一致性。但是如果我們重新去想一下這個(gè)事情,這事兒就像當(dāng)初的手機(jī)和 MP3、紙質(zhì)書一樣的。到今天技術(shù)進(jìn)步到一定程度的時(shí)候,為什么我不能 OLTP/OLAP All in one ,我只是一個(gè)普通的用戶,我不想接受那么一堆東西,同時(shí)我要實(shí)時(shí)性,我現(xiàn)在要的,馬上就要。
當(dāng)然大的氛圍下面,吹牛的很多,但如果我不知道他是怎么 Work 的,通常我是不太放心的,所以我們用一個(gè)簡單的圖(圖 5)說一下,到底 OLAP 和 OLTP 的 Workload 是怎么隔離的。 在我們?nèi)碌?Design 里面,TiDB 的 engine——TiKV ,但是我們通過 Raft 協(xié)議,通過 learner 把數(shù)據(jù)復(fù)制出來一份,這份協(xié)議是實(shí)時(shí)通過 Raft 做復(fù)制,但是用列式來存儲(chǔ)。如果我們的優(yōu)化器變得更加聰明,當(dāng)一個(gè)查詢過來的時(shí)候,它不用再去糾結(jié),而是會(huì)根據(jù)這個(gè) Query 的特點(diǎn)、自動(dòng)根據(jù)這個(gè) SQL 去選擇到底是使用行存,還是使用列存,還是一部分使用行存,一部分使用列存,這樣就會(huì)帶來很多額外的好處。在這個(gè)圖上(圖 5)可以看到,Workload 是整個(gè)物理上是隔離的,是完全跑在不同的 Server 上面的。
這樣帶來的好處就非常明顯。我們就能夠同時(shí)去 Join 兩個(gè)不同格式的數(shù)據(jù),同時(shí)能得到所有的 OLAP 和 OLTP 的系統(tǒng)的好處,能得到一個(gè)更神奇的結(jié)果,就是它可以比 OLTP 系統(tǒng)跑的快;你可以在一個(gè) OLTP 的系統(tǒng),在傳統(tǒng)上面不可想象的、在下面去跑一個(gè)報(bào)表。所以今天我們也非常高興的去向大家推出我們新的 Design 和對應(yīng)的產(chǎn)品,這個(gè)產(chǎn)品叫 TiFlash。看過美劇 The Flash 的同學(xué)知道閃電俠,這個(gè)名稱是為了形容它的速度,因?yàn)樗质?TiDB 的 Ti 系列家族中的一員,所以我們給他取名叫 TiFlash,下午會(huì)有一個(gè)非常非常 Amazing 的環(huán)節(jié)會(huì)去展示整個(gè) TiFlash。大家可以保持期待,這個(gè)一定不會(huì)讓大家失望。我昨天看了一下演示,非常震撼。
TiDB 3.0 Beta有關(guān)注我們微信公眾號的同學(xué)會(huì)發(fā)現(xiàn),在今天早上(1 月 19 日)我們發(fā)布了?3.0 Bata 版本,在 3.0 里面,我們發(fā)布了大量的新特性,比如去年在 DevCon 上面,我承諾給大家的,我們會(huì)支持 Window Fuction、支持 View、支持 Partition,這些東西現(xiàn)在統(tǒng)統(tǒng)都有了。同時(shí)我們還有一些新的東西是之前沒有的,比如說?Plan binding,就是綁定執(zhí)行計(jì)劃,這里也是特別感謝美團(tuán)同學(xué)的 Contribution,讓我們能夠支持到新的特性。這些特性,稍后申礫老師會(huì)給大家分享詳細(xì)的細(xì)節(jié),這邊我就先跳過。(申礫老師的演講實(shí)錄正在整理中,后續(xù)會(huì)分享給大家~)
同時(shí)在 3.0 里面,我們還做了大量的改進(jìn)。
大家知道,過去一年有那么多 TiDB 用戶,其實(shí)他們也有頭疼的地方。就是 TiDB 的執(zhí)行計(jì)劃跟 TiDB 的統(tǒng)計(jì)信息是高度相關(guān)的,有時(shí)候會(huì)遇到執(zhí)行計(jì)劃產(chǎn)生變化。所以 2019 年的 Q1,我們將會(huì)花大量的時(shí)間,去讓這個(gè)執(zhí)行計(jì)劃變的更加穩(wěn)定。 同時(shí)為了便于大家去查看這些慢查詢,我們做了一個(gè)非常漂亮的 Query Tracing 的界面,上午申礫的分享也會(huì)去介紹這個(gè)非常漂亮的界面,讓大家看到,一個(gè)復(fù)雜的 Query 下去,最終在每一步耗了多長時(shí)間,還有個(gè)非常漂亮的樹形圖。
然后我們也解決了過去一年,我們 Raft Store 是一個(gè)單線程的問題。我覺得這個(gè)需要消耗大量的時(shí)間和精力。我記得我們當(dāng)初做 Region split 的時(shí)候好像沒花多久,分裂可能做一個(gè)月,然后 merge 做了一年,多線程這個(gè)也差不多做了一年。
前一陣大家可能也知道業(yè)內(nèi)出現(xiàn)過刪庫跑路的事情。當(dāng)時(shí)我們也非常震驚,我就想從我們的層面上能做哪些事情?所以,我們在 3.0 里面提供了一個(gè)新的功能,叫 Admin restore table,如果你一不小心把一個(gè)數(shù)據(jù)庫,或者把一個(gè) table 給刪了,只要還沒有對數(shù)據(jù)做垃圾收集、沒有徹底喪失之前,你還可以一個(gè)命令,馬上恢復(fù)這個(gè)數(shù)據(jù)庫。
當(dāng)然通常聊到一個(gè)新版本的時(shí)候,大家最關(guān)心的就是,不服跑個(gè)分。所以呢,我們也在最簡單最基礎(chǔ)的環(huán)境下跑了個(gè)分,圖 7 是 3.0 版本與 2.1 版本的對比。大家知道我們在前不久發(fā)布了 2.1,大家可以看到,整體的 Performance 的提升非常的明顯,基本上直接 Double 了。大家在實(shí)測的過程中,應(yīng)該會(huì)測出比 Double 更高的性能。
當(dāng)然這個(gè) Performance 的提升,里面有很大一部分是我們一個(gè)新的 Storage 的貢獻(xiàn)。新的 Storage 叫 Titan。我們也是非常有意思的和美圖基于 TiKV 開發(fā)的一個(gè) Redis 的實(shí)現(xiàn),使用了一樣的名字。大家對于這個(gè)希臘神話的熱愛,其實(shí)是一樣的。程序員在選名字的時(shí)候,也都有自己的特點(diǎn),所以大家就重名了,重名之后,我們還討論了一下,覺得這個(gè)名字要不要考慮改一下,后來大家覺得既然都挺喜歡,要不然都用這個(gè)吧,我們覺得這也挺好。
然后整個(gè)新的存儲(chǔ)引擎的 Design 是這樣(圖 9),我們把 Key 和 Value 做了分離。大家知道,去年我們在做論文分享的時(shí)候,有一次專門分享了 《WiscKey: Separating Keys from Values in SSD-conscious Storage》 這篇論文,也是非常感謝這篇論文。Titan 整體上是基于 RocksDB 去做的一個(gè)修改或者是一個(gè)優(yōu)化,更多的是在 RocksDB 的外圍實(shí)現(xiàn)了 Key Value 分離,主要是適應(yīng)于更大的 Value。
下面是 Titan 的 Performance 跑分。大家看到整體的提升都會(huì)非常的明顯,從兩倍到 N 倍吧,這個(gè) N 的多少,取決于 Value 最終有多大,Value 越大的話,N 會(huì)越大(延伸閱讀:《Titan 的設(shè)計(jì)與實(shí)現(xiàn)》)。
說了這么多,那么在一個(gè)云的時(shí)代我們到底是怎樣去擁抱云的。
大家知道 TiDB 在最初 Design 的時(shí)候,就是為 Cloud 做了大量的優(yōu)化,同時(shí)在三年前我們就相信 Kubernetes 是未來,然后 TiDB 整個(gè)就 All-in Kubernetes 了。所以我們一直在等著 Cloud 出一個(gè)功能,就是 Cloud 能不能夠支持 Native Kubernetes Engine,后來我們看到了 Google 發(fā)布了他們的 Kubernetes Engine。所以我們第一時(shí)間和 Google 的 K8s 做了一個(gè)集成,同時(shí)大家現(xiàn)在也可以去訪問 Google 云平臺(Google Cloud Platform),去試用我們的產(chǎn)品(https://pingcap.com/tidb-cloud/),在那上面真的是一鍵就可以跑起一個(gè)集群,然后都可以由我們來 maintain 整個(gè) TiDB,相當(dāng)于我們現(xiàn)在有一個(gè) TiDB On Cloud。接下來也會(huì)支持 AWS 和 Azure。
其實(shí)之前有部分同學(xué)都提過,TiDB 做得挺好的為什么不做一套漂亮的界面,然后它的易用性會(huì)更佳,更重要的是支持多租戶。美團(tuán)今天也會(huì)分享他們在使用 TiDB 的經(jīng)驗(yàn),當(dāng)我們一個(gè)集群,兩個(gè)集群,十個(gè)集群,二十個(gè)集群,一百個(gè)集群的時(shí)候怎么辦,那么多集群,我怎么用一個(gè)簡單的方式去維護(hù),那這個(gè)時(shí)候就需要一套 Database as Service 的東西,能夠去幫我管理整個(gè)公司的所有 TiDB 集群。所以對于多租戶的支持就變得非常有用。同時(shí)也會(huì)做自動(dòng)的 Backup 和 Recover。
What’s Next那我們下一步會(huì)有什么不一樣的地方?我們剛才提到 3.0 版本有這么多讓人非常興奮的功能,有這么多的巨大改進(jìn),什么時(shí)候能夠把他用到產(chǎn)品里面,是大家接下來關(guān)心的一個(gè)問題。
首先我們會(huì)在今年的 6 月份發(fā)布第一個(gè) 3.0 的 GA。目前正在不同的用戶場景下做大量的測試,通過不同的 Workload ?做測試。
另外,大家知道,我們?nèi)ツ陮懥艘粋€(gè) 24 章經(jīng)——就是 TiDB 源碼閱讀系列文章,我們寫了 24 篇,如果熟悉金庸先生的話應(yīng)該知道 42 章經(jīng),今年我們開始為 TiKV 準(zhǔn)備 24 章經(jīng),會(huì)去詳細(xì)解讀 TiKV 源碼的實(shí)現(xiàn)。著名 IT 作家、譯者侯捷大師說:「源碼面前,了無秘密」。我希望大家對于 TiDB 的理解能夠深入骨髓。能夠自己隨意去 Hack 我們的東西,能為整個(gè) TiDB Community 貢獻(xiàn)更多東西。
同時(shí)我們也會(huì)提供更加智能的、基于機(jī)器學(xué)習(xí)的功能。如果大家之前有關(guān)注我們的黑客馬拉松,會(huì)發(fā)現(xiàn)我們實(shí)現(xiàn)第一個(gè) prototype,是用貝葉斯模型做智能的熱點(diǎn)的調(diào)度。大家以后應(yīng)該會(huì)跟“人工看熱點(diǎn)調(diào)度,再人工 split ”這事兒 say goodbye 了。
最后,當(dāng)我們有大量的用戶,有大量的使用場景,有大量的經(jīng)驗(yàn)的時(shí)候,我們需要一個(gè)更加強(qiáng)大的 Community 和一個(gè)更加強(qiáng)大的 Ecosystem。今天崔秋老師也會(huì)去講我們整個(gè) Community 的運(yùn)轉(zhuǎn)并為新晉 Committer 授予證書。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/17898.html
摘要:在上,我司聯(lián)合創(chuàng)始人兼黃東旭分享了對數(shù)據(jù)庫行業(yè)大趨勢以及未來數(shù)據(jù)庫技術(shù)的看法。如果我想看看美國的消費(fèi)者里面有哪些在中國有過消費(fèi)的,就是這么一條。 在 TiDB DevCon 2019 上,我司聯(lián)合創(chuàng)始人兼 CTO 黃東旭分享了對數(shù)據(jù)庫行業(yè)大趨勢以及未來數(shù)據(jù)庫技術(shù)的看法。以下是演講實(shí)錄,enjoy~ showImg(https://segmentfault.com/img/remote/...
摘要:在上,我司聯(lián)合創(chuàng)始人兼黃東旭分享了對數(shù)據(jù)庫行業(yè)大趨勢以及未來數(shù)據(jù)庫技術(shù)的看法。如果我想看看美國的消費(fèi)者里面有哪些在中國有過消費(fèi)的,就是這么一條。 在 TiDB DevCon 2019 上,我司聯(lián)合創(chuàng)始人兼 CTO 黃東旭分享了對數(shù)據(jù)庫行業(yè)大趨勢以及未來數(shù)據(jù)庫技術(shù)的看法。以下是演講實(shí)錄,enjoy~ showImg(https://segmentfault.com/img/remote/...
閱讀 1302·2023-04-25 19:33
閱讀 1184·2021-10-21 09:39
閱讀 3656·2021-09-09 09:32
閱讀 2636·2019-08-30 10:58
閱讀 1643·2019-08-29 16:17
閱讀 890·2019-08-29 15:29
閱讀 2904·2019-08-26 11:55
閱讀 2671·2019-08-26 10:33