当前位置:首页 > 科技  > 软件

破解分布式库使用难点:数据分片策略

来源: 责编: 时间:2023-11-30 17:31:52 412观看
导读随着分布式数据库日渐成熟,在推广使用上开始步入深水区。在这一过程中,对企业的架构、运维、开发都带来不小的冲击,如何快速掌握这一新技术,尽快落地成为大家关注的焦点。本文从开发者的视角出发,讨论使用分布式数据库所面

随着分布式数据库日渐成熟,在推广使用上开始步入深水区。在这一过程中,对企业的架构、运维、开发都带来不小的冲击,如何快速掌握这一新技术,尽快落地成为大家关注的焦点。本文从开发者的视角出发,讨论使用分布式数据库所面临的难点之一:数据分片策略,这也是阻碍很多企业上到分布式数据库的核心问题。Gwp28资讯网——每日最新资讯28at.com

1. 数据分片策略是什么

分布式数据库的核心能力之一,就是通过数据分片存储,来承载更大的数据规模和计算负载。数据分片,是把数据库横向扩展到多个物理节点上的一种分布式技术。可以理解为将表数据按照特定的分片规则水平切分成若干片段(shard),使这些数据片段分布在不同物理节点上。数据分片从大类可分为垂直分片和水平分片,前者是按业务类别进行拆分,常见为业务拆库;后者则是以字段为依据,按照一定策略拆分到若干表中。本文后面所谈的数据分片,是针对后者。那么如何将数据从单体更换为分布式,这就需要考虑数据分片策略。数据分片策略包括分片算法、数据分布、分布关系等,简单描述参见下表。Gwp28资讯网——每日最新资讯28at.com

图片图片Gwp28资讯网——每日最新资讯28at.com

2. 分布式数据库分片策略

业内分布式数据库产品,针对数据分片策略通常有三种做法。一种是基于主键/唯一索引/隐含主键等做统一数据分片,即用户无需人为设置分片策略;一种是开放若干数据分片算法,用户可自行创建数据对象时人为指定;还有一些数据库中间件产品,支持更为灵活的分片方式,可以让用户自行扩展。上面三种,我们可命名为内置、开放、自定义。下面从开发者角度,简单对比下这几种方式。Gwp28资讯网——每日最新资讯28at.com

图片图片Gwp28资讯网——每日最新资讯28at.com

这里解释一下:Gwp28资讯网——每日最新资讯28at.com

  • 内置方式产品,通常对开发者来说更容易上手,使用体验与单机数据库基本一致。但由于无法干预分片策略,其灵活性较差且与业务无关。在大部分业务场景下,是需要牺牲性能体验、消耗更多硬件资源来弥补上述不足。
  • 开放方式产品,需要开发者从内置策略中选择一种相对最优解,其具备一定灵活性也兼具了性能表现,可满足绝大多数场景的需要,只有个别业务因其特殊性很难找到合适分片策略,需要业务定制改造。
  • 自定义方式产品,为开发者提供最大的灵活自由度,但也意味着易用性较差及需要开发运维方面做更多工作,很难做到标准产品化。

3. 分片实施难点与解法

除了第一种方式外,其余两种都涉及一个问题就是现有数据对象如何拆分?好的拆分策略,一定是兼顾业务模型、性能最佳、稳定可靠、研发改造、运维难点等多种因素下,结合分布式数据库的特点而做的最优解,这是在多种因素下平衡的结果。在具体实施上,需要收集大量信息后才能做出决定,下面将主要部分整理为一个表格。Gwp28资讯网——每日最新资讯28at.com

图片图片Gwp28资讯网——每日最新资讯28at.com

图片图片Gwp28资讯网——每日最新资讯28at.com

从上表可见,数据分片设计过程中,需考虑的问题很多,是一个多维立体的模型分析过程。包括对企业的业务流、数据流、数据模型、业务特征、基础环境等诸多方面的考虑。上述还需要结合分布式架构数据库的能力理解才能得出一个相对“适合”的设计方案。这对于企业来说是非常痛苦的,也是阻碍企业上到分布式数据库的难点之一。不能将上述包袱完全推给用户去完成,而是尽量在数据库产品侧给出答案,即产品需具备数据分片优化推荐功能。如果分片设计不合理,可能造成影响到业务系统的稳定可靠、服务体验,往往服务体验是忽快忽慢且最可怕是某一些时刻或者业务场景是最慢的,从而导致排错分析的困难复杂增加。当然,开始设计很难做到十全十美,但系统在运行中经过不断摸索后还需数据库具备一定的在线分片调整能力,例如针对分片类型或分片字段的调整。在这一过程中要做到不中断现有业务服务的正常运行,其次要做到尽量少地影响现有业务服务的性能体验(也即控制资源占用对生产环境的业务服务影响),最后要做到尽量快地完成分片信息的调整。Gwp28资讯网——每日最新资讯28at.com

4. 业内产品现状及展望

目前国内很多分布式数据库厂商都加强了迁移能力的支持,一般是通过外置工具的方式提供收集、评估、辅助迁移、验证等一系列流程的支持。下图是以OceanBase的OMA工具举例,说明其提供的支持能力。Gwp28资讯网——每日最新资讯28at.com

图片图片Gwp28资讯网——每日最新资讯28at.com

通过上图可见,产品针对数据分片策略部分做的不多,主要是对兼容类的评估工具;即根据数据库自身能力,评估原有对象、SQL语句需要做哪些改造等。尚没有实现数据分片策略的推荐工作,处于空白。其实去年公众号也发布过一篇文章,就是想通过小工具去完成这一过程,只是目前还未看到有厂商产品支持。相信未来这一能力得到支持后,将加快国内企业选择分布式数据库实践之路。Gwp28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-35587-0.html破解分布式库使用难点:数据分片策略

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 知道这些正则表达式,能让你少写1000行代码

下一篇: 普通Kubernetes Secret足矣

标签:
  • 热门焦点
  • Mate60手机壳曝光 致敬自己的经典设计

    8月3日消息,今天下午博主数码闲聊站带来了华为Mate60的第三方手机壳图,可以让我们在真机发布之前看看这款华为全新旗舰的大致轮廓。从曝光的图片看,Mate 60背后摄像头面积依然
  • 俄罗斯:将审查iPhone等外国公司设备 保数据安全

    iPhone和特斯拉都属于在各自领域领头羊的品牌,推出的产品也也都是数一数二的,但对于一些国家而言,它们的产品可靠性和安全性还是在限制范围内。近日,俄罗斯联邦通信、信息技术
  • 对标苹果的灵动岛 华为带来实况窗功能

    继苹果的灵动岛之后,华为也在今天正式推出了“实况窗”功能。据今天鸿蒙OS 4.0的现场演示显示,华为的实况窗可以更高效的展现出实时通知,比如锁屏上就能看到外卖、打车、银行
  • 印度登月最关键一步!月船三号今晚进入环月轨道

    8月5日消息,据印度官方消息,月船三号将于北京时间今晚21时30分左右开始近月制动进入环月轨道。这是该探测器能够成功的最关键步骤之一,如果成功将开始围
  • 一文看懂为苹果Vision Pro开发应用程序

    译者 | 布加迪审校 | 重楼苹果的Vision Pro是一款混合现实(MR)头戴设备。Vision Pro结合了虚拟现实(VR)和增强现实(AR)的沉浸感。其高分辨率显示屏、先进的传感器和强大的处理能力
  • 一篇聊聊Go错误封装机制

    %w 是用于错误包装(Error Wrapping)的格式化动词。它是用于 fmt.Errorf 和 fmt.Sprintf 函数中的一个特殊格式化动词,用于将一个错误(或其他可打印的值)包装在一个新的错误中。使
  • 使用AIGC工具提升安全工作效率

    在日常工作中,安全人员可能会涉及各种各样的安全任务,包括但不限于:开发某些安全工具的插件,满足自己特定的安全需求;自定义github搜索工具,快速查找所需的安全资料、漏洞poc、exp
  • 三星Galaxy Z Fold/Flip 5国行售价曝光 :最低7499元/12999元起

    据官方此前宣布,三星将于7月26日也就是明天在韩国首尔举办Unpacked活动,届时将带来带来包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy
  • 最薄的14英寸游戏笔记本电脑 Alienware X14已可以购买

    2022年1月份在国际消费电子展(CES2022)上首次亮相的Alienware新品——Alienware X14现在已经可以购买了,这款笔记本电脑被誉为世界上最薄的 14 英寸游戏笔
Top