物联网分布式数据库系统优化研究
惠宝锋+管庆春
摘 要:对于物联网核心技术之一的数据库而言,选择分布式数据库是对该物联网最好的方式。而数据库优化才能更好地满足业务数据的实时存储与海量数据的分析,以及数据库处理相应速度的提升。分布式系统优化是结合监测对象和监测数据相对应数据库的内部因素优化,以及数据库外部因素优化,最终达到数据库优化目的。
关键词:物联网;分布式数据库优化;SQL;传感器;终端
数据库负责存储由感知层收集的感知数据,所用到的数据库管理系统可选择大型分布式数据库管理系统(SQL Server)。
只有对现有数据库进行必要的优化和改进,才能实现无缝连接状态。它的添加、查询、更新、删除等操作简单,极大地降低了开发时间和成本,具有较高的性价比。数据库就可以直接进行对象存储,可以自定义数据加密算法,非常适合用于嵌入式应用。
首先,根据不同数据库的不同特点,针对不同情况使用的数据库类型也不同。其次,设计过程要有前瞻性,不仅着眼于试点项目,更要针对性地适合与于实际项目。也就是说实际的项目可能面对更加多样化、复杂的传输网络和数据,设计时要考虑到更广泛的适应性。
1 物联网与分布式数据库的关系
物联网与分布式数据库有着密不可分的关系。一方面,物联网的发展离不开数据库的支撑。物联网将使用大量传感器,采集到的数据量也十分巨大。这些收集的信息需要通过无线传感网、移动互联网向特定存储和处理设施发送,而使用分布式数据库缓存等系列技术来承载这些任务具有非常显著的性价比优势。另一方面,分布式数据库技术对这些数据进行处理、加工、分析、转换,可更加迅速、准确、智能地对事物信息进行管理、查询和控制,可以更加及时、准确地管理事物,从而大幅提高资源利用率和生产力水平。分布式数据库凭借其强大的运算能力、储存能力和很高的性能,自然就成为物联网的后台数据库。另外,随着物联网针对社会不同等领域解决方案的落地,物联网必将成为分布式数据库最大的用户,为数据库技术取得更广泛的应用带来空间。
2 分布式数据库的优化
对查询进行优化,尽量避免全表查询,首先应在where及order by涉及的列上建立相应索引。应尽量避免在where子句中使用模糊类型的操作符。应避免在where子句中对字段进行空值判断,否则将导致引擎放弃使用索引而进行全表查询。例如:在大气环境监测物联网传感器数据库中,查询t_rtdata表中的id值是否为Null,SQL语句为:select id from t_rtdata where num is null,可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t_rtdata where num=0。
应尽量避免在where子句中对字段进行函数操作,这将导致引擎放弃使用索引而进行全表扫描。如在大气环境监测物联网大气数据库中的object表和userinfor表中,最终代码为select id from object where name like NO%
select id from userinfor where dt>=2015-10-30 and dt<2015-11-30
3 数据库外部优化
3.1 计算机系统硬件优化
由于数据库是构架在计算机系统之上的,所以计算机系统硬件也关乎数据库的效率。计算机系统硬件的优化相对于数据库也尤为重要,主要包括:CPU、Cache、内存、存储器、输入输出设备。
3.1.1 CPU优化
计算机的性能在很大程度上由CPU的性能决定,数据库的效率也就直接由CPU影响。而影响CPU运行速度的性能指标包括CPU的工作频率、Cache容量、指令系统和逻辑结构等参数。这就要求在选择CPU时注重其参数的选择。
3.1.2 Cache优化
高速缓冲存储器(Cache)是一种特殊的存储器子系统,其中复制了频繁使用的数据以利于快速访问。常使用高速缓冲存储器,通过合理设置cache的大小,尽量将DMA用到的缓冲开在片内RAM上。
3.1.3 内存优化
程序在运行时,Windows会将其直接调入到物理内存中,但物理内存毕竟有限,因此,可以在主机中的硬盘中设置合适的物理内存,加大分页文件的空间,提升主机运行数据库的效率,通过内存优化的好处是:首先将物理内存部分程序引入到虚拟内存后,再启动程序、从而使系统运行的速度变得更快,达到提升主机运行系统的工作效率。
3.1.4 存储器优化
存储器(Memory)是用于保存信息的记忆设备。充分利用光盘存储、网络存储和云存储等方式对主机的存储方式和速度进行提升和优化,从而使主机对数据库的提取数据,分析数据和利用数据进行优化。
3.2 网络结构优化
由于该大气环境监测物联网分布式数据库是基于网络传输数据的,所以网络结构也将影响数据库的效率。网络结构优化的方法有:网络优化和基站优化2种。
3.2.1 网络优化
对网络中的双频指900M和1800M频率资源,可大致将1800M网络的优化分为3个阶段:初期,局部连片引入1800M网络;中期,加大1800M网络建设力度,在市区全覆盖,分流提升网络质量;后期,加大1800M网络的不间断覆盖,更多分流900M网络,进一步增强话务吸收能力。
3.2.2 基站优化
传统网络立体4层结构包括4个部分的内容:高层站、中层站、低层站和室分站。通过对网络建设优化的目标容量的扩容,通过容量的多方位吸收来降低干扰,从而改善网络质量。达到基站优化
3.3 网络通信方式优化
分布式数据库对时间延误率和网络效率要求较高,多以采用全双工的通信方式。
首先,在此采用双绞线和全双工的集线器,通过这种组合使网络的全双工方式可以最大限度地充分利用,从而发挥全双工传输的威力。
其次,数据库之间进行数据通信可采用并行通信和串行通信方式,由于串行方式适合于远距离传输,虽然传输率低,但串行通信从发送端到接收端只需要一根传输线,一次只传送一位二进制的数据,从而可以采用网络中普遍的串行通信方式来达到网络通信方式的优化
3.4 I/O设备优化
该大气环境监测物联网分布式数据库中的I/O设备主要是传感器、基站和数据库终端计算机的显示屏和键盘,以及服务器I/O。
传感器和基站的优化受制于当地的环境气候以及其本身质量,传感器放置点需要经过细致的审查与判定,与勘测数据的精细相结合。采用高品质、高质量的传感器有助于数据的采集,对传感器和基站的维护工作也是其优化的关键。
在物联网分布式数据库中可以建立虚拟机,并且根据虚拟机的灵活性,在此基础上增加外挂,通过增加物理网络连接的量,通过数据中心配置确保特定的功能,实现服务器和数据库的充分利用。
将I/O虚拟化后,通过与存储和网络适配器相似的设备来连接和分配哪些软件端口而非物理端口,可以提升主机的效率,实现物联网数据库的优化。
4 结语
通过对物联网数据库的内部优化和外部优化,可以在较大范围提升物联网数据库的使用效率和速度,尤其在对大气环境监测物理网分布式数据库优化需要全面综合各方面进行优化才能提高数据库的效率,实现物联网数据库的优化。
[参考文献]
[1]International Telecommunication Union UIT.ITU Internet Reports2005:The Internet of Things[R].2005.
[2]刘砚黄,张进春,逄利华.面向物联网架构的数据库系统概述[J].办公自动化杂志,2014(2):39-42.
[3]徐贤.完美物联网系统离不开匹配的数据库支撑[EB/OL].[2010-12-16].http://www.ce.cn/cysc/communications/yjdt/201012/16/ t20101216_20609903.shtml.
[4]蒋科,俞建峰.物联网在十大重点领域中的应用前景[J].物联网技术,2012(10):81-83.
[5]张锦春,逄宏业.实时数据库系统关键技术及实现[J].计算机应用研究,2005(3):45-47.
Study on Internet of Things Distributed Database System Optimization
Hui Baofeng, Guan Qingchun
(Qinghai University for Nationalities, Xining 810007, China)
Abstract:For databases IOT one of the core technology, the choice of distributed database is the best way of things. The database optimization in order to better meet the real-time analysis of business data and mass data storage, and database processing corresponding speed increase. Distributed system optimization is a combination of monitoring and surveillance data objects corresponding to the database to optimize internal factors, external factors, and database optimization.
Key words: Internet of things; distributed database optimization; SQL; sensor; terminal