新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 內存數據庫系統,NVDIMM和數據持久性

        內存數據庫系統,NVDIMM和數據持久性

        作者: 時間:2016-09-12 來源:網絡 收藏

        隨著從通信設備到航空裝備和工業控制器等技術中對數據管理需求的不斷增長,以及受到這些設備中不斷增加的板載CPU、RAM和存儲資源的推動,管理系統(DBMS)軟件在電子設備中越來越普及。設備上的規模大小不一,從幾個GB的數據到支持電信計費/信用系統的等級評定和余額管理應用,再到10GB以上的IP路由器的控制層以及100GB以上的電信呼叫路由數據庫。

        本文引用地址:http://www.104case.com/article/201609/303648.htm

        數據庫管理系統--曾經與商業應用、臺式機和web應用幾乎完全關聯在一起--為了滿足當今電子設備的需求而經過了長足的發展。設計師經常采用的內存數據庫系統(IMDS)是在主存中存儲記錄,因此可以消除許多延時源,比如通過硬連線接進數據庫管理系統的緩存和文件管理,這些源將數據永久存儲在硬盤或閃存中(下圖1顯示了這些延時源)。因此與傳統“硬盤上的”數據庫管理系統相比,內存數據庫系統的執行速度可以快好幾個數量級。它們的設計也更簡單,可以最大限度地減少對CPU周期的需求,進而允許使用更小功耗和更低成本的處理器。

        圖1:傳統(磁盤上)數據庫系統中的延時源。

        然而,易失性有時是一個使人擔心的因素。當發生斷電或系統故障時,主存中的內容將消失。一些應用可以容忍這種風險。例如,存儲在機頂盒中的基于RAM的電子節目指南在發生電源故障時會丟失,但利用有線電視頭端或衛星接收機中的信息可以很快重建。然而,其它許多電子設備要求更高等級的數據庫持久性和可恢復性。舉例來說,一些醫療設備要求記錄隨時間變化的癥狀以支持臨床決策--這些數據在發生電源故障時不能突然消失。網絡路由器和交換機通常將配置數據永久地存儲在閃存中。將這種配置數據保存在內存中也是有意義的,可以實現更快的重啟--但數據需要是可恢復的。面臨DRAM易失性挑戰的還有“讀取”指紋或臉部的掃描儀。為了允許或拒絕訪問安全設施,掃描儀需要將這些數據與存儲在設備上的內存數據庫系統中的生物特征數據進行匹配。如果訪問控制系統發生了故障,系統必須能夠很快恢復。

        應用例子:內存數據庫系統和工業控制器

        在工業控制系統中,在控制器中集成內存數據庫系統可以支持‘扁平的’控制系統架構。數據在這種架構中存儲和處理,一些控制決策在獨立控制器層產生;而在相反(和傳統)的層次化系統架構中,存儲在控制器層的數據通常被限制用于控制變量。

        內存數據庫系統易失性解決方案

        解決這種易失性問題已有相應的解決方案。以電池供電RAM形式出現的非易失性內存可以在系統斷電時在DRAM芯片上保持數據不變,不過這種方法沒有得到廣泛普及,因為存在嚴格的溫度要求、漏電流風險、有限的電池使用壽命和其它缺點。

        內存數據庫系統軟件本身可以提供數據持久性機制。舉例來說,借助事務日志功能,這種數據庫系統可以在日志文件中創建一條條事務記錄(對數據庫進行的一組修改必須作為一個整體完成或失敗),在發生故障后這些記錄可以用來恢復數據庫。但記錄本身要求寫入永久存儲器,因此性能上會有些下降。

        減輕易失性問題的另外一種內存數據庫系統功能是數據庫復制,即獨立節點中的一個或多個備用內存數據庫與主數據庫保持同步。如果主節點失效,這些數據庫的復制品之一將接替主節點的角色。雖然管理同步(和有可能發生的故障轉移)的過程和節點之間的通信會引起一些延時,但同步可以很快發生。當復制品數量增加或節點間的物理距離增加時,性能成本也會增加??梢杂貌煌膹椭撇呗詠砉芾硌訒r。同步或“2-safe”復制方法要求數據庫事務在復制節點和主節點上同時完成,而異步或“1-safe”復制方法允許事務在復制節點上完成之前提交給主數據庫。異步方法提供更短的源保持時間,因此速度更快,但一致性和持久性差一些。

        S:非易性RAM,無需電池

        非易失性雙列直插式內存模塊或的出現增加了針對內存數據庫持久性的一種新工具。采用標準記憶棒的形式,可插入現有的DIMM插座,因此簡化了到現成平臺的集成。通常它們包含標準DRAM、NAND閃存和超級電容電源。在正常工作時,這種技術提供了高速DRAM的性能。當發生斷電事件時,超級電容提供的瞬時電能可用來將主存內容寫入NAND閃存芯片,實現永久保存。當電源恢復時,NVDIMM將NAND閃存中的數據恢復到DRAM中。

        對于內存數據庫來說,NVDIMM的作用與電池供電型RAM是類似的,但沒有后者所需的電池及其缺點。McObject公司以前就做過這方面的努力,其eXtremeDB內存數據庫系統可以與電池供電型RAM一起工作。公司很想將使用NVDIMM的內存數據庫系統作為主要存儲器。目前有多家供應商可以提供NVDIMM。我們使用AgigA Tech公司的產品對eXtremeDB進行了測試,因為我們非常熟悉AgigA公司的母公司--賽普拉斯半導體。同時我們把測試僅限于AgigA的NVDIMM(比如沒有測試來自VikingTechnology和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操作系統。


        上一頁 1 2 3 下一頁

        關鍵詞: 數據庫 NVDIMM

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 芦山县| 隆回县| 图片| 望城县| 赫章县| 江华| 金川县| 贺州市| 方山县| 岑巩县| 兰溪市| 马龙县| 桃园县| 张家港市| 浮山县| 正镶白旗| 澄迈县| 乐业县| 汝城县| 英德市| 阳东县| 郁南县| 沈丘县| 渑池县| 松溪县| 太湖县| 松江区| 大宁县| 临西县| 凯里市| 文昌市| 沽源县| 青海省| 天等县| 朝阳市| 布拖县| 大埔区| 图们市| 万源市| 景泰县| 黎川县|