原來雲數據庫也是有思想的...

本文由一刻talks發表

邵宗文,騰訊雲數據庫專家副總監。十餘年數據庫從業經驗,2009年加入騰訊,曾負責騰訊網,新聞客戶端,快報,視頻,財經,體育等數據庫平臺部署、規劃及運維支持工做。本文是邵宗文在一刻talks第100場演講局「先見·將來大會」上的演講實錄。每一個行業對數據庫有不同的要求,雲上數據庫經過智能化運維,數據會愈來愈多,準確度也愈來愈高,模型也會愈來愈精準。騰訊雲上數據庫如何知足用戶多樣化的訴求?一塊兒來聽聽聽吧。數據庫

1緩存

爲用戶提供數據庫服務併發

你們下午好,我是一刻talks講者邵宗文。我今天給你們帶來的是關於雲上數據庫及智能DBA的分享。運維

咱們是怎麼給用戶很好的數據庫服務的?分佈式

首先咱們會給客戶按模塊劃分,好比它是電商的或者是金融的客戶,由於每一個行業它對數據庫的要求是不同的。金融的客戶,他會要求數據庫的強一致性,對吧?數據是不能丟失的。若是說是一些電商,它有一些雙11的活動,它可能會要求數據庫有瞬間的這種支撐高併發的能力。高併發

而後首先經過第一步,先讓用戶可以遷移上雲,而且可以在咱們的雲上直接進行數據的快速傳遞和搬遷。第二,經過智能化的一些運維,如今還在持續不斷作,由於智能不斷進化,隨着你數據愈來愈多,你的準確度會愈來愈高,你的模型會愈來愈精準。工具

咱們幫助客戶支撐這麼大的數據量以後,用戶可能會有更多的想法。性能

好比說這些數據能不能進行商業的分析,對吧?能不能訂閱到他本身的一些商業專用的數據庫裏面去,挖掘出這些數據的價值。有時候爲了時效,他想能不能延遲比較低一點,可能幾秒,幾十秒就能把個人這些數據傳到個人商業數據分析裏面去,可能能作到實時的一些推薦,幫助客戶可以在這種競爭激烈的這種行業中能脫穎而出。優化

另外咱們也能看到雲也是一個生態,它不光是說我把數據庫作好就OK了,不少用戶多是須要這種生態來幫他解決問題。好比說有些金融客戶還有審計的需求;有些遊戲客戶也須要經過審計來查找,有沒有人在盜用、盜取他們的數據;有一些客戶可能須要這種相關的快速備份和恢復,好比一些遊戲要不斷地升級它的版本的時候,須要快速的備份。日誌

另外咱們也須要支持豐富的多類型數據庫。像咱們用到一些遷移的亮點,就是能支持數據庫的多種類型。由於數據庫也是不斷在升級迭代版本,因此說雲的話纔有這樣的人力去作這樣的事情。不然像一家小公司它可能開發人員也很是少,若是還去投入去作這種維護各類版本升級的工做,實際上是得不償失的。

2

數據遷移到騰訊雲

咱們能支持有用戶本身在本地機房遷移過來,也能夠經過用戶說我從其餘雲上遷移過來。由於你們可能擔憂在一個雲上,可能萬一出問題,個人數據什麼都沒有了。

另外咱們有自建的,由於剛開始可能用戶說我可能對你的雲數據庫不太瞭解,對吧?我原來是什麼樣的,我如今放下來我仍是什麼樣,我用CDM自建,可是自建的過程當中可能他感受到,就像我拜訪一個客戶的時候,他感受到你的訂閱功能很是好用,若是我本身去搭,或者我本身去維護的話,個人成本是很是高的,可能須要投入兩個研發同窗去作這樣的一些組件。

而後還有跨區。你們也知道咱們騰訊是有很是多的海外機房,或還有不少像東京,像其餘國家這種資源,不少的公司要出海,他若是是本身去建,成本也是很是高。因此說經過咱們遷移能夠實現整個世界的打通。

3

數據庫審計

用戶遇到審計的問題,首先你要審計記下來,存儲量也是很是驚人的,就是你們知道每一個請求的操做,正常狀況下是記不住的。它可能只記一些慢日誌,或者只直接寫操做,咱們要把這讀寫所有記下來。這個存儲成本是要求很是高,須要一個分佈式的存儲來支撐這個量。

咱們也是有這樣的,騰訊基於這樣的一個技術背景,其實徹底可以幫助到用戶去解決這樣的存儲問題。幾十億條、幾百億條數據,我要查一個什麼狀態的數據,我能不能快速地去查到,這個也是須要咱們這個系統,可以強勁地支持。經過咱們研發同窗的不斷努力,也是實現了這樣的一個快速的響應,在30億級的數據量狀況下,差很少6到8秒的響應。

審計應用場景,就是國家三級甲等的一些要求,還有一些是技術人員的風險,另外還有一些技術的這種SQL注入的問題。

這是一個大概的簡單的一個界面,就是能夠看到咱們對誰作了哪些SQL命令,能夠進行一個查找,而且能夠快速地知道都有哪一個時間點,哪一個用戶作的這樣操做,避免了之前出現沒有這種審計狀況下,咱們須要大海撈針同樣去找。

而後多是某個同窗誤操做了,他可能不認可,如今的話有這樣的一套系統能幫助你快速的去尋找這些痛點。

而後還有支持不少命令,好比說某個ID的話,我還要知道超過多少毫秒的到底有多少,這樣能夠幫助它能夠解決一些慢日誌的問題。

4

數據訂閱

如今不少公司對數據重視起來。咱們的數據訂閱,針對用戶能夠作可配置化,他說我能夠須要訂閱哪些庫,哪些表,由於有些全訂閱也沒有必要。基於咱們通用的一些像,能夠把咱們的數據訂閱到Kafka,Kafka是一個很是通用的數據的中間存儲,你能夠經過Kafka去消費到你的各類相關的一些商業的數據庫裏面去。

我能夠在數據庫作一個操做,而後經過個人數據定義功能,立刻Kafka的主題就收到了我這個數據庫的Insert操做。這樣的話能夠根據這種固定的格式,我能夠把這個數據轉到好比說像Redis,對吧?我能夠只寫一個數據庫,我就能夠操縱個人中間緩存,或者我經過個人數據庫直接能夠到個人數據的倉庫,而不須要說我還要再額外的去作不少額外的成本,這是我剛纔說的,就是基於經過個人對數據庫的增刪改查,去影響到個人緩存,下降開發者的這種縮短開發的一些工做內容。

另外還有數據訂閱的別的場景,就是用戶能夠經過,好比說我沒有在你的雲上數據庫,但我能夠經過自建遷移,而後遷移到你這個數據庫,而後在這個數據上去開啓咱們的這樣的一個訂閱。對已有的數據庫,我又不想在我主庫上影響性能的話,你能夠再從庫上,咱們也能夠進行這樣數據訂閱。外部的,這種經過咱們的遷移工具,而後能夠經過外部雲上遷到咱們這,而後咱們也能夠幫他實現這樣一個數據的功能。

5

智能DBA

最後咱們如今結合本次主題的亮點就是智能DBA,由於我剛纔說到了,咱們如今雲上有大量的這種用戶業務,就是說有很是多的用戶業務,而後可能有近百萬家的企業在雲上。

若是說讓用戶進來給他的不少的數據是比較抽象的,好比說多少毫秒的延遲,多少的慢日誌數,其實用戶是無感知的,由於不少用戶是小白用戶,他可能會想到能不能告訴我,我總體這個業務如今質量得分是多少,對吧?0到100是滿分,我如今是90分,我可能很開心,個人業務是穩定的,若是說50分是否是個人業務就有問題了,我得查一查是什麼緣由。

因此說咱們去作這樣的一些智能方向,就是把全部的大量的數據,可能不少維度數據去作這樣的質量得分。而後另外咱們會把這些庫表,就是用戶常常會遇到這些問題,咱們會提早去分析。

可能有些用戶說我以前SQL語句什麼都沒改過,爲何我如今變得很是慢,那我可能會說有一個很好的比喻告訴他,就是你剛開始是個小孩的時候,你這件衣服是夠穿的,對吧?但你這個孩子是在不斷成長,你的業務也在不斷成長,可能原來一張表只有不到100萬的數據,如今一張表已經有1000萬的數據,這個衣服已經沒法承載你這個發展,因此說你的SQL語句雖然沒變,可是你的業務數據量發生了變化,因此你就成爲慢日誌了。因此你要去進行優化。

另外還有一個問題就是用戶說,我想知道好比說一些企業會作一些預算,我到底明年會用多少你的數據量,或者你的訪問量會有多少?咱們經過AI,咱們能夠跟進用戶,好比說半年內的數據,我能夠預測出來它將來半年或者將來幾個月,它的數據量可能會達到多少,或者它的訪問量好比說會比如今翻多少倍,這樣用戶大概對將來的訪問量有預知的話,他能夠提早作好一個規模的預算。

這個其實能夠看到,經過用質量得分的形式,就讓用戶知道個人訂單模塊,購物模塊目前是一個什麼樣的狀況,若是是90分,看看還有哪幾個是影響他的,大概他是什麼緣由。

而後另外就是咱們本身在不斷的嘗試一些demo,咱們會作一些模型出來,質量得分,而後告訴這多是什麼緣由,是cpu過分,多是一些複雜SQL,還有一些其餘的維度、碎片、索引是否合理。

而後另外我會對這種死索,就是數據庫常常會遇到問題,也會進行智能的分析。至關於用戶只要知道個人得分,而後順藤摸瓜,大概就能知道本身的問題,而後還能知道本身對應的請求SQL語句的問題。

今天個人分享就到這,而後以前我說的不少像智能化的這種數據,其實在騰訊已經很是多的在去推廣起來,若是你們可以儘快的去應用咱們雲的話,能夠節約不少的時間,像咱們的一個大客戶,就三年上市的某團,你們也看到了,他就是在咱們雲上,基於咱們的雲上的這種基礎服務,獲得了一個快速的發展。今天的分享就到此結束,謝謝你們。

此文已由做者受權騰訊雲+社區發佈

相關文章
相關標籤/搜索