广告
返回顶部
首页 > 资讯 > 数据库 >数据库未来发展趋势(上)
  • 623
分享到

数据库未来发展趋势(上)

数据库未来发展趋势(上) 2021-09-25 12:09:08 623人浏览 才女
摘要

数据库未来发展趋势(上)

数据库是IT技术栈中承上启下的关键一层,具有如下特性:

  • 向上承托应用开发与运行,是应用生态关键组成之一。
  • 向下对接硬件和OS,对数据处理应用屏蔽底层硬件复杂性和兼容性。

数据库系统是IT技术栈中的独立“小王国”,被誉为“软件行业皇冠上的明珠”。它内含了几乎所有的基础软件关键技术,是软件集大成者: OS(进线程调度和内存分配管理)、编程语言(sql)、编译器(SQL编译和编译执行)、大规模并行计算(分布式SQL执行)、优化技术(优化器)等。数据库是数学理论和软件工程的结晶,其中蕴含了两个NP-Hard的世界级难题(优化理论和事务处理)。数据库领域也因此诞生了4个图灵奖得主。因此,数据库发展趋势与硬件演进紧密相关,并受到应用的驱动。

新硬件驱动的数据库(鲲鹏+昇腾)

处理器架构的差异直接影响到数据库的工作效率。不断发展的处理器架构,驱动着数据库不断做出相应的优化。

一、处理器架构对数据库系统带来挑战与机遇

当前业界的计算机处理器分为两大系列: 通用处理器(CPU)和异构加速器。按照其用途又可分为面向数据中心服务器的处理器(如Intel Xeon至强系列CPU)、面向消费者设备的处理器(如Intel Core酷睿系列PC的CPU、高通的SnapdraGon系列手机CPU 等)。数据库系统一般运行在数据中心服务器上,因此本文主要简述服务器处理器发展对数据库架构和技术发展方向带来的冲击和影响。

通用处理器家族中有两个最为著名的体系和指令集架构(Instruction Set Architecture,ISA)。

  • 源自Intel 8086处理器的x86指令集,它是一种CISC(Complex Instruction Set Computer,复杂指令集计算机)体系结构指令集。
  • 源自ARM(Advanced RISC Machine)公司的指令集,它是一种RISC (Reduced Instruction Set Computer,精简指令集计算机)体系结构指令集。

从历史上看,Intel的x86指令集随着Wintel(微软windows+Intel芯片)联盟在20世纪80年代垄断PC市场而兴起,由于Intel芯片发货量远远大于20世纪八九十年代面向小型计算机市场的RISC芯片,Intel借助市场垄断优势不断更新优化其制造工艺水平和芯片处理能力。20世纪90年代末Intel进入PC服务器市场,借助其规模优势不断侵蚀RISC小型计算机市场空间,到2010年Intel已经成为芯片霸主,垄断了90%以上世界服务器市场空间。

2010年起,ARM 公司通过只聚焦芯片指令集研发、不涉及芯片设计和制造的商业策略,借助Android手机的兴起,重演了Intel在20世纪80年代Wintel联盟垄断桌面机市场的故事。当前ARM 架构芯片每年发货量是Intel x86芯片发货的10倍以上,有丰富的软件和硬件生态。如何基于ARM 架构打造一款数据中心服务器芯片,成为众多芯片设计和制造企业的商业计划。

以美国Calxeda和Applied Micro等为代表的创业公司,利用其贴近硅谷高科技源头优势,纷纷推出基于ARM 架构的服务器芯片,但由于缺乏客户和市场规模,败北收场。

美国芯片巨头高通公司,携Snapdragon手机芯片和技术优势,于2017年宣布进入ARM 服务器芯片市场,并发布了Centriq系列芯片,但同诸多创业公司一样,2018年宣布停止ARM 服务器芯片研发。

虽然在基于ARM 研发服务器芯片方面已有多家公司折戟,但Intel的成功历史仍然具有说服力,随着ARM 架构芯片生态的逐步成熟,其技术竞争力追赶Intel x86,研发投入也在不断积累和摊薄,必将成为可以替代Intel x86的新通用处理器芯片。 ARM 与x86对比如下图所示。

在这里插入图片描述

图: ARM与x86对比

华为借助其内部大量使用ARM 芯片积累的技术和产业化优势,于2019年正式对业界发布鲲鹏920系列服务器芯片,其关键指标如下图所示。

在这里插入图片描述

图: 鲲鹏920指标

华为鲲鹏芯片的发布路标如下图所示。

在这里插入图片描述

图: 鲲鹏芯片发布路标

ARM 处理器与传统x86处理器相比,最大特点是: 处理器核数更多。如鲲鹏920有64核,市场同样定价等级Intel 6148 Golden系列有20核40超线程,而一台服务器通常由2~4 个处理器组成。众多处理器核,对数据库系统带来巨大挑战。根据Stonebraker等人于2014 年在VLDB 发表的论文Staring into the abyss: anevaluation of concurrency control with one thousand cores,传统数据库的事务处理机制无法有效利用数十到上百个核处理能力。

2016年Anastasia ailamaki等人在DaMon 研讨会上发表论文OLTP on a server-grade ARM : power,throughput and latency comparison,对ARM 服务器芯片上数据库运行进行详尽分析,认为ARM 处理器在功耗上具有优势,但在关键负载业务上,如何保证业务的SLA(Service Level Agreement),ARM 服务器仍有很多改进和优化空间,可能需要软硬件结合提升业务SLA。典型ARM 多核CPU 架构如下图所示。

在这里插入图片描述

图:典型ARM 多核CPU 架构

注: hydra是ARM 公司定义的CPU 处理器上总线名称。DIE是集成电路行业术语,是一个处理器封装中的硅芯片。DRAM 是动态随机存取存储器的英文缩写,行业术语。

相信随着鲲鹏服务器在中国等一些国家的市场上逐步规模商用,会推动开源数据库、商业数据库等产品面向鲲鹏芯片进行优化,甚至架构改进。如何有效解决下列问题将是推动数据库研究的关键方向:

  1. 如何有效地解决鲲鹏跨片内存访问时延对事务处理带来的影响?

  2. 如何构筑高效的并发控制原语及原子?

  3. 如何降低多核下的CPU缓存未命中(cache miss)率,以减少对整体性能的影响?

  4. 如何支持百核甚至千核CPU 架构?

  5. 如何高效利用鲲鹏服务器的特殊硬件,例如POE(核间通信能力)队列?

二、异构处理器高速发展为数据库系统创新提出新方向

2010年起,随着大数据量和大计算量的普及,AI(人工智能)迎来新一轮复兴。谷歌公司在这一轮AI浪潮中扮演了至关重要的角色,谷歌公司收购的DeepMind公司于2014年发布AlphaGo,并在随后的人机竞赛中击败人类,是本轮AI浪潮的标志性事件。谷歌公司认为AI将成为未来的主导性技术,并全力投入相关技术研发,于2016年发布了面向AI的张量处理器(Tensor Processing Unit,TPU),极大地加速了以线性代数计算为中心的现代AI算法

谷歌公司发布TPU 之后,众多芯片厂家也随之发布面向AI的加速芯片,华为于2019年发布了自研的达芬奇架构的神经网络处理器昇腾系列芯片,其架构如下图所示。

在这里插入图片描述

图:昇腾架构

注: BUS表示计算机系统中总线,用于互联芯片上多个子单元,是行业术语。Vector是矢量处理单元,用于将多个同一数据类型封装的数据包一次性处理,如(1,3,10,11)。Cube是矩阵处理单元,用于对矩阵数据结构进行线性代数操作,如点积、加减等。Cache是处理器上的高速缓存。Scalar是标量处理单元,用于对简单数据结构进行计算,如Int 1,Float 0.35等。HBM 是高带宽内存,行业术语。Peripheral/IO 是周边设备总线,用于将处理器和外部存储器等器件互联。FHD Video是高清视频,Image Codec是图像编解码器。

昇腾芯片当前有两个系列,分别为面向推理计算场景的Ascend 310系列和面向训练场景的Ascend 910系列。

昇腾芯片与业界顶尖厂商的AI处理器性能对比如下图所示。

在这里插入图片描述

图:昇腾芯片与业界芯片对比

AI处理器芯片的普及,使数据库研究社区和厂商都在思考一个问题: 如何使用AI处理器芯片巨大的算力优势,来帮助数据库系统运行得更快、更强、更好? 如何利用AI芯片来提升数据库的智能性和高效性?

当前主要的研究方向有AI4DB和DB4AI两个。

1. AI4DB(AI for DB)

在传统数据库中,由于使用大量启发式算法,无法针对众多用户实际场景定制化开发,一般通过数据库系统预定义参数组合或可调节参数开关等方式,由DBA 根据经验进行调整。AI算法与传统启发式算法的最大不同在于其可以根据历史数据学习,并根据现状在运行时进行动态调整。因此如何利用AI算法替换启发式算法,解决传统数据库的痛点问题成为研究的热点话题。典型方向有:

  1. 优化器: 传统代价优化基于采样统计信息进行表连接规划,存在统计信息不准(基数估计问题)、启发式连接规划(连接顺序问题)等老大难问题。
  2. 参数调优: 数据库有数十甚至上百个可调节参数,其中很多参数是连续值调节空间,依靠人工经验无法找到最优参数组合。
  3. 动化索引推荐和视图推荐: 数据库有很多张表,表中有很多列,如何自动构建索引和视图来提升数据库的性能是需要考虑的问题。
  4. 事务智能调度: 事务的并发冲突是OLTP数据库的难点,可以通过AI技术进行智能调度从而提升数据库的并发性。

2. DB4AI(DB for AI)

AI数据处理流程一般可划分为四个阶段: 训练数据管理准备、模型训练、模型管理和推理应用,如下图所示。

在这里插入图片描述

图:AI数据处理流程

  1. 训练数据管理准备工作占据了AI全流程中80%以上时间,数据科学家和软件工程师花费大量精力与数据标注、数据正确性、数据一致性、数据完整性、训练结果可重复性等问题打交道。使用定制化、拼凑型的数据存储解决方案,缺乏高效的AI训练数据管理系统是问题的根源。数据库系统半个世纪的研究成果能有效解决该领域的问题。当前已经有众多公司基于数据库系统启动相关系统的研发,如苹果公司的MLDP系统。
  2. 当前AI模型训练主要以AI计算框架为主,但其在迭代计算中产生大量相似、冗余的参数、模型等数据,缺乏有效的模型管理,导致模型训练中不断重复计算,模型训练效率大打折扣。如何使用数据管理的方法,如物化视图、多查询优化等技术,对训练中产生的模型数据有效管理、实现存储转换计算、加速AI训练计算成为研究的热点,如马里兰大学的ModelHub等项目
  3. 模型推理计算是将训练好的模型部署到应用环境中的过程,如何减少推理计算的开销、降低推理延迟、提升推理的吞吐量是系统开发者关注的重点。当前AI计算框架缺乏针对以上诉求的优化,使用传统数据库优化器的技术优化该过程是研究热点,如伯克利大学的Model-less Inference等。

因此使用数据管理技术对AI流程进行全栈优化是数据库研究者需要考虑的问题。对于企业用户来说,仅仅优化AI流程的效率是远远不够的,因为:

  1. 当前AI应用仍处于早期阶段,搭建一套AI应用系统不但成本高昂,而且极为复杂,也难以在部署后继续开发业务。如何构筑一套开箱即用、业务领域专家也能轻松使用的AI应用系统是当前企业对AI系统厂商提出的重大挑战。
  2. 从历史上看,当前的AI应用与20世纪60年代数据库系统诞生之前的情况极为相似。在数据库系统内构筑一套端到端、全流程的AI处理系统,并提供类似SQL一样的声明式开发语言,将是解决企业用户应用AI门槛高难题的正确方向。

综上所述,DB4AI是用数据库技术打造一套端到端全流程AI系统的研究方向,是AI应用平民化的必经之路。

Gauss松鼠会是汇集数据库爱好者和关注者的大本营, 大家共同学习、探索、分享数据库前沿知识和技术, 互助解决问题,共建数据库技术交流圈。

您可能感兴趣的文档:

--结束END--

本文标题: 数据库未来发展趋势(上)

本文链接: https://www.lsjlt.com/news/8298.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 数据库未来发展趋势(上)
    ...
    99+
    2021-09-25
    数据库未来发展趋势(上)
  • 数据库未来发展趋势(下)
    ...
    99+
    2014-07-29
    数据库未来发展趋势(下)
  • java未来趋势 Java促进大数据的大发展
    没有Java,甚至不会有大数据的大发展,Hadoop本身就是用Java编写的。当你需要在运行MapReduce的服务器集群上发布新功能时,你需要进行动态的部署,而这正是Java所擅长的。大数据领域支持Java的主流开源工具: HDFSHDF...
    99+
    2023-06-03
  • HTML5未来发展趋势的示例分析
    这篇文章将为大家详细讲解有关HTML5未来发展趋势的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、移动优先如今移动应用层出不穷,可以用只有咱没想到的没有人家没...
    99+
    2022-10-19
  • HTML5的未来发展趋势是怎样的
    本篇文章给大家分享的是有关HTML5的未来发展趋势是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 HTML...
    99+
    2022-10-19
  • 阿里云数据库最新报告云计算趋势及未来发展
    阿里云数据库最新报告全面分析了云计算趋势以及未来的发展方向。报告涵盖了从云存储、大数据、AI、安全等多个方面,深度剖析了云计算行业的发展现状和未来前景。 一、云计算趋势阿里云数据库报告显示,云计算将继续在全球范围内快速发展。随着5G、物联网...
    99+
    2023-12-15
    阿里 未来发展 趋势
  • 谈谈PHP的发展历程和未来趋势
    随着计算机技术的快速发展,编程语言也越来越多。其中,PHP(Hypertext Preprocessor)语言作为一种开源的脚本语言,被广泛应用于Web开发中,如今已经成为最流行的服务器端编程语言之一。而今天,我们来谈一谈PHP的发展历程和...
    99+
    2023-05-14
  • 未来计算机的发展趋势是什么
    未来计算机的发展趋势是人工智能、量子计算、云计算、生物计算、人机接口和增强现实技术等方向。详细介绍:1、人工智能将成为未来计算机发展的核心驱动力,随着机器学习和深度学习的快速发展,计算机将能够更好地理解和解释数据,并从中提取有价值的信息;2...
    99+
    2023-08-15
  • php语言未来的发展趋势是什么
    php语言未来的发展趋势是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。权国清,河南科技大学本科毕业生, 5年多PHP软件项目开发经验。现就职于郑州金擎电子科技有限公司...
    99+
    2023-06-17
  • 从 LeetCode 看 Python 编程的未来发展趋势!
    Python 编程语言在近年来的发展趋势中,逐渐成为了一种备受欢迎的编程语言,尤其在算法竞赛和编程面试中,Python 也逐渐成为了一种备受青睐的编程语言。而对于算法竞赛选手和程序员们来说,LeetCode 是一个十分重要的平台,它提供了大...
    99+
    2023-06-03
    编程算法 接口 leetcode
  • PHP商城开发的发展趋势和未来前景
    随着电商行业的蓬勃发展和消费者消费水平的提高,更多的企业看到了线上商城的巨大商机。而作为构建电商平台的主要技术之一,PHP商城开发也日益得到了广泛的关注和应用。那么,PHP商城开发的发展趋势和未来前景是怎样的呢?本文将就此问题进行分析。一、...
    99+
    2023-05-14
    PHP 商城开发 发展趋势 未来前景
  • 对话袁红岗:JSF的优势及未来发展趋势
    对话袁红岗:JSF的优势及未来发展趋势[@more@]JSF,有些人对他有些陌生,有些人对它抱以期望的目光,有些狂热者甚至预言未来的Java Web主导者,2006年Sun把JSF从幕后推到了前台,那么JSF的命运如何呢?真的像人们所说的那...
    99+
    2023-06-03
  • Golang Facade模式的演变与未来发展趋势
    Golang是一种较新的编程语言,因此Golang中的设计模式的演变和未来发展趋势还在不断发展中。Facade模式在Golang中的...
    99+
    2023-10-08
    Golang
  • 阿里云数据库发展趋势分析
    阿里云数据库作为阿里云的核心产品之一,一直以来都在不断发展和进步。本文将从以下几个方面对阿里云数据库的发展趋势进行分析。 一、云计算的发展趋势随着云计算技术的发展,阿里云数据库也将逐步实现云端化,从而实现更好的性能和可扩展性。未来,阿里云数...
    99+
    2023-11-08
    阿里 发展趋势 数据库
  • web前端的未来发展趋势究竟在哪里
    随着互联网技术的不断发展,Web前端也成为了一个不可忽视的重要领域。Web前端主要负责网站及应用程序的前台开发,包括网站的设计、开发、交互、效果、功能等方面,是Web开发中重要的一环。然而,Web前端行业的发展日新月异,未来发展趋势究竟在哪...
    99+
    2023-05-14
  • Python 异步编程:path 框架的未来发展趋势
    随着 Python 语言在 Web 开发、数据分析等领域的广泛应用,越来越多的开发者开始关注 Python 异步编程。Python 语言提供了 asyncio 模块来支持协程,但是使用 asyncio 编写异步代码还是有些麻烦。为了解决这...
    99+
    2023-11-10
    异步编程 框架 path
  • javascript 在 ASP 开发技术中的未来发展趋势如何?
    Javascript 在 ASP 开发技术中的未来发展趋势如何? 随着互联网技术的不断发展,JavaScript 在 ASP 开发技术中的重要性也越来越受到重视。未来,JavaScript 在 ASP 开发技术中的发展趋势将会是什么呢?本文...
    99+
    2023-10-08
    开发技术 编程算法 javascript
  • PHP大数据开发技术是未来的趋势吗?
    随着技术的发展,大数据已经成为了互联网领域中的一个热门话题。在这个领域中,PHP作为一种最受欢迎的编程语言之一,也在不断地发展和完善自己的大数据开发技术。那么,让我们一起来探讨一下。 一、PHP大数据开发技术的现状 目前,PHP已经有了一些...
    99+
    2023-08-05
    大数据 开发技术 面试
  • Python、Unix、容器和JavaScript:未来的发展趋势是什么?
    随着技术的不断发展,计算机编程已经成为现代社会的重要组成部分。Python、Unix、容器和JavaScript作为四个重要的编程技术,它们的发展趋势也备受关注。本文将探讨这四个编程技术在未来的发展趋势,以及它们在实际应用中的优势和局限性...
    99+
    2023-10-12
    unix 容器 javascript
  • 未来ASP文件容器load的发展趋势是什么?
    ASP文件容器load是一种将ASP文件加载到指定容器中的技术,它为ASP文件的运行提供了便利。随着互联网技术的不断发展,ASP文件容器load技术也在不断改进和完善。本文将探讨未来ASP文件容器load的发展趋势。 一、容器化技术的普及 ...
    99+
    2023-06-01
    文件 容器 load
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作