论文部分内容阅读
随着大数据处理等技术的快速发展,现代城市智能交通系统也出现了许多新的发展机遇。目前各大城市都建立了专用车辆数据采集网络,所采集的数据逐渐形成了极具价值的大规模交通流数据。上述交通数据具有种类多,速率快,总量大的特点,使用关系型数据库存储这些交通数据时存在写入延迟高、水平扩展能力差等问题。以HBase为代表的NoSQL类数据库由于采用了简单数据模型,相对于关系数据库,具有存储速度快,扩展性高、存储容量大等特点,非常适合作为交通数据的存储介质。但是NoSQL数据库在实际运用过程中,还存在一些问题。就HBase而言:(1)对于行键具有连续性递增或者递减特质的流数据,数据写入时会形成降低写入性能的写入热点。此外HBase写入过程中的参数设置也会对数据库的写入性能产生较大影响。(2)HBase集群支持动态扩展,但现有工作基本都采用手动扩展方式,对自动动态扩展支持不足。(3)未提供标准SQL语句的查询接口支持。为此本文设计并实现了一种基于HBASE的交通流数据实时存储系统DeCloud-RealBase,主要研究工作如下:1、为提升交通流数据的实时写入能力,设计多级缓冲、多线程、预分区、行键结构等写入优化策略。此外还实现了非实时的已存在的历史流数据向HBase集群数据库的迁移。2、在集群扩展方面,摒弃了传统手动扩展Hadoop集群和HBase集群的方法,通过shell脚本实现了HBase集群地动态伸缩。一方面加快了集群扩展的速度,另一方面节省了用户时间,也避免了复杂的集群部署所带来的配置失误问题。3、使用开源的SQL解析器GSQLParser对标准的SQL语句进行语句和语义的解析,然后将其转化为HBase查询语言,并结合HBase的协处理器Coprocessors实现了标准的SQL语句在HBase数据库中地查询。4、最后对本系统进行了实验验证。实验结果表明,本文系统在大部分情况下拥有良好的扩展、存储和查询性能,可以满足实际需要。