searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

数据分布式存储的基础技术概念

2024-07-18 09:48:14
5
0

背景

随着数据量的与日俱增,单机的性能已经无法满足大数据的场景,当一个业务的所有数据没法存储在一台机器上时,对数据集在多个节点之间进行分布式存储就变得尤为重要。

通常来说,有两种基本的技术可以应用于数据分布式存储,它可以将数据拆分到多个节点上,以允许更多的并行处理,还可以复制或缓存在不同的节点,以提高客户端和服务器之间的通讯效率和容错能力。

分区

分区是将数据级划分为更小的不同独立集,每个分区都是数据的子集,分区技术可以限制在同一分区内的数据量和数据相关性。

通常我们会根据对业务数据集的主要访问模式来定义分区,从而处理具有独立分区特性的数据集。例如,对于某一个电商app的销售订单,由于用户存在天然的地域性,我们就可以使用地域属性将订单数据进行分区存储,每个地域的数据量较全量而言就更加可控,查询或操作该地域的订单就只需要处理该地域的子集数据。

复制

复制是指在多台机器上复制相同的数据,这就可以让更多的机器参与计算。复制是通过创建额外的冗余数据副本来提高可用性,即使节点发生故障时也不会造成数据丢失,避免了分区的单点故障。

但另一方面,复制也会带来很多新的问题,例如

1、节点之间需要带宽进行数据同步

2、同步存在数据延迟,需要以某种方式保持一致性

在分布式数据库领域,分区和复制技术经常结合使用,来提升数据处理效率和服务的可用性。典型的例子就是Kafka的数据存储模型

每个Broker所在的节点都只会存储一个Topic的部分数据,并由该Broker作为主节点来处理这部分的数据操作,这就是分区技术的体现。

同时,一个Topic的part部分数据会复制到多个不同的从节点上,避免单个Broker宕机造成的数据丢失,这就是复制技术的体现。

0条评论
0 / 1000
胡****亮
4文章数
0粉丝数
胡****亮
4 文章 | 0 粉丝
胡****亮
4文章数
0粉丝数
胡****亮
4 文章 | 0 粉丝
原创

数据分布式存储的基础技术概念

2024-07-18 09:48:14
5
0

背景

随着数据量的与日俱增,单机的性能已经无法满足大数据的场景,当一个业务的所有数据没法存储在一台机器上时,对数据集在多个节点之间进行分布式存储就变得尤为重要。

通常来说,有两种基本的技术可以应用于数据分布式存储,它可以将数据拆分到多个节点上,以允许更多的并行处理,还可以复制或缓存在不同的节点,以提高客户端和服务器之间的通讯效率和容错能力。

分区

分区是将数据级划分为更小的不同独立集,每个分区都是数据的子集,分区技术可以限制在同一分区内的数据量和数据相关性。

通常我们会根据对业务数据集的主要访问模式来定义分区,从而处理具有独立分区特性的数据集。例如,对于某一个电商app的销售订单,由于用户存在天然的地域性,我们就可以使用地域属性将订单数据进行分区存储,每个地域的数据量较全量而言就更加可控,查询或操作该地域的订单就只需要处理该地域的子集数据。

复制

复制是指在多台机器上复制相同的数据,这就可以让更多的机器参与计算。复制是通过创建额外的冗余数据副本来提高可用性,即使节点发生故障时也不会造成数据丢失,避免了分区的单点故障。

但另一方面,复制也会带来很多新的问题,例如

1、节点之间需要带宽进行数据同步

2、同步存在数据延迟,需要以某种方式保持一致性

在分布式数据库领域,分区和复制技术经常结合使用,来提升数据处理效率和服务的可用性。典型的例子就是Kafka的数据存储模型

每个Broker所在的节点都只会存储一个Topic的部分数据,并由该Broker作为主节点来处理这部分的数据操作,这就是分区技术的体现。

同时,一个Topic的part部分数据会复制到多个不同的从节点上,避免单个Broker宕机造成的数据丢失,这就是复制技术的体现。

文章来自个人专栏
数据库的那些事
4 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0