日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 技術(shù)學(xué)院 > 技術(shù)解析
[導(dǎo)讀]為增進(jìn)大家對數(shù)據(jù)存儲方式的認(rèn)識,本文將對三種數(shù)據(jù)存儲方式予以介紹。

數(shù)據(jù)存儲具有很強(qiáng)的現(xiàn)實意義,只有采取合理的數(shù)據(jù)存儲方式,才能夠有利于數(shù)據(jù)的管理、檢索等。為增進(jìn)大家對數(shù)據(jù)存儲方式的認(rèn)識,本文將對三種數(shù)據(jù)存儲方式予以介紹。如果你對數(shù)據(jù)存儲方式具有興趣,不妨繼續(xù)往下閱讀哦。

數(shù)據(jù)存儲在實際應(yīng)用中,就是怎么用數(shù)據(jù)庫把我們的業(yè)務(wù)數(shù)據(jù)保存起來。從宏觀角度看,大致包含三大類技術(shù):B-TREE,LSM&SSTable,列式存儲。

一、B-TREE

B-TREE和關(guān)系模型同步出現(xiàn)于70年代,到90年幾乎占領(lǐng)了所有的數(shù)據(jù)庫市場。B-TREE簡單的理解就是多葉節(jié)點的樹,每個葉節(jié)點并非是每行數(shù)據(jù),而是數(shù)據(jù)庫的的數(shù)據(jù)塊。這么設(shè)計的原因是樹的層次影響著搜索性能,而且磁盤的讀寫是基于塊(BLOCK)的,使用塊可以大大減少節(jié)點數(shù)量,進(jìn)而減少樹的層次。

B-TREE的特點在于讀寫性能比較穩(wěn)定,響應(yīng)時間和磁盤隨機(jī)讀寫的時間成正比(10ms)。并且由于B-TREE對應(yīng)到數(shù)據(jù)庫的每條記錄,可以很容易的實現(xiàn)事務(wù)、行鎖和隔離級別。讀性能略高于LSM算法。而且B-TREE基于塊的存儲方式,可以很容易的把內(nèi)存中的塊和磁盤上的塊一一對應(yīng)起來,很容易的實現(xiàn)緩存。在實際應(yīng)用中,前2-3級節(jié)點內(nèi)都可以在緩存中讀取,由此大大提高了訪問效率。

而不足在于真正面對海量數(shù)據(jù)時(如數(shù)據(jù)量進(jìn)入到百億級別時),由于樹層數(shù)和緩存比率的減少,會導(dǎo)致性能逐步下降。此外由于B-TREE在寫入時也需要通過搜索定位到葉節(jié)點,因此相對于LSM,其寫入時開銷較大。PS:其實現(xiàn)在已經(jīng)出現(xiàn)了分布式的B-TREE,比如oracle的localeindex。

二、LSM&SSTable

目前主流的存儲架構(gòu)還是磁盤+內(nèi)存,磁盤順序讀寫的性能高于隨機(jī)讀寫三個數(shù)量級,而在內(nèi)存中進(jìn)行隨機(jī)讀寫的的性能也大于磁盤的三個數(shù)量級,可以得出用磁盤當(dāng)做磁帶一樣只做順序讀寫,而把內(nèi)存當(dāng)做磁盤,提供所有的隨機(jī)讀寫訪問的總體思想,這也就是出LSM-Tree的算法。

簡單說就是在內(nèi)存中維護(hù)一張MemTable,把所有最新的數(shù)據(jù)都寫到其中,所有數(shù)據(jù)依據(jù)key值進(jìn)行排序(隨機(jī)讀寫)。當(dāng)MemTable的大小到大閾值之后,把它寫到磁盤上,形成一個個的SSTable(順序?qū)?。每個SSTable構(gòu)造一個索引,由于SSTable中的數(shù)據(jù)都是排好序的,所以索引較小,可以保存在內(nèi)存里面,所以所有的索引搜索動作都是在內(nèi)存進(jìn)行的(隨機(jī)讀)。

每次查找的過程如下:首先在MemTable中搜索(內(nèi)存隨機(jī)查找),如果沒有依次在每個SSTable的索引中查找(內(nèi)存隨機(jī)查找)。把查找從磁盤隨機(jī)動作變成了基于內(nèi)存的隨機(jī)動作。隨著SSTable的增多,搜索的次數(shù)會增加,為了提高性能,后臺會把多個SSTable合并為一個(如HBase、LevelDB等等)。并且提供布隆過濾器(BloomFilter)來過濾掉不需要的SSTable。從總體效果上看,寫入的效率大大高于基于B-Tree的存儲引擎,而讀取性能接近于B-Tree。

LSM&SSTable在寫入密集型應(yīng)用中有較大優(yōu)勢,同時在讀取方面也有不錯的表現(xiàn)。不足之處在于上面提到的,不定期對增加的SSTable進(jìn)行合并時,對于數(shù)據(jù)庫會產(chǎn)生一定壓力。

由于這些特點,LSM&SSTable大量應(yīng)用于許多組件中,比如HBase、LevelDB等KeyValue數(shù)據(jù)庫中,同時也在消息引擎Kafka和搜索引擎Solr使用。

三、列式存儲

以上兩種存儲引擎主要適合于聯(lián)機(jī)場景,如有大量的基于客戶各類行為數(shù)據(jù)的批量計算的推薦系統(tǒng)中,以及預(yù)計客戶的流動性缺口等等。在這些場景中,列式存儲在性能上有非常明顯的優(yōu)勢。隨著各類大數(shù)據(jù)應(yīng)用的擴(kuò)展,列式存儲從和Hive共生的ORC,到和Spark共生的Parquet也被應(yīng)用到了各個數(shù)據(jù)分析應(yīng)用中。

從傳統(tǒng)的數(shù)據(jù)分析類應(yīng)用,到人工智能應(yīng)用,都需要遍歷整個數(shù)據(jù)集,上面也提到磁盤在順序讀寫和隨機(jī)讀寫性能方面的巨大差距,所以所有的數(shù)據(jù)倉庫都會在全表遍歷中采用磁盤順序遍歷。所以遍歷的文件空間越小,性能越高。列式存儲按列對數(shù)據(jù)進(jìn)行保存,以減少數(shù)據(jù)庫每次訪問的文件尺寸。

首先,分析應(yīng)用一般局限于對于表中的部分字段都分析,列是存儲可以讓引擎只訪問部分字段,減少吞吐量。其次,列式存儲數(shù)據(jù)壓縮能力更強(qiáng)。因為行級別的存儲方式壓縮是基于數(shù)據(jù)塊,壓縮比大致為50%-70%左右,而且壓縮比越大,解壓縮對于CPU的占用也越大。由于單列內(nèi)的數(shù)據(jù)非常類似,尤其是各種碼值類的數(shù)據(jù),比如性別(男、女、其他),行數(shù)越多,壓縮比越大。10億客戶的性別,也可以簡單的表達(dá)為如下這樣:“連續(xù)100個男性、連續(xù)50個女性、又連續(xù)80個男性、連續(xù)70個女性”,按照每行的位置依次表達(dá)下去。

再次,同樣由于列內(nèi)數(shù)據(jù)的取值范圍有限,也可通過位圖來表達(dá),比如10表示男,01表示女,因此只用2個bit就可以表示出來,從而進(jìn)一步增加壓縮比。在在許多場景中能夠把以前數(shù)G的數(shù)據(jù)壓縮為幾百K。由此可以顯著降低批量計算時對于存儲的吞吐壓力和提升計算效率。

當(dāng)然列式存儲也并非完美,在更新時列式存儲相對行式存儲,很難直接做到就地修改的效果,往往需要把整列鎖住,重新計算,重新生成整個列。所以列式存儲更多的適合于數(shù)據(jù)分析時需要全表遍歷的場景。

以上便是此次小編帶來的數(shù)據(jù)存儲相關(guān)內(nèi)容,通過本文,希望大家對數(shù)據(jù)存儲方式具備一定的了解。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,小編將于后期帶來更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉