海量数据存储和访问瓶颈解决方案——数据分割

发布于:2024-10-24 编辑:匿名 来源:网络

背景当今时代,人们对??互联网的依赖程度非常高,从而产生了大量的数据,企业视之为宝。而这些被视为宝石的数据却给我们的系统带来了很多麻烦。

这些海量数据的存储和访问已经成为系统设计和使用的瓶颈,而这些数据往往存储在数据库中。传统数据库有固有的缺点,那就是单机(单数据库)性能瓶颈,并且扩展非常困难。

在当今的大数据时代,我们迫切需要解决这个问题。如果单机数据库易于扩展并且数据可以分段,这些问题就可以避免。

但是目前的数据库厂商,包括开源数据库MySQL,提供这些服务都是收费的,所以我们求助于一些第三方软件。利用这些软件对数据进行切分,将原来在一个数据库上的数据分布到多个数据库上,以减少各个数据库的负载。

那么我们如何对数据进行分段呢?数据分割 数据分割,简单来说就是将我们之前存储在一个数据库中的数据通过一定的条件分散到多个数据库中,从而达到减少单个数据库负载的效果。数据分割,根据其分割规则,大致分为垂直分割和水平分割两种。

垂直切分 垂直切分是指根据不同的表或模式拆分成不同的数据库。例如:在我们的课程中,订单表(order)和产品表(product)在同一个数据库中,现在我们要对其进行Segment,使得订单表(order)和产品表(product)落入不同的数据库分别位于不同的物理机中,使它们完全隔离,从而达到减轻数据库负载的效果。

如图: 8 垂直细分的特点是规则简单、易于实现、可以按照业务模块进行划分。各业务之间耦合度低,相互影响小。

一个架构设计良好的应用系统的整体功能一定是由多个不同的功能模块组成的。每个功能模块对应数据库中的一系列表。

例如,在我们的课程中,产品功能模块对应的表包括:类别、属性、属性值、品牌、产品、sku等表。订单模块中,对应的表包括:订单、订单详情、订单配送地址、订单日志等。

如图: 4 在架构设计中,功能模块之间越统一、交互越少越好。这样,系统模块之间的耦合度就会很低,各个系统模块的可扩展性和可维护性都会大大提高。

有了这样的系统,就很容易实现数据的垂直分割。但在实际的系统架构设计中,有些表很难做到完全独立,经常会出现跨库join的情况。

还是用上面的例子,比如我们收到一个请求,查询某个品类产生了多少订单。如果是在单个数据库中,我们可以直接连表查询。

但现在垂直分为两个数据库。跨库连接表查询对性能影响很大,不建议使用。

服务只能通过接口来调用,增加了系统的复杂度。对于这种很难做到完全独立的表,作为系统架构设计者,你必须要做出权衡。

数据库是不是应该向业务让步,把这些表放到数据库里呢?还是应该拆分成多个数据库,业务之间通过接口调用?系统早期,数据量比较小,资源有限,所以往往选择放在数据库中。随着业务的发展,数据量达到一定规模,就需要对数据进行垂直细分。

如何分割、分割到什么程度,对建筑师来说是一个艰难的考验。我们来看看垂直切分的优缺点: 优点:切分后业务清晰,切分规则清晰;系统易于扩展和集成;数据维护简单缺点:部分业务表无法Join,只能通过接口调用。

增加了系统的复杂性;跨数据库事务处理困难;垂直切分后,部分业务数据量过大,仍存在单一性能瓶颈;正如最后一个缺点所说,当某个业务模块的数据急剧增加时,仍然存在单机性能缺陷。还是用前面的例子,如果一款热门产品出现,订单量急剧上升,达到单机性能瓶颈,那么你所有与订单相关的业务都会受到影响。

这时候我们就要用到水平分割。水平分割 水平分割比垂直分割更复杂。

它需要将一张表中的数据按照一定的规则拆分到不同的数据库中。例如:以订单库1结尾的奇数订单号的订单,以订单库1结尾的偶数订单号的订单在数据库2中。

这样,原本存在于一个数据库中的订单数据就被水平拆分到了两个数据库中。在查询订单数据时,我们还需要根据订单的尾号来判断该订单是在数据库1还是数据库2中,然后将这条SQL语句发送到正确的数据库中来查出订单。

水平切分的架构图如下: 8 要对数据进行水平切分,首先需要找到切分的顺序规则,找出要按照哪个维度来切分。或者在前面的订单示例中,我们按照奇偶订单号进行拆分,那么这种拆分会有什么影响呢?假设我是一个用户,我下了两个订单。

一种顺序以奇数结束,另一种以偶数结束。这时我进入个人中心和订单列表页面查看我的订单。

那么如何查看这个订单列表页面呢?我必须根据我的用户ID分别获取订单1数据库和订单2数据库来查询订单,然后将它们合并到一个列表中。是不是很麻烦呢?因此,我们在拆分数据时,一定要结合业务,选择适合当前业务场景的拆分规则。

那么按照用户ID来拆分数据合理吗?不一定,例如:我们的身份发生了变化,不是作为买家,而是作为卖家。作为卖家,我有很多订单,卖家后台系统也有订单列表页面。

那么如何查看这个订单列表页面呢?我们是否还需要检查所有的订单数据库,然后将它们聚合成一个订单列表?那么这样看来,根据用户ID来分单是不是不合理呢?因此,在做数据水平拆分的时候,对架构师来说是一个真正的考验。我们看一下水平分割的几种典型的分片规则:对用户id取模,我们之前已经提到过;根据日期分割数据;基于其他字段对数据进行模分割; 8 以上是根据用户id查找模块化拆分的示意图。

我们看一下水平拆分的优缺点: 优点:解决了单库大数据、高并发的性能瓶颈;拆分规则封装良好,对应用端几乎透明,开发者无需关心拆分细节;它提高了系统的效率。稳定性和负载能力;缺点:分裂规则难以抽象;分片事务一致性难以解决;二次扩容时数据迁移和维护困难。

比如:一开始我们根据用户id建模为2个,但是随着业务的增长,2个数据库无法支撑,所以我们继续拆分为4个数据库。那么就需要进行数据迁移。

总而言之,世界上没有什么是完美的。就像数据分割一样,有优点也有缺点。

无论是垂直切片还是水平切片,它们解决了海量数据的存储和访问性能问题,但也带来了很多新的问题。它们共同的缺点是:分布式事务问题;数据库连接问题;多数据源的管理问题。

对于多数据源的管理问题,主要有两种思路:客户端模式。在每个应用模块中,配置您需要的数据源并直接访问数据库。

在各个模块中,完成数据集成;中间代理模式,中间代理统一管理所有数据源,数据库层对开发者完全透明,开发者无需关注拆分细节。基于这两种模式,目前已有成熟的第三方软件。

海量数据存储和访问瓶颈解决方案——数据分割

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • AI药企“未知君”完成A+轮融资,利和宏芯领投

    AI药企“未知君”完成A+轮融资,利和宏芯领投

    投资界6月24日消息,据媒体报道,深圳市未知君生物科技有限公司(简称“未知君”) )年初完成A+轮融资,由利和宏信领投,耀明投资跟投。 据悉,未知君今年8月完成A轮融资,由高榕资本领投,晨兴资本、真格基金跟投。 两轮融资总额达数千万美元。 未知君成立于2007年,是中国

    06-18

  • 获得4.95亿美元信贷支持! Ameresco将部署537MW2150MWh电池储能系统

    获得4.95亿美元信贷支持! Ameresco将部署537MW2150MWh电池储能系统

    据外媒报道,美国清洁能源解决方案提供商Ameresco已增加信贷额度2.62亿美元,以资助未来业务增长,并提供能源效率和可再生能源开发商2.1GWh电池的支持部署在加利福尼亚州的存储项目。 该公司最近表示,已修订并重申了与美国银行牵头的贷款机构安排的高级担保信贷安排,使信贷

    06-08

  • 欧瑞博欧瑞博获得恒大高科技集团独家战略股权,今年已连续完成两轮融资

    欧瑞博欧瑞博获得恒大高科技集团独家战略股权,今年已连续完成两轮融资

    据投资行业消息,国内智能家居企业欧瑞博欧瑞博宣布获得恒大高科技集团独家战略股权。 欧瑞博还将与恒大在智慧地产、住宅科技领域展开深度合作,共同推动智能家居在精装修地产的落地和发展,创造更加美好的人居环境。 截至目前,欧瑞博已获得恒大集团、红星美凯龙、赛富亚洲

    06-18

  • 每天数十万北美人使用的排名第一的视频社交网络居然是这家中国公司制作的!

    每天数十万北美人使用的排名第一的视频社交网络居然是这家中国公司制作的!

    孟小姐像往常一样点开了HOLLA,找陌生人聊天。 但这一次,屏幕上却只有一个人坐在屋外。 头顶上漆黑的天空让人看不清他的脸。 他只能听到树叶的沙沙声。 为什么你那里这么黑?孟小姐问道。 对方回答说他在佛罗里达州,警报器说飓风即将来临。 他不敢留在屋子里,生怕被房子撞

    06-17

  • Intel第12代HX移动处理器发布,完成高性能游戏笔记本的最后一块拼图

    Intel第12代HX移动处理器发布,完成高性能游戏笔记本的最后一块拼图

    在今年早些时候的CES大会上,Intel公布了第12代酷睿移动处理器家族,分别是H系列和P系列输出均衡,U系列注重能耗比。 其中H系列H45系列处理器已率先登陆市场,并成为今年上半年高性能游戏笔记本的标配。 与第12代桌面处理器相比,H45系列有几个变化。 例如,最大核心规格比桌

    06-21

  • 全球最受欢迎的仿生眼每只售价高达95万元,你能看见什么?

    全球最受欢迎的仿生眼每只售价高达95万元,你能看见什么?

    仿生人会梦见电子羊吗?没人知道。 但现在,“仿生羊”可能会看到“机器人”。 澳大利亚科学家花了三个月的时间通过手术将仿生眼睛植入一小群羊的视网膜后面,使羊获得了超出其视觉范围的“异常敏锐的视力”。 ▲图片来自:Getty Images/futurism 新研究发表于《生物材料》。

    06-21

  • 烧钱、耗时,十年内不盈利,却每两天爆出一笔融资,医疗健康创业是金矿还是虚火?

    烧钱、耗时,十年内不盈利,却每两天爆出一笔融资,医疗健康创业是金矿还是虚火?

    在《未来建筑师》节目中,《人类简史》的作者预言,随着医疗技术的发展,未来长寿将不再是梦想。 除了创新医疗服务的不断涌动,频繁的资本动作也在努力将这一预测变成现实。 据NewSeed(ID:pelink)统计,上半年,医疗健康行业早期创业公司(含B轮之前)共完成93轮融资,这意

    06-18

  • 一起教育科技公布最新财报:2022财年数字化转型业务收入同比增长8.5倍

    一起教育科技公布最新财报:2022财年数字化转型业务收入同比增长8.5倍

    3月28日,一起教育科技(YQ.US)公布了第四季度未经审计的财务报告和全年。 财报显示,截至12月31日,亿亿教育科技第四季度非K-12在线培训业务净利润由万元增至万元,同比增长0.7% ;公司营业费用较去年同期减少3.8亿元。 1.41亿元,同比下降62.9%。 与此同时,伊泰教育科技全

    06-18

  • 3D机器视觉迎来爆发机遇

    3D机器视觉迎来爆发机遇

    迈向智能时代的过程不仅需要AI技术,还需要一系列与AI相匹配的计算、感知、连接等技术。 其中,3D感知尤为关键。 纵观当下最受关注的几大领域,智能机器人、自动驾驶汽车、XR(包括VR、AR、MR)以及今年最火的元宇宙都需要3D感知。 但长期以来,3D机器视觉主要应用于智慧城市

    06-18

  • 办公自助便利店“果小妹”再获数千万美元融资

    办公自助便利店“果小妹”再获数千万美元融资

    据投资界8月30日消息,据腾讯科技报道,旗下从事办公自助便利店“果小妹”已获数千万融资< titlesplit >从事办公自助便利货架业务的公司,近日完成了价值数千万的超A新一轮融资。 据悉,本轮融资由国内一线投资机构领投,原投资方也在跟投。   据了解,目前,郭小妹已在成都

    06-18

  • 受俄乌冲突及高通胀影响,第二季DRAM价格预计将继续下跌0~5%

    受俄乌冲突及高通胀影响,第二季DRAM价格预计将继续下跌0~5%

    TrendForce:俄乌冲突及高通胀下,预计DRAM价格将下跌第二季度继续下跌0~5% 据TrendForce预估,第二季度DRAM整体平均价格下跌约0~5%。 这是由于买家和卖家库存略高,加上近期俄罗斯和乌克兰冲突影响个人电脑、笔记本电脑、智能手机等需求。 高通胀的影响进一步削弱了消费者的

    06-08

  • 天眼药业获5000万美元C轮融资,由红杉资本中国基金领投

    天眼药业获5000万美元C轮融资,由红杉资本中国基金领投

    据投资界3月27日消息,天眼药业近日宣布完成1万美元C轮融资。 本轮融资由红木资本领投。 山资本中国基金领投,新世界信息技术股份有限公司、中航信托股份有限公司、金星资本、歌斐资产等跟投。   据悉,本轮融资资金将主要用于完成全球正在申请IND的抗体新药临床试验,并推

    06-18