18|分片(二):垂直分片和混合分片的 trade-off
陈现麟
该思维导图由 AI 生成,仅供参考
你好,我是陈现麟。
通过了解水平分片策略中,关于数据划分和数据平衡的原理和知识,我们可以基于极客时间的业务场景,选择合适的数据划分和数据平衡的方式,组合出最佳的水平分片策略。
而在一些数据分析的场景中,一行数据往往有非常多的字段,我们在计算时,却只需要一列或者几列的数据。这时基于水平分片策略,虽然能解决数据容量的问题,但是却没有充分利用数据分析场景的业务特点进行优化。那么是否有针对这个场景设计的数据分片方式呢?
答案是肯定的,数据的垂直分片与混合分片,比起水平分片来说,能更好地满足数据分析场景。所以在本节课中,我们将一起来讨论数据分片的另外两种方式:垂直分片与混合分片,思考一下垂直分片与混合分片,是如何利用数据分析场景的业务特点,来做数据存储优化的。
我们会先讨论垂直分片策略的应用场景和技术原理,接着分析混合分片策略是如何结合垂直分片与混合分片,在读写和水平扩展之间达到最优平衡的,最后再对讨论垂直分片时,引入的两种存储方式:行式存储和列式存储,进行对比和总结。
垂直分片策略
垂直分片策略和水平分片策略都是对数据进行分片,但是它们的思路却截然不同。水平分片策略将整个数据集的条数作为划分的对象,每一个分片负责处理一定的数据条数。而垂直分片策略则是将数据 Schema 的字段集个数作为划分的对象,每一个分片负责处理一个或几个字段的全部数据,具体如下图所示。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
混合分片策略在大数据分析场景中发挥着重要作用。相对于水平分片,垂直分片更适合处理宽表存储、按列读取、读多写少、数据量大、查询无规律的场景。垂直分片通过列式存储和高效压缩降低存储成本、提高读取性能。然而,混合分片策略将垂直分片与水平分片结合起来,以达到最优平衡。垂直水平分片策略和水平垂直分片策略是混合分片的两种模式,分别适用于不同的数据集。此外,文章还对行式存储和列式存储进行了全面的对比和总结,帮助读者更好地理解它们的优缺点以及适用场景。通过对各种策略不同优缺点的讨论和对比,读者能够明白架构设计总是依赖业务场景的特点来做取舍,没有完美的架构,只有完美的 trade-off。文章内容丰富,对于需要了解大数据分片策略的读者具有重要参考价值。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《深入浅出分布式技术原理》,新⼈⾸单¥59
《深入浅出分布式技术原理》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(5)
- 最新
- 精选
- 不吃辣👾老师,垂直分片就没有上节水平分片带来的,访问冷热不均,数据倾斜,数据有序性问题吗?
作者回复: 也有,不过垂直分片一般和水平分片组合使用,所以可以利用水平分片来解决这样问题。
2022-04-041 - 水草垂直水平和水平垂直还是没看懂,它们两个示意图都一样。
作者回复: 分片的数目不一样,一个是 2 个分片,一个是 10 个分片
2022-03-202 - peter请教老师两个问题啊: Q1:垂直分片为什么水平扩展性差? 水平扩展是把数据水平分为多个部分,照样可以啊,只不过可能麻烦一些,需要把多个垂直分片同事分裂。 Q2:水平垂直拆分图,为什么是2个分片?应该也是十个分片啊。2022-03-112
- shuff1e其中,主键所在的列是有序的,其他列的读取性能也非常不错,可以理解为数据即索引,所以一般来说,列式存储系统对二级索引依赖不大,列式存储可以方便地应对查询无规律,不能预先建立索引的情况。 —— 其他列的读取性能也非常不错,列式存储对二级索引依赖不大,这个的意思具体是?2022-03-1211
- 雾都请问老师一个问题,水平分片和垂直分片中的每一片在物理机上是怎么存储的,一片一个物理机?一片一个物理文件?2022-03-112
收起评论