当前位置: 首页 > 科技观察

2018年数据库技术发展趋势

时间:2023-03-16 22:05:55 科技观察

目前正在从IT时代进入DT时代。随着移动互联网和物联网的发展,企业正在产生大量的数据,数据的存储和组织离不开数据库技术。越来越多的企业意识到数据可以为企业带来商业利益,因此如何管理和利用数据变得越来越重要。挖掘数据的价值,分析数据,让数据指导决策,已经成为很多企业最重要的工作之一。因此,选择合适的数据库系统对公司的技术发展至关重要。笔者曾在一家大型互联网公司负责Hadoop平台和部分MySQL数据库的管理工作。工作涉及DBMS的选择、管理和优化。笔者认为,未来数据库的发展将呈现三大趋势:1.数据库管理技术正在向AI方向发展。随着DBMS的发展越来越快,功能越来越多,需要优化的参数也相对较多。但是每个公司的应用场景不同,对数据库的要求也各有特点。传统的DBMS高度专业化且管理成本高昂,DBMS可以处理大量数据和复杂的工作负载,但难以管理,因为它们有数百个配置选项来控制诸如用于缓存因素(如容量和写入数据)的内存等内容记忆。由于这些原因,一些DBMS与AI的结合相继出现,比如Oracle提出的自治数据库的概念,还有“OtterTune”,OtterTune是亚马逊和卡内基梅隆大学开发的机器学习自动调整DBMS系统,并宣布启动设计论文和开源项目,重点解决DBMS长期存在的一些问题:1、对管理人员专业要求高;2、管理成本高;据了解,OtterTune可以自动为DBMS的配置选项寻找最佳设置方式。OtterTune旨在让任何人都能更轻松地部署数据库管理系统,即使是那些没有任何数据库管理专业知识的人。OtterTune不同于其他DBMS配置工具,因为它利用了从以前的DBMS部署调优中学到的知识。显着减少调整新DBMS部署所需的时间和资源。为此,OtterTune维护了一个从以前的调优会话中收集的调优数据库。它使用此数据构建机器学习(ML)模型,以捕获DBMS如何响应不同的配置。OtterTune使用这些模型来指导新应用程序的实验,推荐设置以改进目标参数(例如,减少延迟或增加吞吐量)。AI和DBMS的结合已经开始尝试。随着技术的发展,未来应该会更加成熟。不过,我并不认为AI的出现会让DBA失业。DBA工作对于数据库管理还是很有必要的。而且,各种AI工具的开发和使用,通常都是由经验丰富的DBA完成的。比如我以前在工作中通过客户端服务器的硬件配置和业务场景自动生成大数据系统的配置文件。实现了系统参数调整的体验。因此,我认为作为DBA,我们应该积极拥抱技术变革,尝试用各种手段简化和优化数据库管理工作,让AI等技术成为未来DBA必备的知识。2、NoSQL之后,NewSQL时代来临,融合了OLTP和OLAP的HTAP发展迅猛。前几年,开源的Hadoop系统起源于谷歌的三大基础架构论文(GFS、Mapreduce、Bigtable),通常被企业用来存储和分析海量的非结构化和结构化数据。得益于开源得益于社区的贡献和各大互联网公司的应用,Hadoop生态系统发展迅速,已经成为海量数据OLAP处理的事实标准。虽然Hadoop生态已经成熟并得到业界的广泛认可,但作为离线数据分析系统,Hadoop无法提供实时的数据分析结果,因此通常用于在业务数据库之外构建新的数据仓库,并且通常只提供OLAP,即数据分析支持,这就需要在传统数据库和Hadoop之间建立一个ETL系统来实现两者之间的数据导入导出,这使得数据库和数据仓库的管理更加复杂。Hadoop系统作为一个庞大的开源系统,往往需要很多的组件来满足业务的需求,所以我通常认为基于Hadoop构建数据仓库来满足OLAP的需求还有很多不足,并且不断的NoSQL数据库的发展也提供了大量的大数据。大众业务的发展带来了福音。例如近千亿的url数据可以通过Hbase进行管理,NoSQL数据库通常可以动态扩展并支持容错,但是NoSQL系统的缺点也非常明显。比如应用场景比较简单,通常不兼容传统的SQL语句。通常不满足表关联和事物等要求。开发者还需要重新学习NoSQL的API和用法,这带来了额外的成本。基于以上原因,HTAP这种结合了OLTP和OLAP的提法应运而生,意味着可以通过数据库系统来满足事务性和分析性的需求,最具代表性的是Google的Spanner+F1论文,一批NewSQL系统产生了。比如CockroachDB和国内PingCAP团队开发的TiDB。以TiDB为例,TiDB使用Raft实现分布式协议,完全兼容MySQL客户端。这一点也很吸引笔者,就是可以使用熟悉的MySQL界面。无需分库分表,既实现了分布式,又降低了用户的学习成本。对于企业来说,可以构建一个分布式的数据库系统,同时满足事务和分析的需求,降低系统复杂度的同时也提高了效率。在此向TiDB团队致敬,他们做出了数据库领域第一个开源项目,可以说是一个里程碑。HTAP将成为未来数据库的主流发展趋势。3.时间序列数据库正在兴起。物联网发展迅猛,互联网和传统企业也在争相布局。随着物联网的发展,传感器等产生了大量的数据,而这些数据往往是按时间顺序排列的。在其他一些应用场景中,比如金融领域,股票交易、汇率等,DevOps监控数据都是时序数据。基于这些场景,时序数据库的概念应运而生。时序数据库可以对时间属性进行特殊的索引,以实现快速的数据查询和更高的压缩率。比如InfluxDB项目,InfluxDB是一个没有外部依赖的分布式时序、时间和Metrics数据库。特别适用于资源监控数据的处理和分析。笔者曾尝试在物联网项目中使用InfluxDB来存储大型中央空调设备产生的数据。目前,该项目已稳定运行半年。与传统的DBMS相比,InflluxDB的存储空间减少了近70%,存储和查询效率也很高。有了很大的改进,通过InfluxDB集成的聚合功能和持续查询功能,可以自动生成数据的日报、月报、年报,大大降低了开发成本和系统复杂度。同样,国内陶建辉带领的TAOSData团队也在研发时序数据库产品TDengine,目前已经开放测试。我们希望有更多的国内团队出出自己优秀的数据库产品。4.结语数据库是IT技术架构的核心,新技术层出不穷。随着物联网和人工智能时代的到来,数据库技术迎来了高速发展时期。DBMS与AI、HTAP与时序数据库的结合将解决企业海量数据增长的问题。各种需求和问题。