數(shù)據(jù)庫加速API及相關(guān)存儲引擎研究
發(fā)布時間:2022-12-10 03:08
隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,對數(shù)據(jù)庫系統(tǒng)海量信息高效檢索的性能要求越來越高,對快速響應(yīng)各種查詢提出了新的需求,因此針對數(shù)據(jù)庫系統(tǒng)探索一個通用可靠且支持軟硬件協(xié)同處理的數(shù)據(jù)庫加速API顯得尤為必要。本論文基于CPU與FPGA組成的異構(gòu)系統(tǒng),設(shè)計了一個層次化的數(shù)據(jù)庫加速API,并兼容數(shù)據(jù)庫MySQL設(shè)計了一個支持硬件加速的存儲引擎。本論文的研究工作主要分為以下三個方面:(1)分析數(shù)據(jù)庫硬件加速的基本思想和主要方式,結(jié)合主流的關(guān)系型數(shù)據(jù)庫MySQL的特點,提出了一種將部分SQL語句下推至FPGA中進行計算,從而實現(xiàn)數(shù)據(jù)庫查詢加速的軟件架構(gòu)。(2)針對數(shù)據(jù)庫MySQL的查詢語句,設(shè)計并實現(xiàn)了支持SQL卸載的存儲引擎,該存儲引擎支持基于查詢的過濾和投影操作的處理,能將SQL語句解析為真值表等形式供硬件識別。(3)設(shè)計并實現(xiàn)了數(shù)據(jù)庫加速API,為用戶提供一套加速功能API,同時實現(xiàn)對硬件設(shè)備的統(tǒng)一管理、狀態(tài)監(jiān)測和任務(wù)調(diào)度,構(gòu)建了數(shù)據(jù)庫操作從CPU處理到FPGA計算的通路。在Linux系統(tǒng)下構(gòu)建完成了測試平臺。測試結(jié)果表明,數(shù)據(jù)庫加速API能完成存儲引擎過濾和投影操作的調(diào)度,并實現(xiàn)FPGA資源的動態(tài)利...
【文章頁數(shù)】:87 頁
【學位級別】:碩士
【文章目錄】:
致謝
摘要
ABSTRACT
1 緒論
1.1 研究背景
1.2 國內(nèi)外研究現(xiàn)狀
1.2.1 關(guān)系型數(shù)據(jù)庫的發(fā)展
1.2.2 非關(guān)系型數(shù)據(jù)庫的發(fā)展
1.2.3 現(xiàn)代數(shù)據(jù)庫的研究現(xiàn)狀
1.3 論文研究內(nèi)容與組織結(jié)構(gòu)
1.4 本章小結(jié)
2 相關(guān)技術(shù)概要
2.1 MySQL數(shù)據(jù)庫
2.1.1 MySQL體系結(jié)構(gòu)
2.1.2 查詢語句處理
2.1.3 模塊協(xié)作
2.1.4 MySQL代碼的核心類
2.2 存儲引擎的動態(tài)存儲管理
2.2.1 MySQL插件式存儲引擎概述
2.2.2 InnoDB引擎體系架構(gòu)
2.2.3 InnoDB引擎的動態(tài)存儲分配技術(shù)
2.3 本章小結(jié)
3 數(shù)據(jù)庫加速結(jié)構(gòu)總體方案
3.1 設(shè)計背景
3.1.1 應(yīng)用場景
3.1.2 系統(tǒng)平臺
3.2 數(shù)據(jù)庫加速存儲引擎結(jié)構(gòu)
3.2.1 設(shè)計概述
3.2.2 數(shù)據(jù)流通路
3.3 數(shù)據(jù)庫加速API平臺設(shè)計方案
3.3.1 數(shù)據(jù)庫加速庫層設(shè)計
3.3.2 硬件抽象層設(shè)計
3.3.3 硬件管理層設(shè)計
3.3.4 設(shè)備驅(qū)動層設(shè)計
3.4 數(shù)據(jù)庫加速硬件結(jié)構(gòu)
3.5 本章小結(jié)
4 數(shù)據(jù)庫加速軟件實現(xiàn)
4.1 數(shù)據(jù)庫加速存儲引擎實現(xiàn)
4.1.1 存儲引擎的加載與卸載
4.1.2 表操作組件
4.1.3 存儲管理與同步機制
4.1.4 SQL卸載到存儲引擎中的實現(xiàn)
4.1.5 存儲引擎調(diào)用API
4.2 數(shù)據(jù)庫加速API平臺的實現(xiàn)
4.2.1 數(shù)據(jù)庫加速庫層實現(xiàn)
4.2.2 硬件抽象層實現(xiàn)
4.2.2.1 抽象加速功能
4.2.2.2 硬件資源調(diào)度器
4.2.3 硬件管理層實現(xiàn)
4.2.3.1 任務(wù)執(zhí)行實現(xiàn)
4.2.3.2 硬件狀態(tài)管理
4.2.3.3 加速卡內(nèi)存管理
4.3 本章小結(jié)
5 系統(tǒng)測試與結(jié)果分析
5.1 測試環(huán)境
5.2 數(shù)據(jù)庫加速引擎測試
5.2.1 加載與卸載存儲引擎
5.2.2 表操作
5.2.3 加速組件
5.3 數(shù)據(jù)庫加速API平臺測試
5.3.1 數(shù)據(jù)庫加速庫層功能測試
5.3.2 硬件抽象層功能測試
5.3.3 硬件管理層功能測試
5.4 系統(tǒng)測試
5.4.1 加速系統(tǒng)測試
5.4.2 實驗結(jié)果分析
5.5 本章小結(jié)
6 總結(jié)和展望
6.1 總結(jié)
6.2 展望
參考文獻
作者簡歷
【參考文獻】:
期刊論文
[1]數(shù)據(jù)庫技術(shù)的發(fā)展與主流技術(shù)[J]. 宋淑玲,丁蕊. 黑龍江科技信息. 2009(01)
[2]基于MySQL的高可用可擴展架構(gòu)探討[J]. 簡朝陽. 程序員. 2010(06)
[3]芻議數(shù)據(jù)庫技術(shù)現(xiàn)狀與發(fā)展趨勢[J]. 郭京,唐珂馨. 計算機光盤軟件與應(yīng)用. 2013(14)
[4]內(nèi)存數(shù)據(jù)庫的可用性綜述[J]. 江澤源,劉輝林,吳剛,王國仁. 華東師范大學學報(自然科學版). 2014(05)
[5]淺析內(nèi)存數(shù)據(jù)庫中的幾種關(guān)鍵技術(shù)[J]. 段敏娟,何強. 技術(shù)與市場. 2015(01)
[6]FPGA動態(tài)部分可重構(gòu)技術(shù)概述[J]. 張宇,范建華,呂遵明,王統(tǒng)祥. 計算機與現(xiàn)代化. 2014(03)
[7]“后關(guān)系型”數(shù)據(jù)庫Caché在HIS中的應(yīng)用研究[J]. 康世英. 微處理機. 2014(05)
[8]并行數(shù)據(jù)庫技術(shù)分析與展望[J]. 林榮智. 信息通信. 2016(12)
[9]X-DB:軟硬一體的新型數(shù)據(jù)庫系統(tǒng)[J]. 張鐵贏,黃貴,章穎強,王劍英,胡煒,趙殿奎,何登成. 計算機研究與發(fā)展. 2018(02)
[10]數(shù)據(jù)庫技術(shù)的發(fā)展現(xiàn)狀與趨勢研究[J]. 李天輪. 科技風. 2019(02)
碩士論文
[1]數(shù)據(jù)庫加速引擎加速方案研究[D]. 黃河.華中科技大學 2006
本文編號:3715930
【文章頁數(shù)】:87 頁
【學位級別】:碩士
【文章目錄】:
致謝
摘要
ABSTRACT
1 緒論
1.1 研究背景
1.2 國內(nèi)外研究現(xiàn)狀
1.2.1 關(guān)系型數(shù)據(jù)庫的發(fā)展
1.2.2 非關(guān)系型數(shù)據(jù)庫的發(fā)展
1.2.3 現(xiàn)代數(shù)據(jù)庫的研究現(xiàn)狀
1.3 論文研究內(nèi)容與組織結(jié)構(gòu)
1.4 本章小結(jié)
2 相關(guān)技術(shù)概要
2.1 MySQL數(shù)據(jù)庫
2.1.1 MySQL體系結(jié)構(gòu)
2.1.2 查詢語句處理
2.1.3 模塊協(xié)作
2.1.4 MySQL代碼的核心類
2.2 存儲引擎的動態(tài)存儲管理
2.2.1 MySQL插件式存儲引擎概述
2.2.2 InnoDB引擎體系架構(gòu)
2.2.3 InnoDB引擎的動態(tài)存儲分配技術(shù)
2.3 本章小結(jié)
3 數(shù)據(jù)庫加速結(jié)構(gòu)總體方案
3.1 設(shè)計背景
3.1.1 應(yīng)用場景
3.1.2 系統(tǒng)平臺
3.2 數(shù)據(jù)庫加速存儲引擎結(jié)構(gòu)
3.2.1 設(shè)計概述
3.2.2 數(shù)據(jù)流通路
3.3 數(shù)據(jù)庫加速API平臺設(shè)計方案
3.3.1 數(shù)據(jù)庫加速庫層設(shè)計
3.3.2 硬件抽象層設(shè)計
3.3.3 硬件管理層設(shè)計
3.3.4 設(shè)備驅(qū)動層設(shè)計
3.4 數(shù)據(jù)庫加速硬件結(jié)構(gòu)
3.5 本章小結(jié)
4 數(shù)據(jù)庫加速軟件實現(xiàn)
4.1 數(shù)據(jù)庫加速存儲引擎實現(xiàn)
4.1.1 存儲引擎的加載與卸載
4.1.2 表操作組件
4.1.3 存儲管理與同步機制
4.1.4 SQL卸載到存儲引擎中的實現(xiàn)
4.1.5 存儲引擎調(diào)用API
4.2 數(shù)據(jù)庫加速API平臺的實現(xiàn)
4.2.1 數(shù)據(jù)庫加速庫層實現(xiàn)
4.2.2 硬件抽象層實現(xiàn)
4.2.2.1 抽象加速功能
4.2.2.2 硬件資源調(diào)度器
4.2.3 硬件管理層實現(xiàn)
4.2.3.1 任務(wù)執(zhí)行實現(xiàn)
4.2.3.2 硬件狀態(tài)管理
4.2.3.3 加速卡內(nèi)存管理
4.3 本章小結(jié)
5 系統(tǒng)測試與結(jié)果分析
5.1 測試環(huán)境
5.2 數(shù)據(jù)庫加速引擎測試
5.2.1 加載與卸載存儲引擎
5.2.2 表操作
5.2.3 加速組件
5.3 數(shù)據(jù)庫加速API平臺測試
5.3.1 數(shù)據(jù)庫加速庫層功能測試
5.3.2 硬件抽象層功能測試
5.3.3 硬件管理層功能測試
5.4 系統(tǒng)測試
5.4.1 加速系統(tǒng)測試
5.4.2 實驗結(jié)果分析
5.5 本章小結(jié)
6 總結(jié)和展望
6.1 總結(jié)
6.2 展望
參考文獻
作者簡歷
【參考文獻】:
期刊論文
[1]數(shù)據(jù)庫技術(shù)的發(fā)展與主流技術(shù)[J]. 宋淑玲,丁蕊. 黑龍江科技信息. 2009(01)
[2]基于MySQL的高可用可擴展架構(gòu)探討[J]. 簡朝陽. 程序員. 2010(06)
[3]芻議數(shù)據(jù)庫技術(shù)現(xiàn)狀與發(fā)展趨勢[J]. 郭京,唐珂馨. 計算機光盤軟件與應(yīng)用. 2013(14)
[4]內(nèi)存數(shù)據(jù)庫的可用性綜述[J]. 江澤源,劉輝林,吳剛,王國仁. 華東師范大學學報(自然科學版). 2014(05)
[5]淺析內(nèi)存數(shù)據(jù)庫中的幾種關(guān)鍵技術(shù)[J]. 段敏娟,何強. 技術(shù)與市場. 2015(01)
[6]FPGA動態(tài)部分可重構(gòu)技術(shù)概述[J]. 張宇,范建華,呂遵明,王統(tǒng)祥. 計算機與現(xiàn)代化. 2014(03)
[7]“后關(guān)系型”數(shù)據(jù)庫Caché在HIS中的應(yīng)用研究[J]. 康世英. 微處理機. 2014(05)
[8]并行數(shù)據(jù)庫技術(shù)分析與展望[J]. 林榮智. 信息通信. 2016(12)
[9]X-DB:軟硬一體的新型數(shù)據(jù)庫系統(tǒng)[J]. 張鐵贏,黃貴,章穎強,王劍英,胡煒,趙殿奎,何登成. 計算機研究與發(fā)展. 2018(02)
[10]數(shù)據(jù)庫技術(shù)的發(fā)展現(xiàn)狀與趨勢研究[J]. 李天輪. 科技風. 2019(02)
碩士論文
[1]數(shù)據(jù)庫加速引擎加速方案研究[D]. 黃河.華中科技大學 2006
本文編號:3715930
本文鏈接:http://sikaile.net/kejilunwen/shengwushengchang/3715930.html
最近更新
教材專著