Apache ShardingSphere 企业行|走进中商惠民

Apache ShardingSphere社区开启【走进企业】活动,与中商惠民技术团队交流开源生态、云原生解决方案及特定场景下的数据分片策略。DatabaseMesh作为云上数据库访问治理利器,提供SQL负载均衡、审计和可观测性等功能。文章强调了业务是否需要数据分片应依据场景和性能需求,并指出参与开源社区能提升工程师能力和公司价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为进一步了解各家厂商的应用场景与深层次需求,提升企业研发团队在使用 Apache ShardingSphere 的效率,Apache ShardingSphere 社区开启了【走进企业】系列活动。

近日,Apache ShardingSphere 核心技术团队应邀来到中商惠民公司总部,PMC 潘娟与中商惠民的技术同学在开源生态建设、云原生以及在特定场景下的解决方案等话题展开了深度交流和探讨。

中商惠民立足社区,构建互联网+社区+民生平台,根据不同群体的需求创新推出 B2B、B2C 和 B2F 三大服务体系,通过供应链升级、产品升级、服务升级、金融升级、技术升级、品牌升级这六大升级模式,驱动传统社区超市的经营转型,赋能社区超市(便利店)成为社区综合服务的中心,构建社区消费和服务的新生态。在此基础上,为支持多业态的创新发展,更高效地处理大体量数据所带来的一系列问题,中商惠民的技术团队联系 Apache ShardingSphere 社区,双方进行了一次深入的技术探讨。

Apache ShardingSphere 的云上解决方案--Database Mesh

Apache ShardingSphere 借力 Database Mesh 打造数据访问治理利器,革新数据库上云方式,在数据库流量的云原生管控方面实现有效补充。

1. 云原生数据库访问接入代理工具

随着云原生理念在全球范围内的普及,Kubernetes 已经成为云原生操作系统的事实标准,以 Sidecar 在 Kubernetes 环境治理流量已经成为业内普遍接受的部署模式。然而在云原生层面的数据流量管控却呈现出空白,缺少一款能够管理云上数据流量的工具。

由 Apache ShardingSphere 核心团队所打造的一款高性能数据库访问接入代理,可以实现 SQL 负载均衡、SQL 审计、可观测性等能力,并对用户应用无侵入。用户完全可以将其视作为一款部署于 Kubernetes 上的数据流量网关。

2. 面向整个数据库行业的解决方案--Database Mesh

在云原生数据库管控层面,需要配套相应的数据面板和控制面板。发展到一定阶段后,所有云上数据库流量的管理和控制都可以交由 Database Mesh 体系来进行管理,既可以管理普通的数据库,也可以搭配 ShardingSphere-Proxy。

Database Mesh 提供了完全隔离不同环境的能力,运维工程师只需变更数据面板到分布式数据库的网络配置,可适配开发环境、测试环境以及生产环境。对工程师完全屏蔽了数据库所在的具体网络地址,开发工程师只需面向本地数据库进行开发,无需感知分布式数据库的存在。通过 Database Mesh 提供的云原生服务,未来可通过接收控制面板发送的指令,来执行限流、熔断、基于标签的路由等工作。

Database Mesh 是面向整个数据库行业的解决方案,不强制与 Apache ShardingSphere 绑定使用。但将 Database Mesh 与 Apache ShardingSphere 配合使用,能够通过私有协议有效提升交互的性能,形成更加一体化的 Database Mesh 有机解决方案。

如何判断业务是否需要分片?

数据分片是指按照某个维度,将单一数据库中的数据拆分至多个数据库或表中存储,从而达到提升性能和可用性的目的。

首先要明确为什么要采用分片策略?

  • 数据库存储节点性能受限、数据库查询性能降低

数据库中的数据量不一定是可控的,在未进行分库分表的情况下,随着时间和业务的发展,库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作、增删改查的开销也会越来越大;另外,由于无法进行分布式式部署,而一台服务器的资源(CPU、磁盘、内存、IO 等)是有限的,最终数据库所能承载的数据量、数据处理能力都将遭遇瓶颈。

  • 业务关联性问题

如果业务都集中在一起,后端的调整势必会影响到前端业务,所以数据量和性能是一方面,对前端业务的影响也应该加入到考虑之中。

数据体量是一个维度,但并不是决定性的因素。是否选择分片策略,应该根据场景具体需要和线上业务运营情况来决定。毕竟分片最显著的效益在于存储性能和查询效率的提升。在大多数面向用户的场景下,企业需要首先考虑性能问题,此时分片的作用就会更加突出。而在某些对性能、效率没有要求的场景下,即便线上跑着 1 亿体量的数据,对于企业管理和业务运转没有产生直接影响,也不需要对其进行分片。

企业为什么应该参与到开源社区中

在开源社区的贡献,是工程师的另一张简历。

对于公司管理而言,要让工程师感觉到他本身的工作是有价值的、有创造性的,而并非只是按照业务需求按部就班完成功能实现。若要发挥工程师的主观能动性以及创造力,开源无疑是最好的方式。

毕竟大家每天接触到的只是身边这群人,所做的工作也只是办公室里的这些事,每天被『局限』在固定的圈子中。而通过开源,对于工程师来说可以将自己的工作连接到世界,让自己能够抛开书本将视野真正投入到技术中来,逐渐培养开放、合作的精神,重新发现自己当下所产生的价值。

只有当团队中参与开源的工程师数量多了起来,才能慢慢在公司内部形成这种开源的文化。如果能够成功培养工程师优雅的代码设计、周全的思考逻辑习惯,进而健壮自身项目代码质量以及完善的架构思考等等,这些对于工程师和公司团队而言都是无价之宝。如果团队里有一名这样坚守十年如一日的工程师,他在团队中无疑将会起到定心丸的作用,对整个团队的效能提升反而是助力作用。而这也正是公司参与到开源所能产生的最大价值。

在内部培养了开源文化和氛围后,如果团队有自研工具等产品,都能够以公司名义放到 GitHub 上。哪怕不做任何的推广、运营,只需要将项目放置在 GitHub 上,当用户有需求时,自然会与你的项目产生互动,甚至主动为项目做出相应的贡献和补充。所以公司参与开源的第一步,是迈出去。如果公司愿意主动去做,愿意让自己的能力开源出去,以公司行为所塑造的号召力和影响力,将能够在开源这条路上走得更快更远。

794ded044066e11182844c63ae577639.png

【联系我们】

如果您在业务中有应用 Apache ShardingSphere,想要快速了解、接入 Apache ShardingSphere 5.0 新生态,希望借此机会在团队内部举办一场关于 Apache ShardingSphere 的技术分享,欢迎在公众号后台中留下您的姓名、公司、职位、电话等信息,或扫描下方二维码添加官方小助手,备注“走进企业”,会有专人与您对接。

在沟通过后如果双方认为产品和场景均非常匹配,Apache ShardingSphere 社区的核心团队将会走进您的企业,与各条研发线的工程师们现场沟通,解答关于 Apache ShardingSphere 的任何疑问。

8fc43e10e107d732350485f5b31e1f63.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值