分布式技术原理与算法解析
聂鹏程
智载云帆 CTO,前华为分布式 Lab 资深技术专家
39663 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 43 讲
分布式技术原理与算法解析
15
15
1.0x
00:00/00:00
登录|注册

24 | 分布式数据存储系统之三要素:顾客、导购与货架

货架
导购
顾客
分布式存储系统的三要素

该思维导图由 AI 生成,仅供参考

你好,我是聂鹏程。今天,我来继续带你打卡分布式核心技术。
在上一篇文章中,我们一起学习了 CAP 理论。该理论指出,在分布式系统中,不能同时满足一致性、可用性和分区容错性,指导了分布式数据存储系统的设计。
随着数据量和访问量的增加,单机性能已经不能满足用户需求,分布式集群存储成为一种常用方式。把数据分布在多台存储节点上,可以为大规模应用提供大容量、高性能、高可用、高扩展的存储服务。而,分布式存储系统就是其具体实现。
在今天这篇文章,我将带你学习分布式存储系统的关键三要素,让你对分布式数据存储系统有一个直观的理解。在后面几篇文章中,我会针对这三要素中的关键技术进一步展开,以帮助你更深入地理解分布式数据存储系统。
接下来,我们就一起打卡分布式存储系统的三要素:顾客、导购与货架。

什么是分布式数据存储系统?

分布式存储系统的核心逻辑,就是将用户需要存储的数据根据某种规则存储到不同的机器上,当用户想要获取指定数据时,再按照规则到存储数据的机器里获取。
如下图所示,当用户(即应用程序)想要访问数据 D,分布式操作引擎通过一些映射方式,比如 Hash、一致性 Hash、数据范围分类等,将用户引导至数据 D 所属的存储节点获取数据。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文通过生动的比喻,将分布式存储系统的核心逻辑解释得淋漓尽致。文章以“顾客、导购与货架”为引子,将分布式存储系统的三要素生动地比喻成购物场景,让读者轻松理解。顾客代表数据的生产者和消费者,导购则是数据索引,而货架则是存储设备。通过这个比喻,读者可以直观地理解分布式存储系统的运作原理。 文章还介绍了分布式存储系统中的数据类型,包括结构化数据、半结构化数据和非结构化数据,以及它们在不同场景下的存储和使用方式。这些内容为读者提供了对分布式存储系统中数据特点的深入了解。 此外,文章还涉及了数据分片技术和数据复制技术在分布式存储系统中的重要性,以及货架材料的选择对数据存储的影响。同时,对业界主流的分布式数据存储系统进行了对比分析,帮助读者更好地理解和选型。 通过本文,读者可以快速了解分布式存储系统的核心概念和运作原理,以及不同类型数据的存储和使用方式。这对于对分布式存储系统感兴趣的读者来说是一篇具有启发性和实用性的文章。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《分布式技术原理与算法解析》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(9)

  • 最新
  • 精选
  • 💢 星星💢
    传统单机数据库,首先单机存储容量肯定有限制的,而且存在单点,但是上一讲说了它是不存在网络分区的,处理数据简单明了。这讲来讲拿货取货,都非常方便,可以没有导购。 而分布式数据库,存储容量是根据你业务增长来的。解决了单兵作战问题。但是处理数据比较麻烦,还要参考cap理论,做相应的技术手段应对。拿货取货都比较麻烦,必须要有导购,而且还要根据各种货物的类型,选择合适的货架放置。

    作者回复: 总结的非常好!加油!

    2019-12-19
    2
    5
  • Eternal
    老师的问题:传统单机关系型数据库与分布式数据库的区别是什么? 回答老师的问题,我任务首先需要需要梳理几个维度,然后通过这些维度来比较单机数据库和分布式数据库的区别,其实课程内容中老师已经 回描述了很多了,我这里总结一下自己的思考: 1.需求场景的演进 在互联网和移动互联网还没爆发的时候,系统的用户量,数据量,系统的交互实时性都比较低。这个时候单机的关系型数据库就已经够用了。 但是随着互联网和移动互联网的发展,单机的关系型数据库不能满足需求的迭代,于是分布式数据据演化出来。我们可以通过分库分表, 数据的水平拆分,垂直拆分来扩展数据库的服务能力,但是这样没有本质的改变单机的关系型数据库。 2.数据量 传统单机关系型数据库单表1亿数据量我们认为比较高了,需要拆分,分布式数据库OceanBase能支持上千亿上百TB级别的数据跨行跨表事务 处理,传统单机关系型是完全不能抗衡的。 3.数据的存储格式 传统单机关系型数据库:存储的是结构化的表数据 分布式数据库:支持结构化的表数据、半结构化数据、非结构化数据 4.数据的索引 传统单机关系型数据库:B树、B+树、hash、倒排索引;比如Mysql目前主流使用都是Innodb的 B+树索引 分布式数据库:hash、一致性hash环、数据范围分类 因为数据的格式变化得更加丰富,数据的索引也变化了 5.数据分片和数据复制 传统单机关系型数据库:可以主从复制(主提供写,从提供读);可以数据拆分。拆分后一个节点故障后不能提供服务。 分布式数据库:可以将数据拆分成很多个节点,每个节点都有多个数据副本,每个节点都能提供数据的读写,数据自动合并 6.老师上一节将的CAP理论维度 传统单机关系型数据库:支持CA,不支持P 分布式数据库:支持P,CA之间根据业务场景取舍 7.使用效率:关联查询、事务处理、排序处理 传统单机关系型数据库:三个维度都支持得很好,很成熟 分布式数据库:关联查询复杂度提高了、事务数据复杂度提高了,排序的复杂度提高了
    2019-11-23
    2
    36
  • xingoo
    在存储位置方面,传统数据库一般很少做集群,点也很少。分布式数据库一般会由几十,几百,几千个节点组成。而数据的查询分布都是靠数据分片的规则来定。 在存储格式上,传统数据库一般采用b+树,适合增删改查重建索引;分布式数据库一般采用lsm树,顺序插入,合并更新机制。 存储的内容上,分布式数据库一般结构化不明显,偏向稀疏的列式存储,不容易做到acid,锁的机制也没有数据库丰富。
    2019-11-20
    2
  • leslie
    传统的单机其实问题在于处理并发的能力弱,早期的网络速度和使用用户没那么多;单机足以支撑,现在网速、连接数、需求更加多样化了,单机就难以支撑了。生产环境不可能是读写1:1,大多数场景还是会是70%的读30%的写或者更高,故而后期的做法基本都是用读写分离去平衡这种问题。 用擅长的东西去做擅长的事情吧,故而MYSQL会有MYISAM和INNODB两种存储引擎,MYSQL5.0时MYISAM为主innodb可辅,10年后到了5.7完全反向了。人不可能全能:多件事情都需要做可能就需要团队了。MYSQL的分布式主要是做了读写分离:针对生产线上的压力去增加只读数据库或者写数据库从而平衡线上的压力。 老师的课程今天讲的3个东西其实就是目前的中间件存储/数据系统:MQ+NOSQL DB+ RMDB;不再是用单一的数据库去支持整个业务,而是用整个数据系统去支撑整个业务。
    2019-11-20
    1
  • Jackey
    刚好公司目前在拆分数据库,我从使用的角度聊一聊单机和分布式的区别吧。首先影响最大的可能是联查,分布式数据库的联查是一件很麻烦的事情,因为要关联的数据可能不在同一个库里。然后是取前n个值,由于数据分散在各个库中,如果不是根据sharding字段排序,要得到准确排序,可能需要把m(数据库数量)倍的数据都查出来,放到内存中排序,这个效率会非常低。
    2019-11-20
    6
    1
  • 随心而至
    这篇文章真是太赞了,之前我总是觉得Mongodb,Redis,Elasticsearch,Kafka等等关于数据存储都好像好像。 下面是我之前的留言: 分布式数据存储,好像都是利用某种hash算法将数据存在不同的机器上。Kafka: hash(消息的键)来确定分区;Redis:hash(key)来确定slot;ES:hash(docId)来确定shard。 看了今天的文章,顾客(生产者/消费者),导购(数据索引),货架(数据库),真是有种拨开云雾见青天的感觉,茅塞顿开,赞赞赞。
    2019-11-20
    1
  • 此篇的内容很赞,感觉各种存储系统没那么难了啦!老师的顾客、导购、货架的比喻,也非常的生动形象,再想一想其实各种存储系统的核心区别点主要在于导购,也就是存取数据的具体规则,当然具体规则如何选择是根据数据的类型来的,目前所知就是组建索引的关键字和索引本身的结构。关键字的选取核心是找区分度大的信息,比如:行记录的主键、key、列名、文档ID等。索引的结构有B+树、倒排索引、哈希映射等。存储在那里也会导致特性的不同,最大的特点是速度、以及持久性。 感谢老师的分享。
    2020-02-19
  • Geek_f6f02b
    oceanbase好像1.4之后就不开源了,走商业化了
    2019-12-23
  • 阿卡牛
    老师会说单主节点、多主节点、无主节点复制的相关内容吗
    2019-11-23
收起评论
显示
设置
留言
9
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部