99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

騰訊重磅開源DCache 分布式NoSQL存儲系統(tǒng)

電子工程師 ? 來源:工程師李察 ? 2019-05-05 10:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

當你在電商平臺秒殺商品或者在社交網絡刷熱門話題的時候,可以很明顯感受到當前網絡數(shù)據流量的恐怖,幾十萬商品剛開搶,一秒都不到就售罄;哪個大明星出軌的消息一出現(xiàn),瞬間閱讀與轉發(fā)次數(shù)可以達到上億。作為終端用戶的我們可能會思考,服務系統(tǒng)是怎么在這樣嚴峻的流量環(huán)境中存活下來的。

其實,服務系統(tǒng)的架構中有許多巧妙的設計來應對這樣的問題,而在這其中,通常系統(tǒng)都會架設緩存系統(tǒng),用以緩解海量訪問請求與數(shù)據帶來的沖擊,實現(xiàn)高性能訪問需求。

同時,隨著微服務與云等技術的發(fā)展,分布式架構的需求變得越來越普遍,再加上今天 Web 上的數(shù)據類型已經不再單一,而且數(shù)據量也呈爆發(fā)式增長,傳統(tǒng)的結構化存儲方案已經跟不上腳步,對數(shù)據庫的 SQL 操作不再滿足要求,于是 NoSQL 出現(xiàn)。

將這幾種技術方案整合起來,我們可以設計出分布式NoSQL緩存系統(tǒng),當前這一類系統(tǒng)有一些比較強大的開源方案,比如 Memcached 和 Redis,它們對整個服務系統(tǒng)的可用性、可擴展性與性能起到至關重要的作用。

聽說最近騰訊開源了一個分布式NoSQL存儲系統(tǒng)DCache,它的典型應用場景就在分布式緩存。根據官方介紹,DCache 基于 TARS 微服務治理方案,它支持 k-v、k-k-row、list、set 與 zset 多種數(shù)據結構,數(shù)據基于內存存儲,同時支持后接 DB 實現(xiàn)數(shù)據持久化。DCache 具備快速水平擴展能力,同時配套有 Web 運維平臺實現(xiàn)高效的運維操作。

我們第一時間采訪了DCache研發(fā)團隊成員山寶銀,希望對項目的研發(fā)背景與相關技術細節(jié)有進一步了解。

當前開源的分布式緩存系統(tǒng)中,Memcached 與 Redis 是很普遍的選擇,騰訊此次為什么要自己造一個系統(tǒng)呢?

山寶銀介紹,雖然 Memcached 與 Redis 本身都擁有極其強大的能力,但是存在運維困難、缺乏集群化方案與無法應對微服務趨勢帶來的挑戰(zhàn)等問題。

舉個例子,當前微服務是一大趨勢,大家都在說要做微服務,它可以讓計算與存儲之間解耦,實現(xiàn)輕量級通信。微服務不需要管理生命同期,而作為系統(tǒng)組件的 Redis 則不然,“我們做服務架構設計時希望把邏輯層和數(shù)據層分離開來,但是如果使用 Redis 做緩存,緩存與 DB 之間的數(shù)據一致性問題,以及緩存不命中如何解決等問題都需要使用者在業(yè)務邏輯中做相關處理,這增加了一定的復雜度和難度,也增加了邏輯層和數(shù)據層的耦合度?!?/p>

另一方面,山寶銀介紹,起初面對海量數(shù)據和高性能訪問需求,騰訊內部各個團隊其實都開發(fā)了各自的緩存系統(tǒng),然而這些系統(tǒng)之間協(xié)議不統(tǒng)一、服務模型多樣化、不具有通用性容錯、擴展能力也參差不齊,所以團隊就著手研發(fā)了 DCache 這一套通用 Cache 系統(tǒng),希望整體去解決業(yè)務、開發(fā)、運維和監(jiān)控面臨的各種挑戰(zhàn)。

所以也可以看到,目前 DCache 已經應用于騰訊內部多個業(yè)務上,包括 QQ 瀏覽器、應用寶、騰訊地圖、騰訊電腦管家、手機管家與騰訊游戲等。

SQL、分布式與 NoSQL 的取舍

SQL 是指數(shù)據庫的結構化查詢語言,它是數(shù)據庫的操作命令集,傳統(tǒng)的關系型數(shù)據庫都使用標準的 SQL 語句操作處理數(shù)據。分布式是軟件系統(tǒng)的一種架構模式,在分布式系統(tǒng)中,多個硬件或軟件組件分布在不同計算機上,彼此之間通過消息傳遞進行通信,對外表現(xiàn)為一個整體,提供統(tǒng)一化的服務。

有一種普遍的觀點是,數(shù)據庫 SQL 與分布式之間存在天然對立性,山寶銀的理解是:“分布式系統(tǒng)因為數(shù)據分散在不同的節(jié)點,所以像 SQL 的聯(lián)表、事務等操作需要全局的鎖保護,這樣處理起來比較復雜,并且影響性能?!?/p>

SQL 還有與 NoSQL 的取舍問題,NoSQL 是指一類數(shù)據庫,主要用于高性能處理超海量數(shù)據,它的一大特點是數(shù)據結構簡單,以 key-value 為主,數(shù)據之間非關聯(lián),容易做水平擴展。

從字面上看,NoSQL 似乎是與 SQL 對立的,做 NoSQL 似乎就意味著放棄 SQL,然而實際上 NoSQL 本意是 Not Only SQL,它不僅僅是 SQL,那么也就可以包含 SQL 的能力。

“NoSQL 也不是一定就得放棄 SQL,其實在代理層可以增加 SQL 的解析、計算邏輯來實現(xiàn) SQL 操作,但這樣會影響性能,所以還是看應用場景和業(yè)務需求?!?/p>

山寶銀為我們簡單分析了 DCache “分布式 NoSQL”的意義。在 SQL 處理方面,分布式似乎存在劣勢,然而分布式意味著可以聯(lián)結更多的廉價計算機,充分運用算力,以低成本的方式應對高強度的并發(fā)訪問請求,此外分布式架構還有不少優(yōu)勢,比如避免系統(tǒng)單點問題導致的整體故障,實現(xiàn)高可用。

而另一方面,山寶銀也說到:“DCache 因為主要的目標就是高性能,SQL 操作并不是主要想解決的問題,所以 DCache 沒有實現(xiàn) SQL 的功能?!?/p>

DCache 分布式策略與能力

DCache 對外提供服務的粒度是 group,一個 group 負責一部分的數(shù)據分片,至于每個 group 服務哪些數(shù)據,是根據數(shù)據的 key 做 hash 映射后所處的范圍來確定的。

DCache 會把數(shù)據的 key 通過 hash 算法映射到 0~4294967295 (unsigned int) 范圍內,然后把 0~4294967295 范圍均勻劃分到不同的 group 上。例如有兩個 group,key 做 hash 后的值在 0~2147483647 范圍就分發(fā)到 group1,在 2147483648~4294967295 范圍就分發(fā)到 group2。

在一個 group 內,采用主備架構,只有主節(jié)點接收讀寫請求,所以數(shù)據一致性是可以保證的,而當主機不可用時,會觸發(fā)主備自動切換,保證服務持續(xù)可用。

DCache 架構

我們疑惑DCache似乎強依賴于etcd與TARS等中間件,那它本身的核心特性與能力體現(xiàn)在哪里?

山寶銀解釋,DCache 并不強依賴 etcd,“etcd 只涉及了路由服務 RouterServer 的選主,如果 RouterServer 部署單點也是可用的,而且 RouterServer 的宕機不會影響到數(shù)據的讀寫訪問,因為所有的 Proxy 與 Cache 服務都有本地的路由緩存”,關于 TARS 的采用,他說:“因為 TARS 是一個非常優(yōu)秀的服務開發(fā)框架,它屏蔽了底層的網絡通信細節(jié),且自帶了名字服務等很多服務化需要的功能,對于 DCache 來說,使用已有的 TARS 框架可以更好地做到服務化,我們沒有必要去重復的造輪子?!?/p>

至于 DCache 本身的能力,山寶銀介紹:“DCache 自身的存儲引擎具有很高的性能,而且支持后接 DB,對使用者來說,不需要再關心 DB 和緩存之間的數(shù)據一致性,以及緩存不命中帶來的一系列問題?!?/p>

具體來說,DCache 持久化與 Redis 不一樣,后者只是把內存中的數(shù)據在本地磁盤做一個備份,保證 Redis 重啟之后做數(shù)據恢復。

“Redis 持久化主要是為了數(shù)據備份。DCache 后端有了 DB 以后,業(yè)務的邏輯與后臺的數(shù)據可以完全隔開,DCache 自身會處理緩存與 DB 之間的數(shù)據一致性問題。

DCache 會不斷地將 Cache 中的數(shù)據落地后端 DB,如果 Cache 中存儲空間不夠,會將已經落地 DB 的冷數(shù)據淘汰掉。在數(shù)據查詢的過程中,如果查詢 Cache 不命中,會從 DB 讀取并重新存到 Cache,以此來保證 Cache 中數(shù)據的熱點性和命中率,同時 DB 與 Cache 的穿透問題也得到解決。

另外,數(shù)據持久化到后端 DB 的能力對于一些需要做離線數(shù)據分析的業(yè)務場景也比較方便??傊阃耆挥藐P心數(shù)據的東西,只需要把數(shù)據寫到 Cache,后端的落地由 DCache 處理?!?/p>

DCache 特性

此外,DCache 的分布式集群化、異地鏡像部署、容災容錯能力在實際線上應用中都會提供非常高的價值。

用武之地

作為一個分布式存儲系統(tǒng),DCache 的應用場景沒有限制在緩存上,山寶銀介紹,對于有高性能 NoSQL 存儲需求的場景,都可以使用 DCache,而且因為 DCache 具備容量淘汰與過期自動清理數(shù)據的功能,對于需要存儲熱點數(shù)據(如熱門文章)與臨時數(shù)據(如有時效性的聊天記錄)的場景也可以提供很好的支持。

山寶銀也提供了 DCache 的性能數(shù)據:

騰訊重磅開源DCache 分布式NoSQL存儲系統(tǒng)

目前騰訊內部包括 QQ 瀏覽器、應用寶、騰訊地圖、騰訊電腦管家、手機管家與騰訊游戲在內的近百個業(yè)務都接入了 DCache,這些業(yè)務的體量之大可以想象,山寶銀補充:“除了提供的這一組簡單的數(shù)據,DCache 在高效可靠地支撐著近百個業(yè)務的運轉,日均調用量過萬億次,這也從側面說明了 DCache 在生產環(huán)境的性能與穩(wěn)定性。”

而除了系統(tǒng)本身高性能、高擴展、高可用與數(shù)據安全的設計外,Web 可視化的高效運維平臺也成了 DCache 不可或缺的重要能力?;趦却娴?NoSQL 存儲系統(tǒng)在運維上會產生巨大的額外開銷,它需要對相關技術進行深入理解,并且在緊要關頭果斷做出正確決策。

騰訊重磅開源DCache 分布式NoSQL存儲系統(tǒng)

DCache 基于 TARS 開發(fā),所以運維平臺將 DCache 與 TARS 的服務管理統(tǒng)一做在了一個模塊上,山寶銀介紹該運維平臺將大大提高效率,同時降低了運維門檻,關于服務的部署、上線、遷移、擴容、監(jiān)控與配置這些操作都可以輕松實現(xiàn)。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 存儲
    +關注

    關注

    13

    文章

    4533

    瀏覽量

    87466
  • 開源
    +關注

    關注

    3

    文章

    3690

    瀏覽量

    43838
  • 系統(tǒng)
    +關注

    關注

    1

    文章

    1032

    瀏覽量

    21822

原文標題:騰訊重磅開源DCache,分布式NoSQL存儲系統(tǒng)

文章出處:【微信號:TheBigData1024,微信公眾號:人工智能與大數(shù)據技術】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Ceph分布式存儲系統(tǒng)解析

    在當今數(shù)據爆炸的時代,企業(yè)對存儲系統(tǒng)的需求日益增長,傳統(tǒng)的集中式存儲已經無法滿足大規(guī)模數(shù)據處理的要求。分布式存儲系統(tǒng)應運而生,而Ceph作為開源
    的頭像 發(fā)表于 07-14 11:15 ?177次閱讀

    曙光存儲領跑中國分布式存儲市場

    近日,賽迪顧問發(fā)布《中國分布式存儲市場研究報告(2025)》,指出2024 年中國分布式存儲市場首次超過集中式存儲,規(guī)模達 198.2 億元
    的頭像 發(fā)表于 05-19 16:50 ?485次閱讀

    兆芯+圖云創(chuàng)智—可信分布式存儲系統(tǒng)解決方案

    圖云創(chuàng)智分布式存儲系統(tǒng)采用全分布式設計與先進的存儲虛擬化技術相結合,由多個獨立的兆芯 x86 服務器作為存儲節(jié)點,聯(lián)合道熵
    的頭像 發(fā)表于 04-23 10:29 ?224次閱讀
    兆芯+圖云創(chuàng)智—可信<b class='flag-5'>分布式</b><b class='flag-5'>存儲系統(tǒng)</b>解決方案

    秒殺傳統(tǒng)存儲!億萬克DM3000分布式存儲:EB級擴容+協(xié)議瞬通

    蛟云SoveCloud DM DM3000系列是億萬克推出的全新一代分布式統(tǒng)一存儲產品。該系列用軟件定義存儲理念替換傳統(tǒng)的存儲解決方案,助力數(shù)據中心解決日益復雜的應用需求。5大優(yōu)勢,瞧
    的頭像 發(fā)表于 03-20 09:13 ?410次閱讀
    秒殺傳統(tǒng)<b class='flag-5'>存儲</b>!億萬克DM3000<b class='flag-5'>分布式</b><b class='flag-5'>存儲</b>:EB級擴容+協(xié)議瞬通

    分布式存儲和集中式存儲有何區(qū)別

    存儲產品千千萬,選來選去怎么辦? 戴小編來獻妙策,匹配需求不為難!分布式存儲和集中式儲是存儲系統(tǒng)中十分重要的兩種架構類型,但這兩者有何區(qū)別?適合怎樣的業(yè)務需求?今天戴小編就來一一解答。
    的頭像 發(fā)表于 02-28 10:56 ?1186次閱讀

    分布式存儲有哪幾種類型?

    分布式存儲有哪幾種類型?分布式存儲系統(tǒng)是一種將數(shù)據分散存儲在多臺獨立節(jié)點上的技術,根據數(shù)據模型可分為鍵值
    的頭像 發(fā)表于 02-20 11:00 ?587次閱讀

    分布式云化數(shù)據庫有哪些類型

    分布式云化數(shù)據庫有哪些類型?分布式云化數(shù)據庫主要類型包括:關系型分布式數(shù)據庫、非關系型分布式數(shù)據庫、新SQL分布式數(shù)據庫、以列方式
    的頭像 發(fā)表于 01-15 09:43 ?487次閱讀

    基于ptp的分布式系統(tǒng)設計

    在現(xiàn)代分布式系統(tǒng)中,精確的時間同步對于確保數(shù)據一致性、系統(tǒng)穩(wěn)定性和性能至關重要。PTP(Precision Time Protocol)是一種網絡協(xié)議,用于在分布式
    的頭像 發(fā)表于 12-29 10:09 ?569次閱讀

    WDS分布式存儲系統(tǒng)軟件助力電信工程海量數(shù)據存儲項目

    WDS分布式存儲系統(tǒng)軟件助力電信工程海量數(shù)據存儲項目
    的頭像 發(fā)表于 11-11 09:59 ?507次閱讀
    WDS<b class='flag-5'>分布式</b><b class='flag-5'>存儲系統(tǒng)</b>軟件助力電信工程海量數(shù)據<b class='flag-5'>存儲</b>項目

    某證券公司智能云投資交易云集群高性能分布式存儲應用

    某證券公司智能云投資交易云集群高性能分布式存儲應用
    的頭像 發(fā)表于 09-27 09:57 ?587次閱讀
    某證券公司智能云投資交易云集群高性能<b class='flag-5'>分布式</b><b class='flag-5'>存儲</b>應用

    分布式存儲費用高嗎?大概需要多少錢

    分布式存儲的費用是否高,取決于多個因素,包括存儲容量、性能要求、服務提供商、計費模式等。因此,無法簡單地給出一個“高”或“不高”的答案。通常分布式
    的頭像 發(fā)表于 09-24 10:41 ?589次閱讀

    基于分布式存儲系統(tǒng)醫(yī)療影像數(shù)據存儲解決方案

    基于分布式存儲系統(tǒng)醫(yī)療影像數(shù)據存儲解決方案
    的頭像 發(fā)表于 09-14 09:53 ?695次閱讀
    基于<b class='flag-5'>分布式</b><b class='flag-5'>存儲系統(tǒng)</b>醫(yī)療影像數(shù)據<b class='flag-5'>存儲</b>解決方案

    基于分布式對象存儲WDS的信托非結構化數(shù)據整合平臺

    基于分布式對象存儲WDS的信托非結構化數(shù)據整合平臺
    的頭像 發(fā)表于 08-28 09:56 ?648次閱讀
    基于<b class='flag-5'>分布式</b>對象<b class='flag-5'>存儲</b>WDS的信托非結構化數(shù)據整合平臺

    醫(yī)療PACS影像數(shù)據的極速分布式存儲解決方案

    醫(yī)療PACS影像數(shù)據的極速分布式存儲解決方案
    的頭像 發(fā)表于 08-23 10:13 ?746次閱讀
    醫(yī)療PACS影像數(shù)據的極速<b class='flag-5'>分布式</b>塊<b class='flag-5'>存儲</b>解決方案

    基于分布式存儲WDS的金融信創(chuàng)云承載數(shù)據庫類關鍵應用

    基于分布式存儲WDS的金融信創(chuàng)云承載數(shù)據庫類關鍵應用
    的頭像 發(fā)表于 08-16 09:42 ?575次閱讀
    基于<b class='flag-5'>分布式</b><b class='flag-5'>存儲</b>WDS的金融信創(chuàng)云承載數(shù)據庫類關鍵應用