该文主要介绍了数据技术的发展现状和展望,通过对第35届中国数据库学术会议的内容整理以及总结而成,希望能够给以后打算从事数据库研发或者开发的朋友们指点迷津。本文主要内容包括:1.数据新技术简介,2.数据质量管理(data
cleaning),3.数据分析技术,4.大数据技术的发展,5.数据技术的研究热点,6.总结。

* 数据新技术简介 
     
 随着大数据、机器学习(深度学习)、人工智能、区块链等相关技术的迅速发展,数据技术发生着巨大的变化。我们通过两个例子来说明这一点,第一个例子就拿数据质量管理中的实体识别(entity
resolution)来说,对于两个实体(比如数据库里面的两条记录),要判断它们是否是同一个实体,我们一般的传统做法是通过定义很多相似度函数(similar
function)来生成两个记录的相似向量(向量中的每一维代表不同属性的相似度,因为一个实体有多个属性,所以要定义很多相似度函数),再通过对相似向量权值相加算出总体的相似度(标准化,一般满足[0,1]之间),紧接着设置一个阈值a,若总体相似度大于a,则实体匹配,否则不匹配,这样做的效果很不理想。而现在我们通常借助于机器学习的方法来训练权值以及分类器,或者基于图计算以及深度学习方法来生成一些非监督分类器算法,这一些方法与传统的方法相比,它的效率与准确率有了很大的提升。第二个例子是数据库语言的变化,众所周知现在最流行的查询语言是SQL,但是随着未来技术的发展,通过自然语言支持数据库查询,或者是将机器学习语言纳入到数据库查询语言将是一个非常具有发展潜力的研究方向。因而未来的数据库发展离不开现在热门的机器学习和人工智能技术,而机器学习和人工智能也会借鉴数据库中的一些知识,完美自己,通过两者不断的迭代和相互促进,共同发展。

* 数据质量管理
       数据清洗是数据管理中非常重要的一个方面,数据清洗主要包括错误检测(error detection)和数据修复(data
repairing)两个过程。错误检测主要包括数据丢失(NULL or N/A)、数据去重(duplicate data)、数据违规(data
violation)以及数据错误(data
error)。数据修复技术主要包括基于限制的(constraint-based)、基于规则(rule-based)、基于统计的(statistical)、基于人机共生(human-in-the-loop)的一些方法。而这些方法越来越多的由机器来完成,因此我们可以发现现在的数据清洗技术充满着大量的机器学习人工智能技术。随着机器学习以及云计算的发展,未来的研究方向主要包括:生成标准测试集(benchmark)、数据清理和众包(crowdsourcing)技术的结合、数据清理和深度学习的结合、隐私数据的清理、数据清理与迁移学习的结合。

* 数据分析技术
     
 数据挖掘是一个传统的数据分析技术,随着大数据的到来,数据的多样性和大量性促使着传统数据挖掘技术的发展,它不再仅仅处理结构化的数据,未来的发展主要包括web数据挖掘、文本数据挖掘、时序数据挖掘(数据具有时间属性,如临床路径数据)、时空数据挖掘(数据由时间和空间两个维度,如GPS定位)、图数据挖掘、大数据挖掘。而大数据挖掘也会常常用到大数据近似算法,它利用采样(sampling)、略图(sketch)、摘要等技术,引入可控误差,解决由大数据规模带来的时间/空间/通讯量效率的问题。大数据的近似算法不像传统的近似算法(NP完全问题的近似解),它是P问题的线性甚至亚线性时间近似解,随着数据规模的进一步扩展,近似算法将在大数据处理和分析邻域发挥越来越大的作用。

* 大数据技术的发展
     
 经过40余年的发展,当今信息技术社会正在经历IT时代到DT时代的转变,大数据技术正在深刻的影响着社会和世界。现在的大数据技术主要包括Apache
Hadoop、Apache Spark(批处理平台)、Spark Streaming、Apache Flink(流处理平台)、Apache
Beam(混合批流处理平台,它紧紧是一个框架,没有真正的技术引擎)。随着技术的发展和需求的增加,未来大数据主要集中在三个方面:第一是批流融合,因为现在还没有一个真正意义上的批流融合大数据计算系统,而未来批流融合的现实需求非常巨大(如双十一),该系统需要统一数据模型、统一操作、计算模型、统一用户接口等等。第二是跨域处理,我们只需要在自己的节点去分析去计算,然后将计算的结果进行传输和融合,而不像现在的将数据集中起来。第三是边缘计算,利用边缘计算的能力,例如IoT、可穿戴设备、自动驾驶汽车、无人飞机、AR/VR设备等,提供高性能和低延时的边缘大数据计算平台。

* 数据技术的研究热点
     
 未来数据技术主要会集中在图数据、文本数据、时空数据以及文本数据等类型;机器学习与数据管理技术的结合,如自然语言支持数据库的查询、机器学习引入查询优化(分布式查询优化)、机器学习技术减少数据库参数配置的代价、机器学习技术提高数据库中特有查询,如近似查询的效果等等;现有关系型数据库发展,如海量并发事务管理、新的面向内存的架构设计,减少封锁、IO代价等;图数据管理技术发展,如图数据挖掘、知识图谱、图数据应用(异常检测、应用)、大数据环境下传统图问题的新方法(分布式、近似算法等);数据分析技术发展,如深度学习模型及其在不同数据的应用、时序数据的深度分析与挖掘、基于强化学习的数据分析方法、关联规则、聚类、异常发现等;人工智能和深度学习技术,将进一步和数据管理融合,在数据表示、查询语言、执行优化、生命周期管理等方面提升数据管理的智能化;区块链技术也是一个很有意义的研究方向。

* 总结
     
 我们可以看出未来的数据库技术将与机器学习人工智能技术息息相关、互相促进、共同繁荣,加之大数据和云计算的发展,也将促使着数据库技术的巨大发展(甚至变革),而这些发展都需要我们解决一些底层的课题,这就需要学术界和工业界的深度融合,相互合作,我们坚信未来的数据库技术是非常有发展潜力的,以及有着丰富多彩的先进知识。