您的位置: turnitin查重官网> 工程 >> 电气工程 >> 电气工程及自动化 >简谈分析基于嵌入式数据库海量存储技术

简谈分析基于嵌入式数据库海量存储技术

收藏本文 2024-02-18 点赞:14069 浏览:58377 作者:网友投稿原创标记本站原创

摘要:对经典的嵌入式数据库Berkeley DB展开相关的分析,和一般的数据库进行比较,其具备了体积小、功能齐全、可移植性、强壮性等各种特点。把嵌入式数据库中的Berkeley DB运用于网络性能管理系统(NPMS)的范围之中,具体分析介绍了多进程体系、多数据库加锁体系与多附加数据库查询体系的操作实现,能够较理想地解决网络性能管理系统之中对于海量数据技术的实质存储问题,有利于促进系统数据信息存取速度的提升,从而能够改进与完善系统的总体操作性能。
关键词:嵌入式数据库 Berkeley DB 海量存储技术
1007-9416(2013)04-0080-02

1 嵌入式数据库

一般情况下都使用数据库来达到数据信息的存储与搜索检测等各种功能的操作目的。比如MySQL这种类型的基于C/S模式的关系型数据库操作系统,尽管其代表了当前数据库应用领域的主流技术,但不可以满足全部实际应用实践场合的具体要求。许多的实际应用一般只利使用这部分数据库产品的相关基本功能性质。有的场合应当需要的或许仅仅为一项简易的磁盘文件类型数据库操作系统,这样的情况则不需要安装大型的数据库怎么写作器,以便能够简化数据库应用操作程序的构建规模。在某一部分具体的特别应用实践场合,例如在嵌入式操作系统当中,因为系统相应的硬件与软件资源都显得十分有限,这部分数据库相关产品就表现出冗余。鉴于这种实际情况之下,嵌入式数据库的强大优势就凸显出来了。

2 Berkeley DB介绍

Berkeley DB是根据sleepycat software进行开发而实现的轻量级别嵌入式数据库,其不但可以适用在嵌入式系统之中,还能够进行应用操作程序内部的直接连接处理,与实际的应用程序在同一个地址空间上进行执行。通常情况下,Berkeley DB数据库系统可以被分成五个子系统,如图1所示。

2.1 存取管理子系统

这子系统能够为创建与访问数据库文件处理操作提供基本的条件支持。在缺乏相应的事务管理项目的状况下,这子系统中的部分模块可以被单独地执行,为应用操作程序提供高速有效的数据信息存取处理怎么写作。

2.2 内存池管理子系统

这子系统作为Berkeley DB中所使用到的通用式共享内存缓冲区域,这子系统能够被应用操作程序单独地执行操作。

2.3 事务子系统

这子系统能够为Berkekey DB提供基础事务管理操作处理功能,可以充分保证操作处理的原则性、一致性与孤立性等各项原则。此事务子系统能够适用于对事务保证要求高的数据信息实行修改操作的实际场合。

2.4 锁子系统

这子系统能够提供各个进程之间与进程内部的并发管理操作体系,可以为系统提供多种用户读取操作与单个用户修改执行同一个对象的共享式管理控制操作。这子系统能够被应用操作程序单独地执行。

2.5 日志子系统

这子系统使用的是先完成日志的编写策略,能够支持事务子系统实现数据恢复的功能,从而可以确保数据信息的一致性。

3 嵌入式数据库的海量存储技术分析

3.1 Berkeley DB海量数据存储

传统模式的网络操作管理软件在实现海量数据存储环节中大多数使用大型的关系型数据库系统,因为网络操作管理软件应当和数据库怎么写作器实现通信联系,这样的形式导致了系统综合性能的降低。同时伴随着网络使用规模的扩大,数据信息采集的需求不断增加,繁琐的数据库读写处理操作不能及时处理通过实时方式获取的海量数据信息,从而使得相应的数据信息丢失,影响网络管理真实程度,甚至可能会使得系统直接瘫痪。MRTG能够定期地对数据信息实行整合处理,依据记录数据信息的对应日期不同然而会以不同的粒度形式实现数据信息的保存处理。伴随着时间效应的积累作用,相对应数据信息的粒度会发生逐渐变大的现象,然而这种形式存在着两个方面的缺点。其一为对于所要存储的数据信息粒度受到相应的限制作用,不可以从中获取到一个月时间之前的具体某天平均每半个小时的相应数据信息;其二为当每一次进行数据信息采集处理之后,MRTG都会依据具体日志文件实行流量图的生成,并且会以HTML的格式体现出来,对于实际的应用实践场合,一个端口处的相应数据流量统计分析图形会被使用用户调用所查看得到的概率将会远远小于没有被调用的概率,所以消耗了大量程度用于生成具体图形的系统规模开销。应用嵌入式数据库Berkeley DB能够直接连接进入到相关的应用操作程序的内部,与应用操作程序执行于同一处的地址存储空间,所以其不需要和其它的数据库应用操作程序实行通信操作,从而能够提升应用操作程序的效率,减低磁盘实际操作的时间损耗,有利于防止数据信息因为磁盘操作过于缓慢而导致的数据信息出现丢失结果的现象。其并不是每一次的采集工作都可以生成相应的图形,而应当是适当引入触发控制管理方式的“按需成图”模式,当根据客户实际需要查看在某一段时间范围内的图形或者是处于某一个端口数据流量又或者是某一种具体怎么写作的相应图形等情况时, 只可以对生成图的相应控制模块实现相关的操作处理,生成图的控制模块应当向数据库系统里查询特殊的数据信息从而生成相应的图形。

3.2 多进程、多数据库加锁机制实现海量数据存储

网络操作管理的重要前提基础应当是数据信息的采集操作,全面系统与实时有效地采集到相应的全部数据信息,然后对于数据信息实现分类集中汇总,进而可以促使网络操作管理软件的具体操作实现,包括了网络实际性能的数据实时监测、系统实际性能的数据实时监测、实践应用性能的数据实时监测、SLA怎么写作质量标准规范化管理、故障分析预警处理、DOS攻击来源定位、病毒位置扫描、数据统计分析报告、网络操作容量变化趋势分析、系统操作管理和特殊维护等各方面的功能。因为Berkeley DB中的单个数据库相应容量只有256TB,然而网络操作管理的数据信息相当的庞大,为了能够扩大其充分存储空间容量,使用了多个数据库的处理方法。数据库名是以具体的24小时制的方式进行命名的,用于存储放置这小时里面能够采集得到的数据信息[3]。同时为了能够缓冲网络操作管理环节当中所采集得到的海量数据信息,使用消息队列机制的模式,父进程把采集得到的数据信息先写入到相应的消息队列中。然后子进程能够从相应的消息队列中读取得到数据信息写入到数据库中。运用以上的方法是以具体时间点作为单位而命名数据库,存储放置在相应时间范围内的数据信息。可是因为路由器偶然会出现数据信息滞留的现象,如果根据上述的存储模式方法将可能会存入到对应时间点的数据库,从而会使得存储数据信息出现失真的现象,并不能够作为网络此时刻的真实反馈。为了能够顺利有效地解决这一种现象,当每一次打开两个数据库进行操作时,即在打开当前时间点的相应数据库的同时又打开前一个时间点的相应数据库。当收到相应的数据包时,依据数据包中相应的Netflow/sFlow流到达路由器的具体时间点来判断辨识到哪一个数据库。因为上述的两个具体原因中,数据库系统中会存在着多个子进程进行写入数据库的操作,检测设不能够实行一定的相应措施则很容易就会发生一系列的实际问题。
4 结语
本文主要论述了在实际项目的设计开发与实践试验的过程当中,应当分别各自以不同数量级形式的记录进行关系型数据库Mysql与嵌入试数据库BerkeleyDB的写入操作处理,通过比较可以发现引入嵌入式数据库Berkeley DB能够大大提升系统的存储效率与处理速度,促使存取所需的时间会大大减少。由此可知嵌入式数据库中的Berkeley DB在实际海量数据存储处理技术上相对于关系型数据库具有时间与效率上的优势特点,但是数据库系统相应的中采集到的数据信息相当庞大,如何利用Berkeley DB数据库进行的海量数据存储或者压缩等处理是十分值得分析与探讨的重要问题。
参考文献
陈坚.一种微型嵌入式数据库系统的设计与实现[J].微计算机信息,2005,12-2:37-40.
万玛宁,关永.嵌入式数据库典型技术SQLite和Berkeley DB的研究[J].微计算机信息,2006,22(1):2.
[3]肖文鹏.开源嵌入式数据库Berkeley DB. http://tech.ccidnet.com,2004
[4]刘震,罗欣.嵌入式实时数据库技术研究[J].电子产品世界,2005(2):57-61.
[5]吴士力,刘奇,朱兰.嵌入式Linux应用开发全程解析与实战[M].北京:机械工业出版社, 2010.

摘自:学术论文翻译www.udooo.com

    copyright 2003-2024 Copyright©2020 Powered by 网络信息技术有限公司 备案号: 粤2017400971号