华为云数据库首席专家谈分布式数据应用挑战和发展建议

摘要:本文分析了分布式数据库发展情况、分布式数据库应用的主要问题,从行业应用的角度给出了分布式数据库发展的建议。

本文分享自华为云社区数字化转型下我国分布式数据库应用挑战及发展建议》,作者:数据库领域科学家、华为云数据库GaussDB首席专家 冯柯。

当前,金融等重点行业都在进行数字化转型,而分布式数据库作为数据承载工具,为数字化转型提供了有力的支撑。分布式数据库近年来发展迅猛,在产品成熟度上有了很大提升,但在行业应用和生态建设上仍有很多挑战。本文分析了分布式数据库发展情况、分布式数据库应用的主要问题,从行业应用的角度给出了分布式数据库发展的建议。

一、发展情况

过去三十年,以金融业为代表的核心信息系统架构依托IOE(即IBM、Oracle、EMC)技术,构建了一套集中、专用、封闭的稳态技术体系。但是,随着互联网及云化时代的到来,企业业务架构产生巨大变化,以银行为代表的金融业需加速构建敏态体系,推动底层数据库的分布式改造和互联网金融业务创新。分布式数据库具有满足行业关键应用的高扩展性、高性能、高可用性及软硬件解耦等特性,是金融等重点行业信息系统数字化转型的基石。

(一)产品成熟度提升

随着分布式数据库在金融等重点行业的不断应用,产品成熟度得到很大提升。一是新技术的不断发展使得分布式数据库在自身固有的优势领域,如扩展性、高可用等方面进一步强化,已有多个应用在重点行业核心业务中落地。二是国产分布式数据库的性能已经实现了与其他商业数据库持平甚至超越,这在多个大型企业机构产品准入测试及业内国际基准测试(如在线交易场景TPCC、在线分析场景TPCH等)中得到充分证明,可对行业核心业务起到重要的支撑作用。三是更多厂商开始提供对主流国产分布式数据库的功能支持,产品的兼容性取得显著进展。管理控制软件、迁移工具等配套设施逐渐完善,极大地降低了数据库的使用门槛和迁移成本。

(二)生态逐步完善

一是加快推动分布式数据库在重点行业落地,主流分布式数据库厂商纷纷与众多大型银行、企业等开展联合创新活动,取得了许多突破性的成果。以某厂商的分布式数据库为例,在与大型商业银行的联创过程中,已完成10个以上业务系统的分布式数据库替换,覆盖银行A类到C类全场景业务。二是通过一站式的迁移解决方案,实现以较小的业务改造工作量从传统数据库向分布式数据库转型,迁移成本相对较低。而且使用分布式数据库后,业务系统运行稳定,可靠性和扩展性有所增强,从各项指标看,已基本具备承接Oracle及DB2大机下移的能力。三是分布式数据库相关的行业标准和评价体系逐步健全,对产品发展起到较强的规范引领作用。

(三)总体发展情况向好

当前国产分布式数据库已经渡过了“能用”阶段,正在迈向“好用、易用”阶段。横向来看,我国分布式数据库的发展基本与国际同步,tpcc、sysbench等性能指标和RTO、RPO等可靠性指标甚至具有优势,在应用领域取得些许领先。纵向来看,以金融业为例,分布式数据库应用取得较大进展,不管是在互联网新核心业务,还是传统核心业务中,分布式数据库行业应用落地数量大幅增加,有逐步替代集中式数据库的趋势。

二、面临的主要问题

(一)主体改造意愿不强,行业实践尚不充分

一方面,原有数据库系统改造为分布式数据库,对用户及应用单位提出了较高的要求。改造所面临的成本问题,以及改造完成后分布式运维实施的复杂性,使得部分金融机构对于全面应用分布式还存在有一定的疑虑,主动改造意愿不强。另一方面,分布式数据库在行业典型应用场景中的落地仍处于摸索阶段。由于部分项目中存在一定的需求定制化,应用解决方案与产品的边界不够清晰,产品的规模化复制能力仍有待加强,行业最佳实践相对缺乏。这些因素也影响了金融机构对迁移采用分布式数据库技术的积极性。

(二)分布式数据库的生态建设仍需加强

生态建设是当前我国基础软件相对薄弱的一环,特别是对分布式数据库厂商而言,虽然在实现技术和产品方面实现突破,但在生态建设方面仍需积极应对投入转化慢、门槛高、市场接受程度低等挑战。一方面,部分产品的技术体系相对封闭,用户无法从市场快速获取合格的开发运维人员,导致业务改造及生产运维仍严重依赖原厂,规模化复制效应较差。另一方面,部分产品的开放性仍有待提升,与其他平台数据互联互通的能力不足在客观上造成了业务“上车容易下车难”的现实困境,增加了用户被锁定的风险。

(三)可持续发展的盈利模式需进一步探索

我国数据库的发展可以追溯到30多年前,在这样一个相对较长的发展周期内,技术和产品都取得了显著进展,但在产业化方面,知识产权的保护不够充分等诸多问题造成部分参与主体的市场化盈利能力较弱,产业整体规模难以做大。分布式数据库虽然已取得了一定进展,但“池子深才能养大鱼”,如何依托当前政策窗口,真正形成可持续发展的商业模式,还需进一步探讨。

三、行业的应用建议

尽管存在一些问题,但我们坚信分布式是数据库未来的发展趋势。如果将分布式数据库和单机数据库类比为“高铁”和“轿车”,因两者定位不同,期望“高铁”像“轿车”一样简单易用既不现实也不科学。所以应避免将分布式数据库的应用简单地理解为对单机或者集中式数据库的一对一替换,而要深入考虑如何充分发挥分布式数据库的技术优势。遵循以上思路,我们对于分布式数据库在金融等重点行业的应用提出以下几点建议:

(一)通过技术创新和最佳实践,推动行业应用不断深入

一方面,要探索利用人工智能等新技术提升产品服务效能。

人工智能技术可实现自动数据分区规划、故障自动诊断和自愈、自动负载均衡、面向混合负载的自调优等功能。目前人工智能技术在分布式场景已经有了一些单点突破,但距离全场景落地、实现整体成本的全面降低还有很长的一段路要走,需要继续加以积极的行业引导,推进技术交流和产业落地。

另一方面,需充分发挥好示范项目效应。

在金融等重点行业典型应用场景如分布式架构设计、多地多中心容灾等,形成最佳解决方案,并在行业推广落地。在此过程中,提炼出更适合分布式数据库的开发、运维、硬件建设等相关要求,研究制定数据库开发、运维、应用方面的标准规范,提高行业的标准化水平,引导各参与主体规范应用分布式数据库,推进行业转型。同时应约束不必要的定制化需求,减少无序竞争,实现技术聚焦。

(二)积极推进生态建设,发挥产业引领作用

从软件发展历史看,生态建设是基础软件产业化的重要一环。任何一款商业上真正成功的软件产品,无一不是生态建设上获得广泛认可的成功案例。

首先,充分发挥产业联盟桥梁纽带作用,推动产业发展。在行业内积极进行资源引流,逐步提升技术营运效率及影响力,搭建高端对话平台,促进分布式数据库应用方、应用开发方及厂商更好地交流,共同面对分布式转型下的业务及技术挑战,推进行业生态繁荣;加强与分布式中间件、分布式服务框架的合作与交流,通过开源、社区等形式建立广泛的赋能体系;鼓励应用软件厂商全面向分布式架构转型,建立相应的培训体系和检测认证体系。

其次,完善技术生态,鼓励引入第三方软件垂直提供商。在运维管控、工具端以及解决方案层面实现更多差异化的平台能力,加厚行业整体的技术底盘;鼓励第三方产品服务化和上下游集成,推进各产品的互联互通,打造良好技术生态,促进行业健康发展。

再次,建立基础软件开放生态体系,推动开源建设。应鼓励有研发实力的厂商基于国产开源数据库做发行商,有运维能力的厂商基于优质的国产数据库打造适用于自主可控要求的数据库解决方案。数据库厂商和合作伙伴应基于数据库代码开源、产品开放等形式,使数据库产业从封闭商业生态走向产业共赢的开放生态,共同打造开放的数据库生态体系。

最后,进一步推进政产学研合作,加强人才储备。明确人才发展战略,梳理多层次行业人才资源地图。加强厂商与各科研院所合作,推进高校在包括数据库在内的基础软件方面专业投入,鼓励有条件的厂商和高校开展课程共建、实践共建,为联合推进分布式数据库关键技术在理论和实践层面的难点问题攻关储备智力资源。

(三)全面拥抱云,开展行业可持续发展的尝试与探索

数据库上云已逐步成为产业共识。发展云数据库,不仅是对技术和产品的重要升级,更是对数据库良性健康发展的商业模式有益探索,对于实现主体可控、支撑行业长期稳定发展具有重要的现实意义。分布式数据库与单机数据库不同,需要更大的集群规模才能实现资源的更有效利用。分布式数据库与云计算是天然伴生关系,通过云化部署,能够帮助分布式数据库扬长避短,充分发挥分布式数据库在扩展性、资源调度方面的灵活性和优势,在提升资源利用效率同时,显著降低运维成本,实现真正业务价值。

一是云化基础设施可以通过智能调度、运维系统高效管理更为丰富的应用,并通过多云及边缘计算将应用扩展到多种场景中。

二是软硬协同可为应用提供更好的性能,提升应用隔离性等。

三是云数据库和云基础设施结合,如利用云基础设施本身的能力实现数据库的跨数据中心访问等,可使存储具备理解、预处理数据库语义的能力。

基于以上,一是建议扩大云数据库在金融行业的应用规模。

云数据库已经在互联网、电子政务等各行业得到了广泛应用,在金融行业的应用及推广也在稳步推进中。应引导重点用户单位与厂商尝试在行业落地云数据库及云平台,鼓励技术共创,共同探索基于现代云平台的分布式数据库运维及业务开发体系。

二是建议推进行业云发展以提高行业标准化程度。

在满足合规营运的前提下,应实现底层基础设施共享,降低中小用户对于分布式数据库的使用门槛和人才需求,减少重复投资,实现集约化营运,充分发挥分布式数据库的规模化优势。厘清各参与主体运营职责与边界,依托业内现有的成熟云平台技术,形成一个或若干个云技术底座,鼓励传统非云数据库厂商根据自身产品技术特点完成与云平台的对接,最终形成行业的云上产品集市,逐步简化并统一运维及交付界面,降低行业应用门槛,提高行业标准化程度。

 

点击关注,第一时间了解华为云新鲜技术~

原文链接:https://www.cnblogs.com/huaweiyun/p/17385617.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:华为云数据库首席专家谈分布式数据应用挑战和发展建议 - Python技术站

(0)
上一篇 2023年5月9日
下一篇 2023年5月10日

相关文章

  • MySQL字符集和校对规则详解

    MySQL字符集和校对规则是数据库中的重要概念,影响着数据库中数据的存储、排序以及比较等操作。本文将对MySQL字符集和校对规则进行详细解释,并提供相应的实例说明。 MySQL字符集 MySQL字符集是指数据库中的一组字符集合,决定了数据库中能够存储哪些字符以及如何存储这些字符。MySQL支持很多种不同的字符集,包括 ASCII、Latin-1、UTF-8 …

    MySQL 2023年3月10日
    00
  • 如何解决mysqlimport: Error: 13, Can’t get stat of 的问题

    针对mysqlimport: Error: 13, Can’t get stat of的问题,一般是由于文件的权限导致的,接下来我将为你提供完整的解决攻略,主要包括以下内容: 导致问题的原因 解决方案 设置文件权限 切换用户 示例说明 1. 导致问题的原因 当我们使用mysqlimport命令导入数据时,可能会遇到以下错误提示: mysqlimport: E…

    MySQL 2023年5月18日
    00
  • MySQL中出现乱码问题的终极解决宝典

    MySQL中出现乱码问题的终极解决宝典 背景 在使用MySQL进行数据存储和读取的过程中,经常会遇到中文乱码的问题。这种问题不仅影响数据的可读性,还可能导致数据的丢失或变形。因此,解决MySQL中出现乱码问题是非常重要的一项技能。 原因 MySQL中出现乱码的原因可能有很多,其中常见的原因包括: 数据库字符集不匹配。 数据库连接字符集设置不正确。 应用程序在…

    MySQL 2023年5月18日
    00
  • mysql数据库锁的产生原因及解决办法

    MySQL数据库锁的产生原因及解决办法 MySQL数据库锁的产生原因是多个客户端同时对同一数据进行操作,导致数据的不一致性,为了避免这种情况的发生,MySQL引入了锁机制。 MySQL锁的类型 MySQL锁分为两种类型:共享锁和排它锁。共享锁可以防止其他用户修改该数据,但允许其他用户读取该数据;排它锁则是完全锁定数据,其他用户无法读取或修改数据。在MySQL…

    MySQL 2023年5月18日
    00
  • MySQL中的alter table命令的基本使用方法及提速优化

    下面是关于”MySQL中的alter table命令的基本使用方法及提速优化”的完整攻略。 修改表结构 当需要修改表结构时,可以使用alter table命令。 添加列 使用add关键字添加列,如下示例: ALTER TABLE table_name ADD column_name INT; 修改列 使用modify关键字修改列,如下示例: ALTER TA…

    MySQL 2023年5月19日
    00
  • mysql数据库mysql: [ERROR] unknown option ‘–skip-grant-tables’

    首先,这个错误是因为该命令中使用了未知选项”–skip-grant-tables”,导致MySQL无法识别该选项,所以需要进行相应的处理来避免这个错误。下面是解决方案的完整攻略: 问题描述 在使用MySQL时,执行命令”mysql –skip-grant-tables”,会出现如下错误信息: mysql: [ERROR] unknown option ‘…

    MySQL 2023年5月18日
    00
  • mysql常用命令以及小技巧

    下面是关于“mysql常用命令以及小技巧”的完整攻略: 1. 常用命令 1.1 连接与断开数据库 连接MySQL数据库: mysql -h host -u username -p password 注:需将 host 替换为主机名或IP地址,username 和 password 替换为数据库的用户名和密码。 退出MySQL数据库: exit; 1.2 数据…

    MySQL 2023年5月18日
    00
  • Mysql 文件配置解析

    MySQL 文件配置解析 MySQL 是广泛使用的关系数据库管理系统。MySQL 服务器有一个默认的配置文件 my.cnf,这个文件包含了大量的配置选项。在使用 MySQL 时,我们通常需要修改这个配置文件,以满足我们的特定需求。 my.cnf 文件的位置 my.cnf 文件的默认路径是 /etc/mysql/my.cnf。但是,在不同的操作系统中,可能存在…

    MySQL 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部