資料介紹
隨著從通信設備到航空裝備和工業控制器等技術中對數據管理需求的不斷增長,以及受到這些設備中不斷增加的板載CPU、RAM和存儲資源的推動,數據庫管理系統(DBMS)軟件在電子設備中越來越普及。設備上的數據庫規模大小不一,從幾個GB的數據到支持電信計費/信用系統的等級評定和余額管理應用,再到10GB以上的IP路由器的控制層數據庫以及100GB以上的電信呼叫路由數據庫。
數據庫管理系統——曾經與商業應用、臺式機和web應用幾乎完全關聯在一起——為了滿足當今電子設備的需求而經過了長足的發展。設計師經常采用的內存數據庫系統(IMDS)是在主存中存儲記錄,因此可以消除許多延時源,比如通過硬連線接進數據庫管理系統的緩存和文件管理,這些源將數據永久存儲在硬盤或閃存中(下圖1顯示了這些延時源)。因此與傳統“硬盤上的”數據庫管理系統相比,內存數據庫系統的執行速度可以快好幾個數量級。它們的設計也更簡單,可以最大限度地減少對CPU周期的需求,進而允許使用更小功耗和更低成本的處理器。
圖1:傳統(磁盤上)數據庫系統中的延時源。
然而,易失性有時是一個使人擔心的因素。當發生斷電或系統故障時,主存中的內容將消失。一些應用可以容忍這種風險。例如,存儲在機頂盒中的基于RAM的電子節目指南在發生電源故障時會丟失,但利用有線電視頭端或衛星接收機中的信息可以很快重建。然而,其它許多電子設備要求更高等級的數據庫持久性和可恢復性。舉例來說,一些醫療設備要求記錄隨時間變化的癥狀以支持臨床決策——這些數據在發生電源故障時不能突然消失。網絡路由器和交換機通常將配置數據永久地存儲在閃存中。將這種配置數據保存在內存中也是有意義的,可以實現更快的重啟——但數據需要是可恢復的。面臨DRAM易失性挑戰的還有“讀取”指紋或臉部的掃描儀。為了允許或拒絕訪問安全設施,掃描儀需要將這些數據與存儲在設備上的內存數據庫系統中的生物特征數據進行匹配。如果訪問控制系統發生了故障,系統必須能夠很快恢復。
應用例子:內存數據庫系統和工業控制器
在工業控制系統中,在控制器中集成內存數據庫系統可以支持‘扁平的’控制系統架構。數據在這種架構中存儲和處理,一些控制決策在獨立控制器層產生;而在相反(和傳統)的層次化系統架構中,存儲在控制器層的數據通常被限制用于控制變量。
內存數據庫系統易失性解決方案
解決這種易失性問題已有相應的解決方案。以電池供電RAM形式出現的非易失性內存可以在系統斷電時在DRAM芯片上保持數據不變,不過這種方法沒有得到廣泛普及,因為存在嚴格的溫度要求、漏電流風險、有限的電池使用壽命和其它缺點。
內存數據庫系統軟件本身可以提供數據持久性機制。舉例來說,借助事務日志功能,這種數據庫系統可以在日志文件中創建一條條事務記錄(對數據庫進行的一組修改必須作為一個整體完成或失敗),在發生故障后這些記錄可以用來恢復數據庫。但記錄本身要求寫入永久存儲器,因此性能上會有些下降。
減輕易失性問題的另外一種內存數據庫系統功能是數據庫復制,即獨立節點中的一個或多個備用內存數據庫與主數據庫保持同步。如果主節點失效,這些數據庫的復制品之一將接替主節點的角色。雖然管理同步(和有可能發生的故障轉移)的過程和節點之間的通信會引起一些延時,但同步可以很快發生。當復制品數量增加或節點間的物理距離增加時,性能成本也會增加。可以用不同的復制策略來管理延時。同步或“2-safe”復制方法要求數據庫事務在復制節點和主節點上同時完成,而異步或“1-safe”復制方法允許事務在復制節點上完成之前提交給主數據庫。異步方法提供更短的源保持時間,因此速度更快,但一致性和持久性差一些。
NVDIMMS:非易性RAM,無需電池
非易失性雙列直插式內存模塊或NVDIMM的出現增加了針對內存數據庫持久性的一種新工具。NVDIMM采用標準記憶棒的形式,可插入現有的DIMM插座,因此簡化了到現成平臺的集成。通常它們包含標準DRAM、NAND閃存和超級電容電源。在正常工作時,這種技術提供了高速DRAM的性能。當發生斷電事件時,超級電容提供的瞬時電能可用來將主存內容寫入NAND閃存芯片,實現永久保存。當電源恢復時,NVDIMM將NAND閃存中的數據恢復到DRAM中。
對于內存數據庫來說,NVDIMM的作用與電池供電型RAM是類似的,但沒有后者所需的電池及其缺點。McObject公司以前就做過這方面的努力,其eXtremeDB內存數據庫系統可以與電池供電型RAM一起工作。公司很想將使用NVDIMM的內存數據庫系統作為主要存儲器。目前有多家供應商可以提供NVDIMM.我們使用AgigA Tech公司的產品對eXtremeDB進行了測試,因為我們非常熟悉AgigA公司的母公司——賽普拉斯半導體。同時我們把測試僅限于AgigA的NVDIMM(比如沒有測試來自Viking Technology和Smart Modular Technologies公司的NVDIMM),這主要是因為我們的時間和資源非常有限。因此本文中提到的測試只是從概念上證明,內存數據庫系統可以與NVDIMM一起作為存儲器,達到與使用傳統DRAM相當的性能,并且能夠利用NVDIMM的恢復功能恢復由于系統故障“丟失的”內存數據庫。
測試還解決了在同時要求低延時和數據可恢復性的應用中使用內存數據庫系統時經常出現的另外一個問題,即采用事務日志記錄的內存數據庫系統在多大程度上能保持其性能優于基于磁盤的數據庫管理系統?對于后面這些涉及永久存儲器(內存數據庫系統的事務日志存儲,以及在采用磁盤上的數據庫管理系統情況下的整個數據庫)的測試,存儲“設備”包含了用AGIGARAM NVDIMM配置的RAM盤。下面給出了使用RAM盤而不是傳統硬盤或固態硬盤的理由。
測試中使用的AgigA Tech公司NVDIMM是設計用于Intel的Romley和Grantley平臺(采用Sandy Brdige、Ivy Bridge、Haswell和Broadwell處理器架構)的。McObject在Intel Oak Creek Canyon參考主板中使用了4GB AGIGARAM DDR3-1600 NVDIMM,以及Intel奔騰雙核CPU 1407 @ 2.8 GHz處理器和8GB的金士頓普通DDR3-1333 DRAM,運行的是Debian Linux 2.6.32.5操作系統。
測試應用程序執行5次數據庫操作,每次循環構成一個數據庫事務,并包含至少兩個操作實例(見圖2)。基準應用程序記錄在兩種數據庫類型中的每一個(磁盤上的數據庫管理系統和帶事務日志的內存數據庫系統,或“IMDS+TL”)和兩種內存(NVDIMM和傳統DRAM)情況下每毫秒完成的循環次數。測試應用程序使用了eXtremeDB自己的C/C++應用編程接口(API)。
數據庫管理系統——曾經與商業應用、臺式機和web應用幾乎完全關聯在一起——為了滿足當今電子設備的需求而經過了長足的發展。設計師經常采用的內存數據庫系統(IMDS)是在主存中存儲記錄,因此可以消除許多延時源,比如通過硬連線接進數據庫管理系統的緩存和文件管理,這些源將數據永久存儲在硬盤或閃存中(下圖1顯示了這些延時源)。因此與傳統“硬盤上的”數據庫管理系統相比,內存數據庫系統的執行速度可以快好幾個數量級。它們的設計也更簡單,可以最大限度地減少對CPU周期的需求,進而允許使用更小功耗和更低成本的處理器。
圖1:傳統(磁盤上)數據庫系統中的延時源。
然而,易失性有時是一個使人擔心的因素。當發生斷電或系統故障時,主存中的內容將消失。一些應用可以容忍這種風險。例如,存儲在機頂盒中的基于RAM的電子節目指南在發生電源故障時會丟失,但利用有線電視頭端或衛星接收機中的信息可以很快重建。然而,其它許多電子設備要求更高等級的數據庫持久性和可恢復性。舉例來說,一些醫療設備要求記錄隨時間變化的癥狀以支持臨床決策——這些數據在發生電源故障時不能突然消失。網絡路由器和交換機通常將配置數據永久地存儲在閃存中。將這種配置數據保存在內存中也是有意義的,可以實現更快的重啟——但數據需要是可恢復的。面臨DRAM易失性挑戰的還有“讀取”指紋或臉部的掃描儀。為了允許或拒絕訪問安全設施,掃描儀需要將這些數據與存儲在設備上的內存數據庫系統中的生物特征數據進行匹配。如果訪問控制系統發生了故障,系統必須能夠很快恢復。
應用例子:內存數據庫系統和工業控制器
在工業控制系統中,在控制器中集成內存數據庫系統可以支持‘扁平的’控制系統架構。數據在這種架構中存儲和處理,一些控制決策在獨立控制器層產生;而在相反(和傳統)的層次化系統架構中,存儲在控制器層的數據通常被限制用于控制變量。
內存數據庫系統易失性解決方案
解決這種易失性問題已有相應的解決方案。以電池供電RAM形式出現的非易失性內存可以在系統斷電時在DRAM芯片上保持數據不變,不過這種方法沒有得到廣泛普及,因為存在嚴格的溫度要求、漏電流風險、有限的電池使用壽命和其它缺點。
內存數據庫系統軟件本身可以提供數據持久性機制。舉例來說,借助事務日志功能,這種數據庫系統可以在日志文件中創建一條條事務記錄(對數據庫進行的一組修改必須作為一個整體完成或失敗),在發生故障后這些記錄可以用來恢復數據庫。但記錄本身要求寫入永久存儲器,因此性能上會有些下降。
減輕易失性問題的另外一種內存數據庫系統功能是數據庫復制,即獨立節點中的一個或多個備用內存數據庫與主數據庫保持同步。如果主節點失效,這些數據庫的復制品之一將接替主節點的角色。雖然管理同步(和有可能發生的故障轉移)的過程和節點之間的通信會引起一些延時,但同步可以很快發生。當復制品數量增加或節點間的物理距離增加時,性能成本也會增加。可以用不同的復制策略來管理延時。同步或“2-safe”復制方法要求數據庫事務在復制節點和主節點上同時完成,而異步或“1-safe”復制方法允許事務在復制節點上完成之前提交給主數據庫。異步方法提供更短的源保持時間,因此速度更快,但一致性和持久性差一些。
NVDIMMS:非易性RAM,無需電池
非易失性雙列直插式內存模塊或NVDIMM的出現增加了針對內存數據庫持久性的一種新工具。NVDIMM采用標準記憶棒的形式,可插入現有的DIMM插座,因此簡化了到現成平臺的集成。通常它們包含標準DRAM、NAND閃存和超級電容電源。在正常工作時,這種技術提供了高速DRAM的性能。當發生斷電事件時,超級電容提供的瞬時電能可用來將主存內容寫入NAND閃存芯片,實現永久保存。當電源恢復時,NVDIMM將NAND閃存中的數據恢復到DRAM中。
對于內存數據庫來說,NVDIMM的作用與電池供電型RAM是類似的,但沒有后者所需的電池及其缺點。McObject公司以前就做過這方面的努力,其eXtremeDB內存數據庫系統可以與電池供電型RAM一起工作。公司很想將使用NVDIMM的內存數據庫系統作為主要存儲器。目前有多家供應商可以提供NVDIMM.我們使用AgigA Tech公司的產品對eXtremeDB進行了測試,因為我們非常熟悉AgigA公司的母公司——賽普拉斯半導體。同時我們把測試僅限于AgigA的NVDIMM(比如沒有測試來自Viking Technology和Smart Modular Technologies公司的NVDIMM),這主要是因為我們的時間和資源非常有限。因此本文中提到的測試只是從概念上證明,內存數據庫系統可以與NVDIMM一起作為存儲器,達到與使用傳統DRAM相當的性能,并且能夠利用NVDIMM的恢復功能恢復由于系統故障“丟失的”內存數據庫。
測試還解決了在同時要求低延時和數據可恢復性的應用中使用內存數據庫系統時經常出現的另外一個問題,即采用事務日志記錄的內存數據庫系統在多大程度上能保持其性能優于基于磁盤的數據庫管理系統?對于后面這些涉及永久存儲器(內存數據庫系統的事務日志存儲,以及在采用磁盤上的數據庫管理系統情況下的整個數據庫)的測試,存儲“設備”包含了用AGIGARAM NVDIMM配置的RAM盤。下面給出了使用RAM盤而不是傳統硬盤或固態硬盤的理由。
測試中使用的AgigA Tech公司NVDIMM是設計用于Intel的Romley和Grantley平臺(采用Sandy Brdige、Ivy Bridge、Haswell和Broadwell處理器架構)的。McObject在Intel Oak Creek Canyon參考主板中使用了4GB AGIGARAM DDR3-1600 NVDIMM,以及Intel奔騰雙核CPU 1407 @ 2.8 GHz處理器和8GB的金士頓普通DDR3-1333 DRAM,運行的是Debian Linux 2.6.32.5操作系統。
測試應用程序執行5次數據庫操作,每次循環構成一個數據庫事務,并包含至少兩個操作實例(見圖2)。基準應用程序記錄在兩種數據庫類型中的每一個(磁盤上的數據庫管理系統和帶事務日志的內存數據庫系統,或“IMDS+TL”)和兩種內存(NVDIMM和傳統DRAM)情況下每毫秒完成的循環次數。測試應用程序使用了eXtremeDB自己的C/C++應用編程接口(API)。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 眾包數據庫基本技術及主流系統分析比較 7次下載
- 數據庫系統原理與應用教程之關系數據庫的詳細資料說明 4次下載
- 數據庫系統的基礎知識點詳細概述 0次下載
- 數據庫系統概論之如何進行關系查詢處理和查詢優化 11次下載
- 數據庫系統概論之如何進行數據庫編程的資料概述 13次下載
- 數據庫系統概論之數據庫管理系統詳細資料概述 0次下載
- 數據庫與數據庫管理系統的30個知識點的詳細資料概述 6次下載
- 系統分析用戶指南(英文版) 0次下載
- 系統分析方法 0次下載
- 數據庫系統輔助測試工具 22次下載
- 基于RTX的實時數據庫系統關鍵技術研究 0次下載
- 數據庫系統安全風險及安全策略 0次下載
- DCS仿真系統的內存-關系型數據庫系統的構成
- DCS組態軟件實時數據庫系統的設計
- Oracle數據庫系統應用實例集錦與編程 0次下載
- 單端口網絡S參數測量系統分析 479次閱讀
- 數據庫分區、分庫和分表 1954次閱讀
- 互聯網領域常見的數據庫架構方案 1155次閱讀
- MySQL數據庫免安裝版配置教程 1433次閱讀
- 云數據庫和自建數據庫的區別及應用 4410次閱讀
- 關于數據庫安全技術的概述 1785次閱讀
- 內存數據庫系統全面解析 4140次閱讀
- 基于嵌入式數據庫的海量存儲技術解析 2701次閱讀
- 數據庫入門書籍推薦 3.7w次閱讀
- 數據庫引擎是什么 1.1w次閱讀
- oracle數據庫應用領域 2.5w次閱讀
- 醫院SQL數據庫系統語句優化 5218次閱讀
- 目前流行的數據庫_構建數據庫系統的流程 7076次閱讀
- 數據庫的發展歷史分為哪幾個階段_各有什么特點 4.1w次閱讀
- 基于COM技術的SCADA系統數據庫設計 2343次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多