首頁 資料庫 mysql教程 嵌入式内存数据库引擎的设计

嵌入式内存数据库引擎的设计

Jun 07, 2016 pm 03:23 PM
記憶體 嵌入式 引擎 科技 資料庫 社群 設計 進入

欢迎进入IT技术社区论坛,与200万技术人员互动交流 >>进入 1 嵌入式内存数据库技术发展的现状 数据库理论与技术的发展极其迅速,其应用日益广泛,在当今的信息社会中,它几乎无所不在。以关系型为代表的三大经典(层次、网状、关系)型数据库在传统的(商务和管

欢迎进入IT技术社区论坛,与200万技术人员互动交流 >>进入

  1 嵌入式内存数据库技术发展的现状

  数据库理论与技术的发展极其迅速,其应用日益广泛,在当今的信息社会中,它几乎无所不在。以关系型为代表的三大经典(层次、网状、关系)型数据库在传统的(商务和管理的事务型)应用领域获得了极大成功,然而它们在现代的(非传统)工程和时间关键型应用面前却显得软弱无力,面临着新的严峻的挑战,由此而导致了嵌入式实时数据库的产生和发展。在实时应用中,事务在运行前的操作逻辑(操作类型、顺序等)、数据集及其结构、行为以及时间的相关性等都是可预分析的。然而,对磁盘数据库而言,数据的I/O 是造成事务执行时间不确定、预报不准确的关键因素。为此,要求以大内存作为实时数据库的主要存储介质,使一个事务在活动期间没有I/O,以达到较准确的预报,从而满足实时事务的定时限制。但这要解决两个问题,就是适当的数据安置和适时的内外存交换。随着内存技术的高速发展,内存数据库技术日益成熟,在非实时系统中也得到了广泛的应用。

  内存数据库(MMDB)把数据库的主拷贝(即“工作版本”)常驻在内存,使系统性能得到了极大的提高。但是,由于所有操作直接作用于内存中的数据库主拷贝上,数据库极易受到操作系统和应用软件错误造成的破坏,而且,数据库恢复所包含的I/O 操作(如做日志、备份等)在事务运行不需要I/O 操作的内存数据库系统中也显得极为突出。因此,内存数据库的恢复机制对系统性能有重要的影响作用,内存数据库的恢复较之传统的磁盘数据库的恢复要复杂得多,也关键得多。数据恢复是内存数据库可靠、实用的关键,恢复技术的研究已成为MMDB 研究领域最热门的课题。

  2 内存数据库的定义

  内存数据库的定义不应涉及内存的大小、存取数据所需I/O 的多少、数据何时进入及怎样才能留驻内存等这些具体的实现技术,而只包含数据库常驻内存(而不是磁盘)、事务(不是系统)的数据存取只涉及内存的意思。其本质特征是其“主拷贝”或“工作版本”常驻内存,即活动事务只与实时内存数据库的内存拷贝打交道。显然,它要求较大的内存量,但并不要求任何时刻整个数据库都能存放在内存,即内存数据库系统还是要处理I/O。传统的磁盘数据库即使缓冲区足够大,以致可以容纳所有数据也不能算是一个MMDB。因为它是针对磁盘特性、在数据库常驻磁盘的假定下设计的。例如,索引结构还是针对磁盘存取的,数据的存取仍必须经过缓冲区管理等。内存数据库的组织与管理要求新的适于内存特点的数据结构和算法,对于数据的组织与安置、数据库存取、内外存数据交换、查询处理及优化、并发控制及数据库恢复都需要研究新的策略与机制。

  内存数据库是一个较新的研究领域,结合各方面参考,现给出如下定义:

  定义:设有数据库DB,DBM(t)是t 时刻DB 在内存中的数据集,DBM(t)真包含于DB; T S 为所有事务的集合,A T(t)是t 时刻的活动事务集,A T(t)真包含于T S;D t(T)为T 在t 时刻的操作数据集,D t(T)真包含于DB;若在任一时刻t,均有:

  对任一事务有T∈A T(t),D t(T)真包含于DBM(t)成立,则称DB 为一个内存数据库,简记为MMDB 。

  按此定义,MMDB 的“工作版本”(当然也可以是整个数据库)常驻内存,任何一个事务在执行过程中没有内外存间的数据I/O。显然,它需要一定的内存容量,但并不要求整个数据库都必须常驻在内存。

  3 内存数据库的特点

  3.1 内存数据库数据存储的组织和管理一个MMDB的逻辑整体主要由两个部分构成,即内存版本与外存版本。主存储器是易失内存,它存放MMDB的“工作版本”。它在逻辑上被划分为若干分区,一

  个分区用来存放一个关系的数据。每个分区又物理地由若干相互链接的块组成。一块是一个固定长度的连续区域,它是内外存I/O的单位,也是内存分配、回收以及对MMDB进行恢复的单位。索引与数据记录分离存放。

  NV-RAM(NO Vola tile RAM)兼有内存读写速度快和在后备电池维护的情况下非易失的特点,但价格昂贵,不便插拔,广泛用于嵌入式系统,并可与Flash-RAM配合使用,充当Flash-RAM 写缓冲区。NV-RAM是主存储器的拓延,目前可用UPS、固态磁盘或磁盘Cache等实现。主存数据与NV-RAM数据一起统称为MMDB的“内存版本”。

  磁盘存储器用来存放未在内存的那一部分数据库数据,同时也用作数据库恢复的备份,我们称之为“外存版本”。为便于实现内外存间的数据交换,可将磁盘数据在逻辑上划分为与内存块同样长度的定长块,建立相同类型的索引。

  3.2 事务处理

  当内存数据库用于非实时系统时,除了日志和系统恢复的具体方式跟传统数据库差异比较大以外,事务处理过程与传统数据库的事务处理相似;然而,当内存数据库用于实时系统时,既实时内存数据库中,事务处理由于受到了时间上的限制,传统数据库的事务处理已经不再适用。传统的“ACID” 的事务概念及模型对实时事务不适合。实时事务表现出了许多不同的特征,如实时性和相关性。虽然实时事务的正确性与传统事务一样,也包括数据库状态正确性和事务执行正确性两个方面,但其含义与内容有很大的不同。在实时事务中,数据库状态正确性包含内部一致性和时间一致性,事务执行正确性则包含其结果正确性、行为正确性、结构正确性和时间正确性等。事务调度也要采取相关的实时调度算法。本文中讨论的内存数据库引擎针对非实时系统。

  3. 3 系统恢复

  数据库的备份是数据库的副本以及一些控制信息,在出现故障的情况下,可以随时用它进行恢复。数据库备份最小化了数据丢失,能够让您使用恢复过程,从备份副本中重新构造失败的数据库。有多种类型的失败导致需要恢复数据库。其中包括语句失败、用户错误、进程失败、数据库实例失败、媒介失败等。但不是所有类型的失败都需要进行人工交互。但是,在内存数据库系统中,由于所有操作都直接作用于内存中的数据库主拷贝上,数据库极易受到操作系统和应用软件错误造成的破坏,因此MMDB的恢复技术如备份、检验点(Checkpoint)和重启动(restart)等都较常规的磁盘数据库(DRDB)复杂。人们从体系结构、事务提交、日志系统到备份、检验点算法等各个方面进行了大量的研究和探索。日志管理是内存数据库恢复机制中至关重要的一环。由于内存有易失性,日志最好保存于另一稳妥的介质上(如磁盘、非易失内存等),而对日志的I/O操作又将在某种程度上影响MMDB的性能,可能成为瓶颈影响系统的事务吞吐量。为此,人们研究了各种各样的解决办法,比如构造非易失内存用于保存部分日志;采用“成组提交”的技术,使用影子内存技术等来解决日志瓶颈问题。在检验点方面,为了提高系统效率,通常力图使检验点操作和事务处理同时进行。为了提高速度指标和综合性能,MMDB系统往往利用附加的硬件设备如非易失内存、专用的日志处理器、检验点处理器等来支持高效、快速的数据恢复。

  4.1 3G平台中数据库子系统整体架构

  4.1.1 数据库系统各功能模块在3G平台系统中的位置 3G软件平台包括图1所示的除OS和BSP外的6大软件子系统。

  DataBase 子系统负责管理平台的物理资源和平台实现的信令、协议的配置信息,同时向其它子系统提供数据库访问接口。它工作于操作系统之上。承载子系统向业务子系统、信令子系统、OAM和网管子系统提供ATM、IP、等方面的承载服务。它工作于操作系统和DataBase 子系统之上。 信令子系统实现窄带No.7 信令、宽带No.7 信令、IP信令、网关控制信令,向业务处理子系统提供服务。它工作于操作系统、DataBase子系统和承载子系统之上。系统控制子系统负责对整个系统的监控、启动、版本下载等。它工作于操作系统和DataBase 子系统之上。

  OAM 和网管子系统提供平台与网管后台的统一接口,负责对平台的协议、信令进行配置和管理,以及提供必要的统计数据。它工作于操作系统、承载子系统、DataBase子系统之上。

  业务处理子系统实现系统提供的各种业务。它工作于操作系统、承载子系统、信令子系统、DataBase子系统之上。

  数据库子系统分布在3G 平台各处理器上。从结构上看数据库子系统属于分布式数据库系统;主要为平台各个子系统提供数据支持,并为将来其上的扩展业务提供支持易扩充机制的数据库模型。

  4.1.2 数据库子系统内部模块划分

  数据库子系统内部划分五大功能模块,支持数据来源为RAM、FLASH、硬盘特定格式以及商用数据库等多种介质。五大功能模块分别是:输入输出模块、对象管理模块、业务处理模块、维护管理模块及平台系统工具包。

  输入输出模块(I/O模块)负责完成整个平台所有与硬件介质相关的数据、装载、转储、存储空间管理等等相关功能。

  对象管理模块是整个平台的核心模块(DBCORE),完成主体功能,即对内存数据、表、索引、锁等等系列对象的核心组织功能,对整个系统的性能高低有决定性的影响。提供简易的内部并发控制手段。

  业务处理模块是针对数据库平台的用户提供的使用接口层,完成对内存数据库的访问服务。可以支持API 方式及类SQL 访问方式。支持分布式数据访问方式。 维护管理模块完成对整个平台系统的监控及管理,包括探针、告警、日志、实时业务跟

  踪、远程网络访问等等系列功能的实施。 平台系统工具包针对各模块均有完善的工具支持,具体如下:介质层工具:各类特定介质的数据存储文件检索、修改、生成。 对象管理模块工具:根据对象属性区别性选择生成主体程序框架,若无特殊要求,生成

  的代码可直接用于对象管理。 I/O 模块工具:根据内存数据库分布模型,生成数据装载、转储及内存数据存储空间

  管理等框架代码;业务处理子系统工具,常规API 代码生成。 维护管理模块工具:接口跟踪、日志等输出文件的检索、管理工具。其他:各类对象(表、索引……)设计及相关说明文档生成。

  4. 2 系统对象设计原理和处理流程本子系统是按照面对对象的方法进行设计的,因此在叙述系统处理流程时以子系统的各个对象为主线,而同步流程和监控流程设计上有其自身特点,对它们的叙述以过程为主线。

  本子系统的数据分为数据表、索引、队列、同步实例、监控实例、单向资源队列六大类。其中数据表为数据库组织的核心,然后为数据定位的方便建立索引,为资源管理的方便建立了队列,出于数据同步的需要建立了同步实例,出于资源监控的需要,建立了监控实例,而单向资源队列作为辅助数据表和同步实例的内存管理之用。

  以上除单向资源队列外每一类数据都定义为系统的数据对象类,系统对于同一对象类的数据统一定义,统一管理。一个具体的数据对象称为某一数据对象类的数据实例。系统为表、索引、队列、同步、监控的所有数据实例统一分配唯一一个32 位整数加以标识,称为数据实例句柄。对数据实例的存取都是通过数据实例句柄进行的。采用这种方式的一个优点是数据管理的稳定性不随着数据实例的增加而变化,有利于系统的稳定。另一个优点是便于数据对象类的扩充,由于不同数据对象类别分别管理,数据对象类之间的独立性确保在扩充数据对象类后,不破坏原有数据的安全性。

  单向资源队列作为在表对象和同步对象内部使用的对象。没有统一分配句柄,相关的表通过保存单向资源队列对象的指针实现操作。

  5 小结:

  本文作者创新点是本文首先介绍了嵌入式内存数据库技术现状,然后简单介绍了内存数据库技术的特点等并提出了一个适用于3G平台的嵌入式内存数据库引擎,随着计算机技术的高速发展和人们对信息处理速度不断增长的需求,大容量的内存数据库和经过精简的嵌入式内存数据库将会有越来越大的应用空间。目前,还没有比较好的通用的嵌入式内存数据库产品,进行这方面的开发和实现将会有很大的市场潜力和空间。

嵌入式内存数据库引擎的设计

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1317
25
PHP教程
1268
29
C# 教程
1246
24
大內存優化,電腦升級16g/32g內存速度沒什麼變化怎麼辦? 大內存優化,電腦升級16g/32g內存速度沒什麼變化怎麼辦? Jun 18, 2024 pm 06:51 PM

對於機械硬碟、或SATA固態硬碟,軟體運轉速度的提升會有感覺,如果是NVME硬碟,可能感覺不到。一,註冊表導入桌面新建一個文字文檔,複製貼上如下內容,另存為1.reg,然後右鍵合併,並重新啟動電腦。 WindowsRegistryEditorVersion5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement]"DisablePagingExecutive"=d

消息稱三星電子、SK 海力士堆疊式行動記憶體 2026 年後商業化 消息稱三星電子、SK 海力士堆疊式行動記憶體 2026 年後商業化 Sep 03, 2024 pm 02:15 PM

本站9月3日消息,韓媒etnews當地時間昨報道稱,三星電子和SK海力士的「類HBM式」堆疊結構行動記憶體產品將在2026年後實現商業化。消息人士表示這兩大韓國記憶體巨頭將堆疊式行動記憶體視為未來重要收入來源,並計劃將「類HBM記憶體」擴展到智慧型手機、平板電腦和筆記型電腦中,為端側AI提供動力。綜合本站先前報導,三星電子的此類產品叫做LPWideI/O內存,SK海力士則將這方面技術稱為VFO。兩家企業使用了大致相同的技術路線,即將扇出封裝和垂直通道結合在一起。三星電子的LPWideI/O內存位寬達512

金邦推出全新 DDR5 8600 內存,提供 CAMM2、LPCAMM2 及常規型號可選 金邦推出全新 DDR5 8600 內存,提供 CAMM2、LPCAMM2 及常規型號可選 Jun 08, 2024 pm 01:35 PM

本站6月7日消息,金邦(GEIL)在2024台北國際電腦展上推出了其最新DDR5解決方案,而且給出了SO-DIMM、CUDIMM、CSODIMM、CAMM2和LPCAMM2等版本可選。 ▲圖來源:Wccftech如圖所示,金邦展出的CAMM2/LPCAMM2記憶體採用非常緊湊的設計,最高可提供128GB的容量,速度最高可達8533MT/s,其中部分產品甚至可以在AMDAM5平台上穩定超頻至9000MT/s,且無需任何輔助散熱。據介紹,金邦2024款PolarisRGBDDR5系列記憶體最高可提供8400

榮耀Magic V3首發AI離焦護眼技術:有效緩和近視發展 榮耀Magic V3首發AI離焦護眼技術:有效緩和近視發展 Jul 18, 2024 am 09:27 AM

7月12日消息,榮耀MagicV3系列今日正式發布,搭載全新榮耀視力舒緩綠洲護眼屏,在屏幕本身俱備高規格和高素質的同時,還開創性的引入AI主動式護眼技術。據悉,傳統的緩解近視的方式是“近視鏡”,近視眼鏡度數均勻分佈,保證了視線中心區域成像在視網膜之上,但周邊區域成像在視網膜後,視網膜感應到成像在後,促進眼軸向後生長,從而使度數加深。目前主要的緩解近視發展的方式之一是“離焦鏡”,其中心區域度數正常,週邊區域透過光學設計分區調整,從而使周邊區域成像落在視網膜前,

iOS 18 新增「已復原」相簿功能 可找回遺失或損壞的照片 iOS 18 新增「已復原」相簿功能 可找回遺失或損壞的照片 Jul 18, 2024 am 05:48 AM

蘋果公司最新發布的iOS18、iPadOS18以及macOSSequoia系統為Photos應用程式增添了一項重要功能,旨在幫助用戶輕鬆恢復因各種原因遺失或損壞的照片和影片。這項新功能在Photos應用的"工具"部分引入了一個名為"已恢復"的相冊,當用戶設備中存在未納入其照片庫的圖片或影片時,該相冊將自動顯示。 "已恢復"相簿的出現為因資料庫損壞、相機應用未正確保存至照片庫或第三方應用管理照片庫時照片和視頻丟失提供了解決方案。使用者只需簡單幾步

DDR5 MRDIMM 和 LPDDR6 CAMM 記憶體規格蓄勢待發,JEDEC 公佈關鍵技術細節 DDR5 MRDIMM 和 LPDDR6 CAMM 記憶體規格蓄勢待發,JEDEC 公佈關鍵技術細節 Jul 23, 2024 pm 02:25 PM

本站7月23日消息,微電子標準制定方JEDEC固態技術協會當地時間22日宣布,DDR5MRDIMM和LPDDR6CAMM內存技術規範即將正式推出,並介紹了這兩項內存的關鍵細節。 DDR5MRDIMM中的「MR」即MultiplexedRank(多路復用列),這意味著此記憶體支援兩個或以上的Rank(列),並可在單一通道上組合和傳輸多個資料訊號,無需額外的物理連線就能有效提升頻寬。 JEDEC規劃了多代DDR5MRDIMM內存,目標最終將其頻寬提升至12.8Gbps,較DDR5RDIMM內存目前的6.4

雷克沙戰神之翼 ARES RGB DDR5 8000 內存圖賞:炫彩白翼支援 RGB 雷克沙戰神之翼 ARES RGB DDR5 8000 內存圖賞:炫彩白翼支援 RGB Jun 25, 2024 pm 01:51 PM

在7600MT/s、8000MT/s這樣的超高頻旗艦內存價格普遍較高的情況下,雷克沙出手了,他們推出了名為戰神之翼ARES RGB DDR5 的全新內存系列,擁有7600 C36 和8000 C38 兩種規格可選,16GB*2 套條的價格分別為1299 元和1499 元,性價比非常高。本站拿到了 8000 C38 版的戰神之翼,接下來就帶給大家它的開箱圖賞。雷克沙戰神之翼 ARES RGB DDR5 記憶體的包裝設計精良,採用醒目的黑紅配色搭配彩色印刷。包裝左上角設有專屬 &quo

1399元起 榮耀X60i手機開售:視覺四等邊OLED直屏 1399元起 榮耀X60i手機開售:視覺四等邊OLED直屏 Jul 29, 2024 pm 08:25 PM

7月29日消息,榮耀X60i手機今日正式開售,先發1,399元。設計上,榮耀X60i手機採用居中挖孔直屏設計,四邊近乎無界的超窄邊框,大大拓寬了視野邊界。榮耀X60i參數顯示器:6.7吋高清顯示器電池:5000mAh大容量電池處理器:天璣6080處理器(台積電6nm,2x2.4G的A76+6×2G的A55)系統:MagicOS8.0系統其他功能: 5G訊號增強靈動膠囊螢幕下指紋雙MIC降噪知識問答攝影能力:後置雙攝系統:5000萬像素主攝200萬像素輔助鏡頭前置自拍鏡頭:800萬像素價格:8GB

See all articles