數據,是互聯網公司的核心資產之一。那麼,這些核心資產背後,是哪些人在收集數據、存儲數據、處理數據、管理數據、使用數據、保證數據安全的呢?——是「數據工匠」們!web
2020年7月28日~8月6日,雲+社區(騰訊雲官方開發者社區)主辦的線上技術沙龍——數據工匠,已圓滿落幕。10位技術大咖現身分享,與開發者互動交流,深度講解了有贊技術中臺、騰訊雲Elasticsearch、數據安全中臺、ClickHouse、騰訊雲數據庫MySQL 8.0、雲原生消息隊列、數據庫自治服務等多個專題。另有三位嘉賓同臺,就「如何成爲優秀架構師」這一開放命題,展開多維探討。算法
隨着直播電商行業的興盛,有贊業務高速發展。但同時數據倉庫中存儲資源和計算資源消耗也很是高,甚至一度超過了整個平臺業務的增速,這顯然不是一個可持續發展的態勢。數據庫
有贊技術副總裁沈淦首先帶咱們一塊兒回顧了去年有贊業務高速發展時遇到的困境,並向你們分享了他們在數據中臺成本治理上的實踐。編程
針對原數據中臺資源水位低、擴縮容成本高、存儲瓶頸、離線計算浪費、成員缺乏成本意識等問題,有贊從五個方面出發進行了成本的綜合治理。安全
首先是制定利用率標準,確認利用率在什麼水位是合理的,根據不一樣的集羣和環境來設定不一樣的水位。其次根據水位來決定縮容或者降配,充分利用機器資源。接着對機型進行優化,統一集羣機型。最後是延時啓動,削峯填谷,任務分級,避免在高峯期爭搶資源,在空閒時間作數據重刷。性能優化
容器化在不少方面會提供很是好的支撐,首先在擴縮容方面。有贊和騰訊雲合做,把採購的 API 打通,這樣就能夠經過調度策略來進行擴縮容,比之前按月的採購方式效率更高、成本更低。另外經過容器化,也能夠很方便的實現存儲與計算分離。服務器
冷備數據分離,存儲到騰訊雲COS上,比起獨立集羣存儲,節省80%的成本。啓用Hive數據生命週期管理,90%以上的分區表,能夠作歷史分區清理,節省20%以上的存儲空間。同時優化存儲壓縮倍率,依據 hadoop3.x 版本 EC編碼特徵,3備份僅須要 1.5倍的空間。網絡
從數據下線、任務調優、高轉低頻、數據替換、小文件合併、延遲啓動這六個方面對離線任務進行優化,有贊團隊形象稱之爲「六脈神劍」。session
針對團隊成員資源使用大手大腳、缺少成本意識等問題,有贊技術團隊創新了成本運營機制。創建成本量化模型,對於不一樣資源設立不一樣的成本單價,經過Spark架構
採集計算資源和運營宣導等方式,讓團隊每一個成員切實感覺到資源的損耗,下意識開始增強成本意識。
通過此番成本治理實踐,有贊數據中臺無論是在總體資源的利用率仍是計算性能上都有很大的提高,同時極大下降了存儲成本,幫助團隊成員提高了成本意識,自主降本比例超過了25%,取得了積極的進展。
爲了幫助騰訊會議質量團隊快速精準地定位分析問題,須要大量運行時的會議質量數據支撐,如網絡相關的入網類型、碼率、丟包率等。另外一方面,藉助多維分析,能夠在實時數據中挖掘出異常狀況,經過dashboard或數據報表的形式,幫助會議質量團隊及時掌控全局狀況,快速發現潛在問題。
可是隨着騰訊會議用戶激增,在高壓力、高吞吐的環境下,基於ES的會議服務質量分析系統承受了極大的壓力,而且寫入性能出現了不足......騰訊雲Elasticsearch技術專家張彬面向廣大在線聽衆,分享了他們在騰訊會議服務質量分析系統上的優化實踐。
針對高併發場景的優化方案是服務限流。除了要能控制併發請求數量,還要能精準地控制內存資源,由於內存資源不足是主要的矛盾。另外通用性要強,能做用於各個層級實現全鏈限流。
具體是基於內存資源的漏桶策略,將節點 JVM 內存做爲漏桶的資源,當內存資源足夠的時候,請求能夠正常處理;當內存使用量到達必定閾值的時候分區間階梯式平滑限流。以下圖中淺黃色的區間限制寫入,深黃色的區間限制查詢,底部紅色部分做爲預留 buffer,預留給處理中的請求、merge 等操做,以保證節點內存的安全性。
除此以外,騰訊雲ES還在大聚合查詢、多可用區部署、數據合併策略以及大吞吐寫入方面,結合原生方案和社區調研,作出了獨具一格的優化。除了在高可用和性能方面的調優,騰訊雲ES在低成本解決方案上也給出了本身的答卷。
騰訊雲自身的監控系統也是ES 作的,對於一些特別大的地域集羣,寫入速度高達千萬級每秒,須要承擔1500臺物理機的成本預算。經過冷熱分離、生命週期管理、多盤策略、COS冷備等方式,極大下降了存儲成本,本來須要1500臺機器才能完成的工做優化後僅須要兩三百臺。
隨着企業上雲和數字化轉型升級的深化,數據正在成爲企業的核心資產之一,在生產過程當中發揮的價值愈來愈大。騰訊安全雲鼎實驗室專家姬生利在直播間爲你們細數了企業數據安全風險以及國內密碼應用現狀,除了業務上的安全挑戰,還有安全合規方面的要求。
企業數據安全面臨着諸多難題:
從數據安全生命週期來看,有着分類、治理和策略方面的難點;從開發運營過程當中來看,數據有容易泄露的風險,好比開發意識疏忽,泄露源代碼中包含的敏感憑據和密鑰、測試暴露高風險的測試數據庫訪問端口和弱帳號等。測試:暴露高風險的測試數據庫訪問端口和弱帳號等。
從應用服務的構成來看,數據從產生、傳輸、存儲、處理,到共享展現,每個環節都存在數據泄露的風險,涉及數據安全保障:
本地敏感數據存儲安全、網絡通道的安全、配置文件和硬編碼敏感信息的安全、密鑰的安全管理、雲上數據的存儲安全、金融支付等敏感應用的安全合規問題、數據的共享、展現脫敏的問題等。此外,雲架構下數據加密及密鑰管理也面臨多種挑戰。
騰訊雲數據安全中臺具有三大能力,全數據生命週期支持、完整的雲產品生態集成、國密與 FIPS 標準的支持。騰訊雲數據安全中臺還能提供極簡的加密 API 和 SDK 服務,讓用戶得以使用最小的工做量,極簡地實現對雲上數據的加密保護。
對於雲上數據安全應用方案,須要保管的核心內容就是密鑰,密鑰存放在硬編碼配置文件裏面,是寫在代碼裏面的,這種狀況下配置文件泄漏或者代碼泄漏,密鑰也會隨之泄漏,密鑰的丟失致使數據的密文再也不安全,所以使用加密算法須要使用密鑰管理系統(KMS)來對密鑰進行統一管理。
KMS是雲平臺和產品合規的基礎安全組件,海外用戶須要知足FIPS-140-2標準,國內用戶須要支持國密。KMS能爲用戶提供安全合規的密鑰保障、敏感數據加密、高性能本地數據加密等能力,支持BYOK、白盒密鑰管理,還能無縫集成雲產品,實現雲上數據透明加密。
除了KMS以外,騰訊雲數據安全中臺還集成了憑據管理系統、雲加密機、數據庫加密等能力,爲用戶的數據安全保駕護航。
ClickHouse是俄羅斯開源的OLAP數據庫,以彪悍的性能著稱。開源5年以來,以性能優異、簡單易用的特色,吸引了大量的用戶羣體。騰訊雲ClickHouse研發負責人彭健爲你們帶來騰訊雲ClickHouse在QQ音樂上的應用與調優實踐。
QQ音樂用的就是ClickHouse集羣,集羣的現狀是近萬核的規模、PB 級的存儲,十萬億級別的記錄量,天天過千億級的數據入庫,包括實時流水、中間表的計算等等。
經過使用ClickHouse,一方面帶來了實時性上的價值,絕大部分查詢請求是數秒內完成、部分查詢請求在十秒內完成。另外一方面是易用性,利用 Superset 能夠自主製做各類報表,下降了產品、運營、市場等非數據人員分析使用的門檻。
ClickHouse 集羣數據量的增加,在併發寫入量較大的狀況下,ZooKeeper 的處理能力跟不上,集羣的性能也會急劇降低。因此在整個運維過程當中,若是集羣數據規模超過 TB 級別,建議採用具備 SSD 盤的設備。
ClickHouse 的集羣是按 Shard 分佈的,在向 ClickHouse 導入數據的過程當中有時會失敗或者超時,就須要重試寫入動做。爲了防止多個 Shard 出現重複寫入,致使數據不一致的狀況,在重試的時候須要在相同的 Shard 上進行寫入。
一般能夠將數據按天、按月作分區,根據具體狀況來操做。官方建議分區數量不要超過一千,一般這個分區數對大部分業務場景都夠用,過多分區數量會致使查詢性能的下降。
藉助臨時集羣,預先將準備好的數據在臨時集羣中構建、寫入,等待 Merge 完成後 AB 切換,或者經過數據拷貝的方式將數據複製到在線集羣的服務器上,作到讀寫分離。從而讓數據的寫入不會影響線上的查詢,或者是把影響降到最低。
ClickHouse 集羣分佈式查詢一般採用 GLOBAL IN/GLOBAL JOINS 相似的詞語,這些詞句的性能相對比較低,使用後再查詢時會生成臨時表,並跨節點讀取數據,從而下降查詢速度,也會佔用更多的內存,甚至致使查詢失敗。
經過合理組織數據,使用本地化的 IN/JOINS 代替,好比根據數據的 UN、VID 將相同 ID 的數據寫入到相同的 Shard 中,結果是等效的,但能夠極大的提高性能,將複雜的操做編程定型化的操做。
除此之外,彭健還對ClickHouse常見的實時分析場景進行了分析,爲你們細緻剖析了ClickHouse的原理,以及騰訊雲ClickHouse是如何在原生的基礎上作出優化的。不久的將來,更加完善、性能也更高的騰訊雲ClickHouse服務也將會上線提供服務,敬請你們期待。
「騰訊雲數據庫 MySQL 8.0版本於2020年7月正式發佈,QPS達到70w+。騰訊雲基於官方8.0版本新增什麼特性和功能,這些新能力能爲你們帶來哪些實際的價值和幫助?」,直播間裏,騰訊雲數據庫產品專家黃稚禹爲你們作出了細緻的解析。
騰訊MySQL 8.0 新推出了八大特性:數據加密、SQL審計、線程池、強一致性、新硬件支持、輕量級AP、熱點更新、SQL限流。
MySQL 開源社區版是不支持企業級審計功能的,只有商業版裏才提供。而騰訊雲 MySQL 8.0實現了內核級別的審計功能,而且結合了雲產品進一步提高了 SQL 審計功能,讓用戶擁有更好的體驗。
用戶鏈接 session 產生的審計記錄,由專門的寫盤線程( Flush thread )將內存中的審計記錄寫入審計文件中( Audit File ),直接落盤。而審計代理( Audit Agent )則會讀取審計文件,將審計記錄發送到審計日誌中心。
同時採用 JSON 格式對審計日誌進行存儲。記錄的審計內容有時間戳、影響行數、執行時間、主機、來源IP、實例名、用戶名、數據庫名,包括具體的 SQL 語句和類型等。在產品層面上也提供了審計規則的過濾。
針對互聯網高併發業務場景,騰訊雲 MySQL 8.0 進行了線程模式的改進。當客戶端發起鏈接後,由空閒的線程先對請求進行處理,減小上下文切換的消耗和建立銷燬的消耗。同時引入了多隊列的機制,能夠按照業務的訪問走不一樣的隊列。
在數據加密方面,經過 KMS和 TDE 的深度集成,實現了兩者的結合,爲騰訊雲 MySQL 用戶提供了一整套安全解決方案。
KMS 採用的是兩層密鑰體系,海量的業務數據在存儲或通訊過程當中使用數據密鑰以對稱加密的方式加密,而數據密鑰又經過用戶主密鑰採用非對稱加密方式加密保護。經過兩層密鑰體系,確保數據在在內存和文件中都進行加密。
在直播的最後,黃稚禹爲你們分享了騰訊MySQL 8.0 在電商、遊戲、金融、新零售這四大行業裏的應用,也和你們暢想一番他對數據庫將來的發展趨勢見解。
雲原生場景,多語言、多種協議兼容,任意多的消息 Topic、任意多的消費者,性能的按需快速擴展成爲消息隊列基本的要求。而在金融場景下,對交易數據的強一致性、跨地域數據高可用性、系統的性能方面都有着極高的要求。
騰訊TEG技術委員會專家工程師劉德志爲你們分享了基於 Apache Pulsar 的新一代存儲計算分離設計的消息隊列 TDMQ在騰訊計費上的技術實踐。
騰訊計費是孵化於支撐騰訊內部業務千億級營收的互聯網計費平臺,其核心是幫助用戶與產品,安全、便捷的完成支付和收款。平臺承載了騰訊公司天天數億收入的大盤,爲 180+ 個國家(地區)、100W+ 計算商戶提供服務,託管帳戶總量 300 多億,是一個全方位一站式計費平臺。
TDMQ 是基於 Pulsar 內核,一樣採用了計算和存儲分離的 2 層架構:
Broker 提供消息的生產、發送和管理服務,自己並不存儲任何狀態信息和消息內容。Bookie 提供存儲層服務,採用邏輯分片存儲模式,也就是 Ledger,一個 Topic 其實是一個Ledgers 流,Ledger裏面存儲了具體的消息也就是 entry。
基於存儲分離的架構,能夠很友好的支持系統的擴縮容。若是是計算層資源不足,能夠很是方便的進行 Broker 擴容,同時 Broker 也能夠用相對比較廉價的機器來支撐。若是是存儲層資源不足,添加 bk 節點也是很是簡單的,新加的機器會在後續的 Ledger 寫入使用,基本不須要額外的數據遷移動做。
隨着業務的發展,異地多活成爲必然選擇。TDMQ 提供兩種跨城容災模式:跨地域異步複製、跨地域同步複製。
對於跨地域異步複製,TDMQ 的 geo-repilcation能夠實現跨地域複製的能力,經過一些配置化手段實現多中心的數據同步,減小了業務的負擔。
對於跨地域異步複製, 因爲TDMQ 採用計算存儲分離的架構,存儲是 bookie 集羣組成,Broker 在寫消息時,首先會從 bookie 中選出一組 bookie 節點,選取的策略能夠根據 bookie 部署的機架信息,由同城和跨城節點組成,其中機架信息能夠經過配置進行指定。這樣就能夠保證副本是在多地存儲,在等待ack策略上,能夠根據機架信息保證等待異地的 ack 應答,能夠實現真正意義上跨城容災。
與此同時,在保障數據高一致方面,劉德志也爲直播間的聽衆詳細剖析了TDMQ 的一致性模型,在DB數據同步上也有不少創新的實踐。目前TDMQ還處在騰訊雲的內測階段,主要應用於騰訊計費等場景下,將來也將開放到更多應用場景下使用。
騰訊雲數據庫高級產品經理劉迪爲你們分享了騰訊雲在數據庫自治方面的最新實踐。他先從數據庫自治的演進開始講起,爲你們娓娓道來數據庫運維各個發展階段的面貌和特色。
從數據庫技術誕生伊始,數據庫運維經歷了從石器時代、工具時代、專家時代,再到現在智能時代這四個階段。從依靠純手工運維到沉澱腳本和工具提高人工效率,再到出現統一的數據庫自動化運維管理平臺。
在雲數據庫時代,雖然能夠便利使用雲上的各類託管能力,可是上雲以後也相應產生了黑盒現象。在資源評估、故障診斷恢復、數據庫性能優化等方面對數據庫運維同窗提出了新的挑戰。
有沒有一種技術可以將數據庫能力和專家經驗的共享,把以前已經積累好、沉澱好的數據庫處理經驗自動化,可以讓數據庫本身處理一些簡單的問題,不須要人工干預。面對複雜問題的時候可以提供很是充足的建議,經過專家的干預進行最後的處理呢?數據庫自治由此誕生。
通過多年的技術打磨,去年騰訊對外發布的一款強大的數據庫自治產品 —— 數據庫智能管家DBbrain。DBbrain 提供的自治服務涵蓋三個方面:
利用機器學習、大數據手段快速複製資深數據庫管理員的成熟經驗,將大 量數據庫問題的診斷優化工做自動化,服務於雲上和雲下企業。
提供從用戶行爲安全、SQL 安全到數據存儲加密安全等多項數據安全服務, 公安部認證的等保合規性安全產品。
提供免安裝、免運維、即開即用、多種數據庫類型與多種環境統一的 web 數據庫管理終端。
DBbrain 提供了宏觀用戶級別的監控和告警,讓用戶第一時間內可以發現故障、發現異常。監控頁面的易讀性很是高,用戶不須要從幾百個監控指標中找出哪一個有問題,DBbrain 會幫助用戶篩選、聚合出相同問題觸發的監控指標。
DBbrain還提供了7*24小時異常診斷、異常框架診斷、SQL優化、數據庫審計與分析、數據庫健康評估策略解讀、自動性能優化系統 CDBTune等能力。同時提供基於 cost 的分析引擎,可以在用戶沒有執行優化建議以前就把優化的結果告訴你們,從而在優化前就能夠清楚的看到預期的優化效果。
對於容易被運維同窗忽略的數據庫安全防禦問題,DBbrain 也提供了合規審計、安全治理、數據脫敏三大功能,爲用戶提供更穩定安全的數據庫服務。
劉迪還結合了行業客戶的案例爲你們分享DBbrain在實際生產場景下的應用。談到數據庫自治的將來展望,劉迪表示:「數據庫自治在將來應該會朝着自愈、自優化的方向發展,不只能自主調節索引建議,還能夠自主建立索引,自動進行識別、添加和刪除,而且在將來還應該能夠自動對執行計劃進行迴歸修正,優化策略下沉與引擎融合,讓用戶須要干預的愈來愈少,提供的優化服務愈來愈多」。
本期沙龍的壓軸專場請來了三位大咖,雲和恩墨首席架構師 & 騰訊雲最具價值專家TVP蓋國強、Elastic中文社區深圳負責人 & 騰訊雲最具價值專家TVP楊振濤、騰訊數據庫負責人丁奇,他們就「如何成爲一名優秀數據工匠」這一話題延伸出發,展開了熱烈的探討。
三位大咖先從自身成長經歷出發,表達了他們自身對數據工匠的感覺和理解,雖然在專長領域和成長經歷上有所差異,可是源自相同的熱帶和堅持,他們最後也都達到了各自領域內的高點。
在談到當前數據技術的發展示狀和趨勢這一話題時,蓋國強老師首先談了本身的見解。
他首先認爲國產數據庫必將崛起,由於分佈式數據庫已然成爲趨勢,加上中國擁有龐大的用戶市場,因此國產數據庫實現彎道超車得到領先優點不是沒有可能;第二,雲數據庫成爲新的潮流;第三,數據庫自治也是大勢所趨,數據庫將來必定是會更加自動化和智能化。最後不禁感嘆道:「很不幸,將來可能不太須要傳統意義上的DBA了」。
對於延伸出來的這個話題,丁奇顯然來了興趣。他首先對國強老師的這一觀點表示了認同,但同時也有新的理解。他認爲將來DBA仍然還會存在,可是形態會發生改變。在數據庫發展的早期階段,DBA其實對業務有很強的主導性,由於他們瞭解數據庫的業務架構。隨着雲化和自治化的發展,將DBA從基礎的運維中解放出來,從新回到原始的價值層面,也即瞭解和主導業務架構。
對於數據庫發展趨勢的問題,楊振濤保持着樸素的觀點,他認爲數據庫的發展暗含着合久必分,分久必合的態勢。從最先期一個數據庫搞定業務系統對數據的讀寫需求,到如今基於不一樣業務對數據讀取的差別化要求,採用多種產品組合。同時,不一樣數據庫產品也在不斷演化,進入了百家爭鳴的階段。包括國產數據庫的崛起,更加促進了這個數據時代的多元化。從系統論來講,多元化越強系統蘊含的熵、進化的能力也是越大的。 若是市場上永遠是三巨頭,就可能不是一個很健康的發展趨勢。
對於如何成爲一名數據工匠這一話題,三位老師也給出了本身的答案。
蓋國強結合本身20年來的工做學習經驗,提煉出來8字真言:興趣、勤奮、堅持、方法。興趣是你克服苦難,堅持下去的源頭;勤奮是要保持對自身的高要求,付出更多的時間精力來作這件事;堅持是不輕易調整方向,學透了某一點再拓展不遲;方法是要靈活借鑑他人的成功經驗補足自身。堅持這四點,相信每一個人都能作出優秀的成績。
丁奇也一樣分享了他本身的觀點,他認爲學習數據技術最好從點到線,這樣更能得到點滴的成就感,在閱讀繁複浩大的技術圖書或者手冊的時候,應當先把骨架弄清楚,而後有針對性地學習。對於想要在數據技術更進一步的同窗,丁奇建議你們應該有意識的加強本身的成本意識、性能意識,以及安全意識。
楊振濤認爲在成長爲數據工匠的路上,咱們須要一直貫徹專業主義,對於認爲正確的事情必定要堅決不移的作下去,專業度決定了你最終能走到哪一步。另外楊振濤也鼓勵技術人員應該具備利他心理,多多分享本身的知識和經驗。在成就他人的同時,每每也能完善自身知識體系,甚至還能收穫新的認知,是一件很是值得投入的事情。
在直播的後半段,三位老師一樣解答了直播間彈幕提出的諸多問題。
這次技術沙龍涵蓋8場深受你們喜好的數據專題,邀請到10位行業一線大咖分享實踐乾貨。沙龍活動期間不斷收到來自直播間觀衆、技術社羣中傳遞的熱烈討論和提問,收穫了一片稱讚。
正是源於一樣的熱愛,讓咱們在這段時間相約在雲+社區沙龍直播間,一齊成長進步。國內外數據技術突飛猛進,天天都在發生巨大的變革,但不管什麼時代,先進的知識始終是優質生產力,堅持、熱愛的開發者們永遠是推進技術發展、維持技術生態繁榮的最根本因素。感謝國內的開發者,也感謝騰訊云云 + 社區能爲廣大開發者提供這樣一個交流協做的平臺。騰訊雲願積極擁抱開發者,願與開發者攜手一塊兒,共建屬於數據技術更先進的將來。