用友技术中台资深架构师方亚利:用友云服务数据库选型与最佳实践

本文涉及的产品
云原生内存数据库 Tair,内存型 2GB
云数据库 Redis 版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 本篇内容分享了用友云服务数据库选型与最佳实践。

“数聚云端·智驭未来”——阿里云数据库创新上云峰会暨第3届数据库性能挑战赛决赛颁奖典礼已圆满结束,更多干货内容欢迎大家观看峰会直播回放。

GCH1773.JPG

峰会直播回放📎https://developer.aliyun.com/live/247301


方亚利 用友技术中台资深架构师.JPG

用友技术中台资深架构师-方亚利


本篇内容是用友技术中台资深架构师方亚利在这次峰会上的分享,将从以下三个部分来介绍用友云服务数据库选型和最佳实践:


  • 用友集团及YonBIP介绍
  • 云业务数据库选型和应用实践
  • 用友YonBIP数据库选型展望

 

一、用友集团及YonBIP介绍


用友集团创立于1988年,是中国和全球领先的企业和公共组织数字化平台服务提供商。用友通过构建和运行全球领先的商业创新平台、用友VIP服务、企业数字化转型和商业创新,成就了千万数字企业,让企业云服务随需而用,让数值价值无处不在,让商业创新更加便捷。


用友的云服务在多个市场领域的占有率都是排名第一。下图左侧是用友的主营业务,有iuap云平台、领域云、YonSuite、小微企业云和云生态等YonBIP用友商业创新平台和云ERP

image001.png

用友的核心产品是用友YonBIP,这是用友采用新一代信息化技术,按照云原生、元数据驱动、中台化和数用分离的架构设计,涵盖平台服务、应用服务、业务服务和数据服务等形态,集工具、能力和资源服务于一体,服务企业与产业商业创新的平台型、生态化的云服务群。


用友YonBIP用友数字化、智能化、高弹性、安全可信、平台化、生态化、全球化和社会化的8大特征,是企业通过数字化实现商业创新发展的使能平台。


用友的目标是构建和运营全球领先的商业创新平台,口号是商业创新如此便捷。

 50FB942F-367B-4301-9DAD-0F29229156A5.png

二、云业务数据库选型和应用实践

1. 用友iuap架构及数据库诉求


用友iuap平台是YonBIP的技术支撑底座,其中iuap技术方向包括云计算、大数据、人工智能、移动互联、物联网和区块链技术。

image002.png

用友iuap的理念是希望融合六大技术,打造企业数字化底座,降低技术门槛并便捷商业创新。它的核心模块包括三中台和三平台的架构,它们是业务中台、数据中台、智能中台、技术平台、低代码开发平台和连接集成平台。这个业务已经覆盖了大中小企业需求,核心业务数据规模可以达到百亿,数据保留时间长且业务功能复杂。


作为YonBIPPaaS平台,iuap需要保证YonBIP业务的稳定性。另外由于PaaS平台构建在云平台IaaS层上,所以对底层也有很高要求。比如,数据库要求稳定、可靠、高性能、高安全和兼容主流数据库等。在核心能力上,针对用友场景可以进行共创或是定制良好的上下游生态产品能力,以确保研发团队专注业务。输出形态灵活公有云、私有化输出或是其他形态。用友希望可以深入的理解客户需求的技术团队,并能即时对焦需求和能力。


2. 案例1:用友营销云选型PolarDB


今年用友的营销业务发展比较迅速,在之前用的MySQLRDS MySQL遇到了一些痛点和诉求,比如业务复杂查询慢、部分核心功能在查询时候超时;月末、季度末和年末,业务查询涉及数量大和并发高的情况,对数据库资源的快速弹升和晋级弹升的要求高;读库延迟大不能充分利用且扩张能力不足;迁移数据库对兼容性和容量的要求比较高等。


针对这些痛点,经过对主流数据库的调研,最终我们选择了阿里云的PolarDB数据库。


经过一段时间的测试,发现PolarDB并行查询能有效提升复杂查询的执行速度,营销云验证场景下平均降低查询耗时66%,解决查询超时的问题。PolarDB具备分钟级别的弹性能力,5-10分钟增加节点,15-20分钟垂直升配节点,能有效满足营销云弹性升降配诉求。


PolarDB一致性级别设置解决读库延迟问题,充分利用读库。原来MySQL5.65.7, 如何跨平台和跨版本升级到PolarDB上,通过DAS智能压测评估兼容性和性能,切换后无兼容性和性能风险。

image003.png

上图左侧是DAS的流程图,通过从生产环境采集全量的SQL,经过消息流、流量处理和学习,最终落到OSS里,然后形成压缩文件,可以自定义回放压测,这个问题解决了数据库跨版本的兼容性问题和我们担心的迁移数据库之后效率的问题。虽然看起来流程很长,但是用户只需要在页面上单机配置一下整个迁移过程即可。


3. 案例2:用友财务云选型PolarDB背后的故事


用友的财务云是多租户的形态,部分租户数据和访问倾斜比较严重,有单库单租户的场景,水平拆分效果不好。而且单表列较多,SQL复杂,对数据库依赖比较严重,月末季度末访问数据量大并发高。从传统的数据库转型需要数据库产品部分具备商业数据库能力,对产品的稳定性和产品团队的持续投入要求都比较高。

image004.png

多次跟案例架构师、产品研发、产品DB现场深度交流需求后,通过PolarDB的并行查询和高弹性,一致性读能力满足了当前客户的业务需求。并且共创了一些像列存、旁路内存、Filter Index、多写、算子下推、查询深度优化等产品能力,满足财务云架构设计规划。持续投入技术团队与财务云共同探索共创能力的实现。从这个过程中我们看到了阿里的专业性和为客户解决痛点的决心。


目前,用友已经完成一些业务的迁移,包括iuap云平台、营销云、财务云和各领域云。

 

三、用友YonBIP数据库选型展望


首先,因为企业业务数据库的选型影响范围比较大,产品需要可持续发展;


其次,产品共创,因为我们的业务对数据库产品依赖重,需要在部分功能上实现共创产品能力;


第三,产品互相认证,核心产品的互相认证可以增强客户的信心,可以共同开拓市场。


第四,HTAP,用一个数据库解决用友所有需求,让开发简化;


第五,数据管理,借助一站式数据管理平台,满足研发和运维的高效使用和数据库诉求。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1天前
|
NoSQL 关系型数据库 MySQL
微服务架构下的数据库选择:MySQL、PostgreSQL 还是 NoSQL?
在微服务架构中,数据库的选择至关重要。不同类型的数据库适用于不同的需求和场景。在本文章中,我们将深入探讨传统的关系型数据库(如 MySQL 和 PostgreSQL)与现代 NoSQL 数据库的优劣势,并分析在微服务架构下的最佳实践。
|
1天前
|
设计模式 缓存 关系型数据库
探索微服务架构中的数据库设计挑战
微服务架构因其模块化和高扩展性被广泛应用于现代软件开发。然而,这种架构模式也带来了数据库设计上的独特挑战。本文探讨了在微服务架构中实现数据库设计时面临的问题,如数据一致性、服务间的数据共享和分布式事务处理。通过分析实际案例和提出解决方案,旨在为开发人员提供有效的数据库设计策略,以应对微服务架构下的复杂性。
|
1天前
|
消息中间件 缓存 监控
优化微服务架构中的数据库访问:策略与最佳实践
在微服务架构中,数据库访问的效率直接影响到系统的性能和可扩展性。本文探讨了优化微服务架构中数据库访问的策略与最佳实践,包括数据分片、缓存策略、异步处理和服务间通信优化。通过具体的技术方案和实例分析,提供了一系列实用的建议,以帮助开发团队提升微服务系统的响应速度和稳定性。
|
1天前
|
消息中间件 缓存 监控
优化微服务架构中的数据库访问:策略与实践
随着微服务架构的普及,如何高效管理和优化数据库访问成为了关键挑战。本文探讨了在微服务环境中优化数据库访问的策略,包括数据库分片、缓存机制、异步处理等技术手段。通过深入分析实际案例和最佳实践,本文旨在为开发者提供实际可行的解决方案,以提升系统性能和可扩展性。
|
6天前
|
Kubernetes Docker 微服务
构建高效的微服务架构:基于Docker和Kubernetes的最佳实践
在现代软件开发中,微服务架构因其灵活性和可扩展性而受到广泛青睐。本文探讨了如何利用Docker和Kubernetes来构建高效的微服务架构。我们将深入分析Docker容器的优势、Kubernetes的编排能力,以及它们如何结合实现高可用性、自动扩展和持续部署。通过具体的最佳实践和实际案例,读者将能够理解如何优化微服务的管理和部署过程,从而提高开发效率和系统稳定性。
|
6天前
|
存储 负载均衡 数据库
探索后端技术:从服务器架构到数据库优化的实践之旅
在当今数字化时代,后端技术作为支撑网站和应用运行的核心,扮演着至关重要的角色。本文将带领读者深入后端技术的两大关键领域——服务器架构和数据库优化,通过实践案例揭示其背后的原理与技巧。无论是对于初学者还是经验丰富的开发者,这篇文章都将提供宝贵的见解和实用的知识,帮助读者在后端开发的道路上更进一步。
|
18天前
|
存储 C# 关系型数据库
“云端融合:WPF应用无缝对接Azure与AWS——从Blob存储到RDS数据库,全面解析跨平台云服务集成的最佳实践”
【8月更文挑战第31天】本文探讨了如何将Windows Presentation Foundation(WPF)应用与Microsoft Azure和Amazon Web Services(AWS)两大主流云平台无缝集成。通过具体示例代码展示了如何利用Azure Blob Storage存储非结构化数据、Azure Cosmos DB进行分布式数据库操作;同时介绍了如何借助Amazon S3实现大规模数据存储及通过Amazon RDS简化数据库管理。这不仅提升了WPF应用的可扩展性和可用性,还降低了基础设施成本。
39 0
|
21天前
|
Kubernetes Cloud Native Docker
云原生之旅:从容器到微服务的架构演变
【8月更文挑战第29天】在数字化时代的浪潮下,云原生技术以其灵活性、可扩展性和弹性管理成为企业数字化转型的关键。本文将通过浅显易懂的语言和生动的比喻,带领读者了解云原生的基本概念,探索容器化技术的奥秘,并深入微服务架构的世界。我们将一起见证代码如何转化为现实中的服务,实现快速迭代和高效部署。无论你是初学者还是有经验的开发者,这篇文章都会为你打开一扇通往云原生世界的大门。
|
6天前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
16 3
|
10天前
|
监控 负载均衡 应用服务中间件
探索微服务架构下的API网关设计与实践
在数字化浪潮中,微服务架构以其灵活性和可扩展性成为企业IT架构的宠儿。本文将深入浅出地介绍微服务架构下API网关的关键作用,探讨其设计原则与实践要点,旨在帮助读者更好地理解和应用API网关,优化微服务间的通信效率和安全性,实现服务的高可用性和伸缩性。
28 3