深入浅出计算机组成原理
徐文浩
bothub 创始人
69514 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 62 讲
深入浅出计算机组成原理
15
15
1.0x
00:00/00:00
登录|注册

52 | 设计大型DMP系统(上):MongoDB并不是什么灵丹妙药

如果你一讲一讲跟到现在,那首先要恭喜你,马上就看到胜利的曙光了。过去的 50 多讲里,我把计算机组成原理中的各个知识点,一点一点和你拆解了。对于其中的很多知识点,我也给了相应的代码示例和实际的应用案例。
不过呢,相信你和我一样,觉得只了解这样一个个零散的知识点和案例还不过瘾。那么从今天开始,我们就进入应用篇。我会通过两个应用系统的案例,串联起计算机组成原理的两大块知识点,一个是我们的整个存储器系统,另一个自然是我们的 CPU 和指令系统了。
我们今天就先从搭建一个大型的 DMP 系统开始,利用组成原理里面学到的存储器知识,来做选型判断,从而更深入地理解计算机组成原理。

DMP:数据管理平台

我们先来看一下什么是 DMP 系统。DMP 系统的全称叫作数据管理平台(Data Management Platform),目前广泛应用在互联网的广告定向(Ad Targeting)、个性化推荐(Recommendation)这些领域。
通常来说,DMP 系统会通过处理海量的互联网访问数据以及机器学习算法,给一个用户标注上各种各样的标签。然后,在我们做个性化推荐和广告投放的时候,再利用这些这些标签,去做实际的广告排序、推荐等工作。无论是 Google 的搜索广告、淘宝里千人千面的商品信息,还是抖音里面的信息流推荐,背后都会有一个 DMP 系统。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《深入浅出计算机组成原理》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(25)

  • 最新
  • 精选
  • 胖头小C
    SSD硬盘好处是读写更快,但是使用寿命不长,在Kafka经常擦除情况下,机械盘更耐用,经济,而且是顺序读写,机械盘也是很快的,综合还是机械盘更好

    作者回复: 👍

    63
  • 鱼向北游
    不差钱可以用ssd呀 ssd的顺序写速度更快 但是 kafka这种应该会频繁擦写 ssd的寿命扛不住 对于存档 hdd普遍容量大 存档成本低 组raid价格也便宜 对于和ssd顺序读写的性能差距 可以用扩大partition数量来做些弥补 怎么感觉说到底最后是钱的问题呢

    作者回复: 👍哈哈,你抓到关键了。 这个还真是钱的问题,从2019年的应用场景来看,SSD的确还没有太大必要。从数据量的角度,搞很多块HDD已经可以满足目前的高并发的需求了,从成本上和使用寿命也比SSD更划算了。 但是SSD和几年前比已经便宜了很多了,而且在PCI-E接口普及的情况下,顺序读写速度比起HDD也能拉开差距了,所以逐步我们也看到业界开始直接用SSD来部署Kafka也变得比较常见了。

    32
  • 许童童
    我觉得没有必要使用SSD,Kafka主要利用PageCache来提高系统写入的性能,而且Kafka对磁盘大多是顺序读写,在磁盘上提高IOPS,并不能显著的提升Kafka的性能。

    作者回复: 👍的确Kafka用SSD的必要性不大。

    16
  • webmin
    Kafka使用SSD硬盘: 好处: Kafka是顺序追加写,比较适合SSD硬盘的特性; 坏处: Kafka的落盘数据类似于日志,顺序追加写SSD比机械硬盘没有太多的优势,再者擦写太频繁SSD硬盘有擦写寿命,使用SSD的性价比不如机械硬盘。

    作者回复: 👍 优缺点找的很对,最后的选择我们一般会从综合成本来考虑。

    2
    11
  • leslie
    以下是个人对此的理解:希望老师可以在下节课把这节课的答案公布。 分成两部分分别阐述个人对此的理解 一.机械硬盘 机械硬盘的好处是寿命:不过机械硬盘的问题在于速度,不同的机械硬盘有不一样的特性,即使用机械硬盘也要选择缓存偏大且读性能较好的蓝盘。由于kafka是充分利用缓存,毕竟kafka只是消息队列-只是中间件,我们不可能把数据放在kafka中,还是会使用的NOSQL数据库,故而其实际需求是对读性能要求较高的存储设备。 二.SSD SSD读写性能比其实是相对固定的:无论是哪个厂商,其实最终发现这是一个定值;有能力其实SSD确实是一个不错的选择。不过我们在讨论SSD的寿命时其实忽略了一个问题,什么操作影响SSD的寿命?SSD存在的硬件条件和场景是什么? 1.SSD的寿命问题:其实这个问题就像早期说液晶屏一样,额定寿命大概是3年左右,其实大多数实际情况都在5年左右;真正影响SSD寿命的不是读,而是写,这个问题其实机械硬盘同样有。 2.SSD存在的硬件条件是什么:服务器、PC;现在一台PC或者服务器基本上5-6年就各种硬件出现问题,SSD如果使用场景和HDD类似其实寿命是几乎一样的;我们不太可能在服务器都出问题的情况下还去使用使用吧。我自己笔记本电脑是单双硬盘:不过由于市场提供的尺寸不一样,大小略有区别,使用场景几乎完全一样,都各自有一个300G的空间跑虚机做测试,目前已经使用了4年多了,性能和4年前没区别,唯一的区别是当时HDD的代价是SSD的一半左右;现实中服务器的使用也就不超过5-6年,此时其实主板、电源、CPU的散热系统已经基本出问题且厂家和市场都没有相应可换的硬件配件了。 综上所述:故而个人觉得Kafka场景其实资金允许的情况下还是SSD,因为它的坏处其实传统硬盘同样有,这是我们不能回避HDD的硬件问题去说SSD的问题。即使使用HDD其实我们还是要选取读性能强于写性能且缓存偏大的硬盘,况且其实SSD的读写速度方面同样是读方面更好。严重写>读的场景下其实HDD的损坏速度同样非常快,只不过硬件代价低一些而已,但是耗时同样高许多。 期待老师的下节课:谢谢老师的教诲。

    作者回复: 小小的一个纠错,从原理的角度,HDD并不存在反复读写会导致寿命的问题。 不过在实际使用中,其实HDD的损坏率也并不低,而且损坏出现的情况随机性比较大。 实战中核心考虑的因素其实是成本,需要根据实际的应用场景,核算一下总体的成本。而且需要考虑到对应配置了CPU,比如用PCI-E接口,SSD硬盘的顺序读写能到2Gb/s,但是总的带宽有限可能又装不了10块盘。然后CPU和内存在单个机器中的价格占比也需要考虑,最后会是一个总和硬件拥有和维护成本的评估。这个问题并没有一个标准答案。

    3
    7
  • 吴宇晨
    成本的问题ssd顺序读速度能更快,但是价格贵了很多,还有大概kafka主要读写是利用pagecache

    作者回复: 👍其实机器数量一上来,成本就成为架构设计的最重要的考虑因素之一了。

    2
  • 随心而至
    1.重视底层知识,核心知识,万丈高楼平地起。 2.使用场景。没有一招鲜,吃遍天的技术。 3.要有量级的概念。kv数据库,数据管道,数据仓库,就根本不是一个量级的事情,每个量级都应该有自己的最优方案。 刚工作一年多一点,不对之处请老师指出
    26
  • 逍遥法外
    看的真过瘾
    1
    11
  • 李伟
    读到这里,为我打开了一个世界大门,我知道原来这才是设计和技术选型,而不是以前的bug少,维护快。
    2
  • 活的潇洒
    工作中一直在用MongoDB但是并没有想过它不适合那些场景、今天老师从底层原理给我们刨析了个究竟 day52 笔记:https://www.cnblogs.com/luoahong/p/11510567.html
    2
收起评论
显示
设置
留言
25
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部