数据库未来发展趋势-数据库的未来趋势-未来数据应用的发展趋势
知数堂《大数据实战就业》课程讲师清华大学软件工程硕士,6年大数据系统管理及开发经验。
当前正处于从 IT 时代向 DT 时代的过渡阶段。随着移动互联网以及物联网的不断发展,企业正在产生数量庞大的数据。而数据的存储与组织这一过程,是离不开数据库技术的。越来越多的公司已经察觉到了数据能够给公司带来商业利益。因此,怎样对数据进行有效的管理和利用,已经变得愈发重要。
挖掘数据的价值,对数据进行分析,让数据来指导决策,这已经成为很多公司最重要的工作之一。所以,选择合适的数据库系统对于公司的技术发展是至关重要的。
笔者在某大型互联网公司负责过平台以及部分 MySQL 数据库的管理。工作期间,涉及到对 DBMS 进行选型、管理以及优化等工作内容。笔者认为,未来数据库的发展将会呈现出三大趋势。
一、数据库管理技术正在向AI方向发展
DBMS 的发展较为迅速,其功能不断增多,这就导致需要优化的参数内容相应地也变多了。同时,各个公司的应用场景存在差异,对数据库的要求也有着各自的特点。传统 DBMS 对管理人员的专业性要求高,并且成本也很高。DBMS 能够处理大量的数据和复杂的负载工作,然而它却难以管理,原因在于它具有数百个配置选项,这些选项可用于控制诸如用于缓存的内存量以及将数据写入存储器等因素。
因为这些原因,陆续出现了一些 DBMS 与 AI 的结合。比如提出了自治数据库的概念,还有“”,它是亚马逊和卡内基梅隆大学共同开发的、能自动化调整 DBMS 的机器学习系统,并且公布了其设计论文和开源项目,主要是为了解决 DBMS 长期存在的一些问题。
1、对管理人员专业性要求高;
2、管理成本高;
https://img0.baidu.com/it/u=2127419593,292729398&fm=253&fmt=JPEG&app=120&f=JPEG?w=452&h=640
3、无法实现配置资源最优化等一系列问题。
据了解,可以自动为DBMS的配置选项找到最好的设置方法。
目标是让任何人部署数据库管理系统都变得更容易,即便对于那些在数据库管理方面毫无专业知识的人来说,也能够使用它。
它与其他 DBMS 配置工具不同,因为它能利用从先前的 DBMS 部署调整中所学到的知识,这样就大大减少了调整新的 DBMS 部署所需的时间和资源。
为此,维护了一个调优数据库,这个数据库是从以前的调优会话中收集而来的。它利用此数据构建机器学习(ML)模型,目的是捕获 DBMS 对不同配置的响应方式。通过使用这些模型来指导新应用程序的实验,从而推荐改进目标参数的设置(例如,降低延迟或提高吞吐量)。
AI 与 DBMS 开始尝试结合了。随着技术发展,未来会更成熟。不过,我认为 AI 的出现不会让 DBA 失业。DBA 的工作对数据库管理很必要。各类 AI 工具的研发和使用通常由经验丰富的 DBA 完成。
我在工作中曾依据客户服务器的硬件配置以及业务场景来自动生成大数据系统的配置文件,从某种意义来讲,这属于 AI 的一种实现方式。而这个工具的实现是依托于 DBA 平日里对系统参数调整所积累的经验才得以完成的。
因此,我认为 DBA 应当积极地迎接技术的变革,尝试运用各种方式去简化和优化数据库管理的工作,使 AI 等技术成为未来 DBA 所必须具备的知识。
时代正在到来,经历了 NoSQL 之后,融合 OLTP 和 OLAP 的 HTAP 发展得很迅速。过去几年,三大基础设施论文(GFS 等)催生了开源系统,此系统常被公司用于海量非结构化数据和结构化数据的存储与分析。得益于开源社区贡献和各大互联网公司应用,生态系统快速发展,现已成为 OLAP 方面处理海量数据的事实标准。尽管生态系统日益成熟且被业界广泛认可,但作为离线数据分析系统,它无法实时提供数据分析结果,所以常被用于在业务数据库之外构建新的数据仓库,且通常仅提供 OLAP 即数据分析方面的支撑。这就要求在传统数据库之间构建一套 ETL 系统,用于两者间数据的导入导出,从而使数据库和数据仓库的管理更复杂。系统是一个庞大的开源系统,往往需要很多组件来满足业务需求。因此,我通常认为,基于构建数据仓库来满足 OLAP 的需求,目前仍存在很多不足。同时,NoSQL 数据库的不断发展,也为很多大数据量业务的发展带来了福音。可以用 Hbase 对近千亿的 url 数据进行管理。NoSQL 数据库一般能够动态扩容且支持容错。然而,NoSQL 系统的缺点也较为显著,比如其应用场景相对简单,通常不能兼容传统的 sql 语句,多表关联以及事务等需求也往往无法得到满足。开发人员需要重新学习 NoSQL 的 API 和使用方式,这给他们带来了额外的代价。
基于上述原因,出现了一种将 OLTP 和 OLAP 相融合的提法,即 HTAP。这意味着能够通过一个数据库系统来同时满足事务性需求和分析型需求。其中,最具代表性的是 F1 的论文,并且由此产生了一批系统。
以 TiDB 为例,它是国内团队开发的。TiDB 采用 Raft 来实现分布式协议,并且能完全兼容 MySQL 的客户端。这一点对笔者很有吸引力,因为既可以使用熟悉的 MySQL 接口,又无需对数据库进行分库分表。这样既实现了分布式,又减轻了用户的学习成本。对于企业而言,通过构建一套分布式数据库系统,能够同时满足事务性和分析型需求,在减轻系统复杂性的同时提高了效率。
https://img2.baidu.com/it/u=1469846758,3417392579&fm=253&fmt=JPEG&app=138&f=JPEG?w=884&h=500
在这里向 TiDB 团队表示敬意,他们在数据库领域打造出了世界级的开源项目,这具有里程碑式的意义。HTAP 将会成为未来数据库的主流发展趋势。
三、 时序数据库正在崛起
物联网发展态势强劲,互联网和传统公司纷纷展开布局。随着物联网的推进,传感器等生成了诸多数据,这些数据通常呈现时间顺序。在其他一些应用场景中,像金融领域的股票交易、汇率等,以及监控数据,都属于时序数据。
这些场景产生了时序数据库的概念。时序数据库能够对时间属性进行特殊的索引。这样就能实现数据的快速查询以及更高的压缩。例如有一个项目,它是使用 Go 语言开发的分布式时序、时间和指标数据库,并且无需外部依赖。该项目特别适合处理和分析资源监控数据。
笔者在物联网项目中已经尝试使用了该技术,用于存储大型中央空调设备所产生的数据。目前,这个项目已经稳定运行了半年。与传统的 DBMS 相比,它的存储空间减少了将近 70%。同时,存储和查询效率也有了很大的提升。并且,通过集成的聚合函数和连续查询功能,能够自动生成数据的日报表、月报表和年报表,这极大地减轻了开发成本和系统的复杂度。
国内由陶建辉领衔的涛思数据(TAOS Data)团队同样在做时序数据库产品。此产品目前已开放测试。希望有更多国内团队能够做出属于我们自己的优秀数据库产品。
四、结语
数据库是 IT 技术架构的核心。新技术不断涌现。物联网及人工智能时代已经到来。数据库技术进入高速发展期。DBMS 与 AI 相结合。HTAP 以及时序数据库将会解决企业海量数据增长所带来的各种需求和问题。
扫码加入知数堂技术交流QQ群
(群号:)
页:
[1]