Page 191 - 安防19年1月刊
P. 191
存储,这种方式兼顾读写性能,在中小规模的数据集 在 HBase 中,数据插入和查询会被按照 ID 负载
上表现均衡,但已经很难应对目前安防采集数据庞大 均衡到各个节点中,只要保证节点数随数据总量线性
的数据写入流量。智能交通应用中,一个城市上千个 增加,数据接入效率与节点数长正比关系,查询效率
采集设备,每秒数万条数据,已经司空见惯。而 LSM 几乎恒定。然而它为高效的性能也做出了牺牲,查询
树存储引擎的设计理念完全不同,它为大数据而生, 方式单一,无法支持较为复杂的条件检索。或者条
旨在实现极致的写入性能。它的实现原理是数据首 件支持较少,不支持全文检索,按 RowKey 和 Version
先进入内存,到达一定阈值后刷写入磁盘生成文件, 检索是其主要使用模式,因此也具有一定的局限性。
随着文件增多,会定期对这些文件做合并操作,即读 搜索引擎
取多个文件,把所有数据经过整理和排序写入新的 伴随全国公安信息化建设的推进,多个部门、地
文件,以此避免大量小文件对读取性能损耗。通过采 域之间的信息融合互通已成为趋势,越来越多的档案、
用内存缓存、避免随机写而采用顺序写,使得使用 资料从纸质保存,逐步切换到云上存储。传统关系型
LSM 存储引擎的数据库拥有远超传统数据库的入库 数据库并不擅长于大文档检索,数据量不大时,还能
效率。结合基于集群的数据分区和负载均衡,其数据 使用模糊匹配应付一下,但面对海量文档,以及更高
检索性能也十分突出。 的准确度要求,其能力显得捉襟见肘。搜索引擎技术
列式存储是大数据领域非常流行的数据存储模 在协助公安实现案件库检索取得很好的效果,无论
式,传统关系型数据库数据存储单位是行,数据写入时, 在性能和检索准确率上提升明显。搜索引擎早在多
一行的数据写入连续的物理空间,这更符合人类直 年前就已广泛应用于互联网,据统计,互联网每天产
觉,就像是写文章中一样,先写一行,再写下一行。然 生的信息量达到数百 EB,而主流 Web 搜索引擎能够
而在实际安防业务应用中,常见的情况是,业务表可 在几十到数百毫秒处理用户查询并返回结果。
能有几十上百列,而常被访问的却只有几列到十几列。 文档进入到搜索引擎时,首先会进行分词处理,
以过车信息为例,访问最频繁的列是车牌号、过车时间、 分词是指将文本序列按照逻辑上的词为单元进行拆
抓拍卡口,在关系型数据库中,查询这几列我们需要 分的过程。在英文中,单词之间是以空格作为自然分
扫描所有的行,然后在这些行中找到对应的列,这个 界符的,而中文的词没有一个形式上的分界符,虽然
过程会产生大量不必要的 IO 开销。而列式存储旨在 英文也同样存在短语的划分问题,不过在词这一层上,
应对上述场景。 中文比之英文要复杂得多、困难得多,要让计算机准
列式存储是将数据每隔一定数量的行分划分为 确判断哪些是词,而哪些不是,在自然语言处理技术
多个数据块(或者称为页,可以类比书本的页),对于 中是一门重要学科。现代搜索引擎的普遍基于倒排
每块的数据,按列存储,即先写第一列,再写入下一 索引单词到文档映射关系的。所谓倒排索引,即在文
列,数据查询时只要定位到对应的数据块,就可以直 件中存储词到其所在的一个或多个文档的映射,可以
接获取到所需的列,无需对每行做扫描。除此以外, 方便地通过一个词找到其对应的文档,这种方式相
一列内的数据通常都是相似的,甚至可能是有限的几 比普通索引更为直接有效。
个值的重复。列式存储可以很方便地对一列的数据 利用搜索引擎检索时,我们输入查询条件如“周
进行压缩存储,列数据相似度越高,压缩率越高,通 六夜晚的滨江区盗窃案”,搜索引擎会自动对搜索语
常能够达到 5-20 倍。 句进行分词,去掉不表意的字或词,提取关键词,可
2019第四届深圳国际无人机展览会(2019.6.20-22 深圳会展中心) www.china-drone.com.cn 155
భခඌ JOEE ྒ௹၂