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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何利用Flood多維索引技術(shù)實(shí)現(xiàn)優(yōu)化數(shù)據(jù)存儲(chǔ)布局

牽手一起夢(mèng) ? 來(lái)源:學(xué)術(shù)頭條 ? 作者:佚名 ? 2020-09-22 16:38 ? 次閱讀

在多維索引表格(multi-dimensional table)上進(jìn)行掃描和篩選是現(xiàn)代分析型數(shù)據(jù)庫(kù)引擎的關(guān)鍵技術(shù)。為了對(duì)這些操作進(jìn)行優(yōu)化,數(shù)據(jù)庫(kù)常建立起聚類的索引結(jié)構(gòu)(indexes),如R-Trees,Z-ordering等,然而這些索引結(jié)構(gòu)在不同的數(shù)據(jù)集以及查詢集合(query workload)下很難進(jìn)行統(tǒng)一優(yōu)化。在本篇論文中,提出了名為Flood的多維學(xué)習(xí)索引結(jié)構(gòu)。通過(guò)同時(shí)優(yōu)化索引結(jié)構(gòu)以及存儲(chǔ)布局,這種結(jié)構(gòu)自動(dòng)地調(diào)整自身以適應(yīng)具體數(shù)據(jù)集和查詢集合。該工作用來(lái)為端到端學(xué)習(xí)型數(shù)據(jù)庫(kù)系統(tǒng)構(gòu)建索引模塊。

論文背景

在多維索引表格上進(jìn)行掃描和篩選是現(xiàn)代分析型數(shù)據(jù)庫(kù)引擎的關(guān)鍵技術(shù)之一。如果數(shù)據(jù)完全根據(jù)其中某一個(gè)屬性(attribute)進(jìn)行組織,即不會(huì)涉及到多個(gè)屬性同時(shí)被訪問(wèn)的情況,那么通過(guò)建立平衡樹(shù)或者進(jìn)行簡(jiǎn)單二分搜索的方法已經(jīng)足夠。然而,如果數(shù)據(jù)需要通過(guò)不同屬性進(jìn)行篩選,那么通過(guò)建立多層索引的方法是不足以解決問(wèn)題的。多層索引所帶來(lái)的存儲(chǔ)代價(jià)是的這項(xiàng)技術(shù)只能被應(yīng)用在很小的范圍內(nèi)。另一種解決方案是建立起多維索引(multi-dimensional indexes)對(duì)數(shù)據(jù)進(jìn)行組織管理。如Redshift以及Spark-SQL使用Z-ordering技術(shù)來(lái)對(duì)數(shù)據(jù)進(jìn)行布局,一些空間數(shù)據(jù)庫(kù)則嘗試使用R-tree來(lái)進(jìn)行索引。然而,現(xiàn)有的多維索引技術(shù)有著顯著的缺點(diǎn)。首先,這些技術(shù)都非常難以根據(jù)實(shí)際的數(shù)據(jù)集進(jìn)行優(yōu)化。其次,沒(méi)有一項(xiàng)方案可以作為所有問(wèn)題的統(tǒng)一解決方法。不同的數(shù)據(jù)集以及查詢集合將會(huì)決定使用不同的多維索引技術(shù)。

為了解決上述缺點(diǎn),本文提出了名為Flood的基于內(nèi)存的學(xué)習(xí)多維索引。該索引方案的重點(diǎn)在于自動(dòng)地同時(shí)優(yōu)化數(shù)據(jù)存儲(chǔ)布局以及索引的結(jié)構(gòu),以此來(lái)獲得優(yōu)于其他所有多維索引的索引速度。Flood框架有以下兩個(gè)重點(diǎn)idea:

1. 使用一個(gè)下采樣的查詢集合,即一小部分查詢樣例構(gòu)成的查詢集合樣本,以此來(lái)學(xué)習(xí)不同維度屬性在查詢過(guò)程中的使用頻率?;谠?a target="_blank">信息,F(xiàn)lood框架自動(dòng)地調(diào)節(jié)數(shù)據(jù)存儲(chǔ)布局,以此優(yōu)化索引性能。

2. 使用一個(gè)累計(jì)分布函數(shù)CDF(Calculative Distribution Function)模型來(lái)將多維上可能的傾斜數(shù)據(jù)映射到一個(gè)均勻空間中。這個(gè)平滑(Flatten)過(guò)程使得每一個(gè)存儲(chǔ)的存儲(chǔ)單元儲(chǔ)存的數(shù)據(jù)量基本一致。以此更快地進(jìn)行索引。

Flood框架的主要貢獻(xiàn)有三:

1. 提出了第一個(gè)學(xué)習(xí)型多維索引,F(xiàn)lood框架。Flood從一個(gè)篩選斷言集合,即一個(gè)下采樣的查詢集合中學(xué)習(xí)查詢集合的分布函數(shù),以此調(diào)節(jié)數(shù)據(jù)存儲(chǔ)布局。

2. 使用三個(gè)真實(shí)數(shù)據(jù)集評(píng)估了多個(gè)不同的多維索引結(jié)構(gòu),實(shí)驗(yàn)顯示Flood框架大大優(yōu)于其他的多維索引結(jié)構(gòu)。

3. 實(shí)驗(yàn)顯示出Flood框架在不同的Filter Predicates上都實(shí)現(xiàn)了搜索加速,其索引結(jié)構(gòu)的建立速度與其他多維索引的建立速度相當(dāng)。

論文模型

如何利用Flood多維索引技術(shù)實(shí)現(xiàn)優(yōu)化數(shù)據(jù)存儲(chǔ)布局

多維索引查詢的難點(diǎn)在于同時(shí)對(duì)Y和Z兩個(gè)屬性進(jìn)行篩選,對(duì)其中某一個(gè)維度進(jìn)行排序的二分搜索無(wú)法順利完成該任務(wù)。

數(shù)據(jù)布局

如果把整個(gè)多維空間看作一個(gè)歐幾里得空間的話,不同于單維數(shù)據(jù),多維數(shù)據(jù)不可以基于一個(gè)維度,或者屬性進(jìn)行排序,這導(dǎo)致很多單維上可以使用的索引方法在多維索引上并不適用。但是如果將整個(gè)空間分成一個(gè)個(gè)小的格子,在單獨(dú)一個(gè)格子內(nèi)使用統(tǒng)一維度進(jìn)行排序,則在訪問(wèn)該格子內(nèi)的數(shù)據(jù)中就可以通過(guò)使用單維索引技術(shù)加速索引。

模型基本操作

1. 映射查找存儲(chǔ)塊(Projection):通過(guò)查詢中的篩選條件得到需要遍歷的數(shù)據(jù)網(wǎng)格,并且將索引范圍約束在這些網(wǎng)格當(dāng)中。

2. 凝練查找范圍(Refinement):對(duì)按照某一維度進(jìn)行排序的網(wǎng)格數(shù)據(jù)進(jìn)行進(jìn)一步篩選,根據(jù)查找篩選條件對(duì)排序維度的限制進(jìn)一步縮小檢索的范圍。

3. 進(jìn)行搜索。

網(wǎng)格優(yōu)化

網(wǎng)格分割需要決定每一個(gè)維度所應(yīng)該分割的子空間個(gè)數(shù)。Flood框架可以通過(guò)學(xué)習(xí)選擇合適的網(wǎng)格個(gè)數(shù)以及決定哪一個(gè)維度作為排序維度,即在網(wǎng)格內(nèi)對(duì)數(shù)據(jù)進(jìn)行排序的維度。

數(shù)據(jù)學(xué)習(xí)優(yōu)化索引結(jié)構(gòu)

1. 數(shù)據(jù)平滑化

根據(jù)CDF模型,對(duì)空間進(jìn)行不均勻的劃分,達(dá)到每一個(gè)網(wǎng)格的數(shù)據(jù)點(diǎn)數(shù)量基本一致。實(shí)驗(yàn)顯示當(dāng)數(shù)據(jù)量方差較小時(shí),索引的速度有所加快。

2. 快速查找范圍凝練(使用機(jī)器學(xué)習(xí)方法)

在凝練搜索范圍的過(guò)程中,通過(guò)使用學(xué)習(xí)索引模型,RMI(Recursive Model Index),這一個(gè)多層線性回歸模型的索引結(jié)構(gòu),加速范圍索引的速度。論文中稱之為piecewise linear model。

實(shí)驗(yàn)

本文在Sales,OSM,Perform三個(gè)真實(shí)數(shù)據(jù)上進(jìn)行了試驗(yàn)。

同時(shí),還驗(yàn)證了數(shù)據(jù)扁平化等優(yōu)化方法在提升索引速度上的有效性。

責(zé)任編輯:gt

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

    關(guān)注

    8

    文章

    2947

    瀏覽量

    73729
  • 數(shù)據(jù)庫(kù)
    +關(guān)注

    關(guān)注

    7

    文章

    3737

    瀏覽量

    64173
  • 引擎
    +關(guān)注

    關(guān)注

    1

    文章

    357

    瀏覽量

    22498
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    優(yōu)化TPS546xx的布局實(shí)現(xiàn)熱性能

    電子發(fā)燒友網(wǎng)站提供《優(yōu)化TPS546xx的布局實(shí)現(xiàn)熱性能.pdf》資料免費(fèi)下載
    發(fā)表于 10-12 10:31 ?0次下載
    <b class='flag-5'>優(yōu)化</b>TPS546xx的<b class='flag-5'>布局</b>以<b class='flag-5'>實(shí)現(xiàn)</b>熱性能

    全球視野下的國(guó)外IP節(jié)點(diǎn)布局優(yōu)化策略

    在當(dāng)今全球化的數(shù)字時(shí)代,國(guó)外IP節(jié)點(diǎn)的布局優(yōu)化已成為企業(yè)拓展國(guó)際市場(chǎng)、提升用戶體驗(yàn)、保障數(shù)據(jù)安全與加速數(shù)據(jù)傳輸?shù)年P(guān)鍵要素。
    的頭像 發(fā)表于 10-10 08:11 ?133次閱讀

    如何利用三種 SOT-563 封裝實(shí)現(xiàn)共同布局

    電子發(fā)燒友網(wǎng)站提供《如何利用三種 SOT-563 封裝實(shí)現(xiàn)共同布局.pdf》資料免費(fèi)下載
    發(fā)表于 09-10 14:25 ?0次下載
    如何<b class='flag-5'>利用</b>三種 SOT-563 封裝<b class='flag-5'>實(shí)現(xiàn)</b>共同<b class='flag-5'>布局</b>

    MATLAB中的矩陣索引

    對(duì)矩陣進(jìn)行索引是從矩陣中選擇或修改部分元素的一種方式。MATLAB 有幾種索引樣式,它們不僅功能強(qiáng)大、靈活,而且可讀性強(qiáng)、表現(xiàn)力強(qiáng)。矩陣是 MATLAB 用來(lái)組織和分析數(shù)據(jù)的一個(gè)核心組件,索引
    的頭像 發(fā)表于 09-05 09:28 ?301次閱讀
    MATLAB中的矩陣<b class='flag-5'>索引</b>

    一文了解MySQL索引機(jī)制

    的呢?一起靜下心來(lái),耐心看完這篇文章吧,干貨不啰嗦,相信你一定會(huì)有所收獲。 一、索引模型 模型也就是數(shù)據(jù)結(jié)構(gòu),常見(jiàn)的三種模型分別是哈希表、有序數(shù)組和搜索樹(shù)。 了解MySQL的朋友已經(jīng)知道,現(xiàn)在MySQL默認(rèn)使用的是InnoDB存儲(chǔ)
    的頭像 發(fā)表于 07-25 14:05 ?196次閱讀
    一文了解MySQL<b class='flag-5'>索引</b>機(jī)制

    開(kāi)關(guān)電源PCB布局優(yōu)化,人人都該懂的“黃金法則”是什么?

    問(wèn):開(kāi)關(guān)電源板布局的黃金法則優(yōu)化電路板布局是開(kāi)關(guān)電源設(shè)計(jì)中的一個(gè)關(guān)鍵。良好的布局可確保開(kāi)關(guān)穩(wěn)壓器的穩(wěn)定運(yùn)行,并將輻射干擾和傳導(dǎo)電磁干擾(EMI)降至。雖然這是電子開(kāi)發(fā)人員所熟知的常識(shí),
    發(fā)表于 07-01 17:11

    ClickHouse內(nèi)幕(3)基于索引的查詢優(yōu)化

    ClickHouse索引采用唯一聚簇索引的方式,即Part內(nèi)數(shù)據(jù)按照order by keys有序,在整個(gè)查詢計(jì)劃中,如果算子能夠有效利用輸入數(shù)據(jù)
    的頭像 發(fā)表于 06-11 10:46 ?837次閱讀
    ClickHouse內(nèi)幕(3)基于<b class='flag-5'>索引</b>的查詢<b class='flag-5'>優(yōu)化</b>

    佰維存儲(chǔ)RAID固件優(yōu)化,助力數(shù)據(jù)中心強(qiáng)化效能與安全

    人工智能和物聯(lián)網(wǎng)等先進(jìn)技術(shù)的普及將推動(dòng)對(duì)數(shù)據(jù)存儲(chǔ)的需求升級(jí),企業(yè)將需要更快、更安全、更密集的SSD,以實(shí)現(xiàn)各種高性能計(jì)算。隨著固態(tài)硬盤技術(shù)
    發(fā)表于 04-16 18:18 ?387次閱讀
    佰維<b class='flag-5'>存儲(chǔ)</b>RAID固件<b class='flag-5'>優(yōu)化</b>,助力<b class='flag-5'>數(shù)據(jù)</b>中心強(qiáng)化效能與安全

    FPGA布局布線優(yōu)化技術(shù)

    寄存器排序是布局工具把多位寄存器的相鄰位分組放進(jìn)單個(gè)邏輯元件所利用的方法。大多數(shù)基于單元的邏輯元件有不止一個(gè)觸發(fā)器,因此,相鄰位放置在一起,時(shí)序可以被優(yōu)化
    發(fā)表于 03-29 11:30 ?311次閱讀
    FPGA<b class='flag-5'>布局</b>布線<b class='flag-5'>優(yōu)化</b><b class='flag-5'>技術(shù)</b>

    數(shù)據(jù)存儲(chǔ)技術(shù)未來(lái)發(fā)展趨勢(shì)與前景展望

    數(shù)據(jù)存儲(chǔ)對(duì)于數(shù)據(jù)挖掘與分析、數(shù)據(jù)整合與共享、智能決策支持、業(yè)務(wù)模式創(chuàng)新以及優(yōu)化資源配置等方面具有重要作用。按照
    發(fā)表于 02-27 09:29 ?3070次閱讀
    <b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>存儲(chǔ)</b><b class='flag-5'>技術(shù)</b>未來(lái)發(fā)展趨勢(shì)與前景展望

    谷歌搜索引優(yōu)化的各個(gè)方面和步驟

    谷歌搜索引擎是最受歡迎和廣泛使用的搜索引擎之一,為了使你的網(wǎng)站在谷歌上更好地排名并提高曝光度,你可以采取一些谷歌搜索引優(yōu)化的步驟。 使用關(guān)鍵字研究工具,如Google AdWords
    的頭像 發(fā)表于 01-25 10:29 ?779次閱讀

    Mysql索引是什么東西?索引有哪些特性?索引是如何工作的?

    作為開(kāi)發(fā)人員,碰到了執(zhí)行時(shí)間較長(zhǎng)的 sql 時(shí),基本上大家都會(huì)說(shuō)” 加個(gè)索引吧”。但是索引是什么東西,索引有哪些特性,下面和大家簡(jiǎn)單討論一下。
    的頭像 發(fā)表于 12-24 16:20 ?1069次閱讀
    Mysql<b class='flag-5'>索引</b>是什么東西?<b class='flag-5'>索引</b>有哪些特性?<b class='flag-5'>索引</b>是如何工作的?

    磁盤中RocketMQ構(gòu)建的索引結(jié)構(gòu)

    下,消息索引存儲(chǔ)是基于數(shù)據(jù)庫(kù)系統(tǒng)或者基于本地文件系統(tǒng)實(shí)現(xiàn)的,受限于磁盤容量,很難滿足海量數(shù)據(jù)的寫入訴求。 在云原生場(chǎng)景下,對(duì)象
    的頭像 發(fā)表于 12-22 10:43 ?341次閱讀
    磁盤中RocketMQ構(gòu)建的<b class='flag-5'>索引</b>結(jié)構(gòu)

    如何優(yōu)化晶振布局與連接?

    如何優(yōu)化晶振布局與連接 晶振是電子設(shè)備中常見(jiàn)的元件之一,用于提供時(shí)鐘信號(hào)和穩(wěn)定的頻率參考。在進(jìn)行晶振布局和連接時(shí),需要考慮一系列的因素以確保其工作穩(wěn)定可靠。本文將詳細(xì)介紹如何優(yōu)化晶振
    的頭像 發(fā)表于 12-18 14:09 ?741次閱讀

    c語(yǔ)言中多維數(shù)組可以嵌套定義

    C語(yǔ)言中多維數(shù)組可以嵌套定義,這使得我們可以在一個(gè)數(shù)組中存儲(chǔ)另一個(gè)數(shù)組。通過(guò)這種方式,我們可以創(chuàng)建更加復(fù)雜和靈活的數(shù)據(jù)結(jié)構(gòu),以便更好地表示和處理各種類型的數(shù)據(jù)。 首先,我們先介紹
    的頭像 發(fā)表于 11-24 10:18 ?931次閱讀