后端存储实战课
李玥
京东零售计算存储平台部资深架构师
立即订阅
4529 人已学习
课程目录
已完结 28 讲
0/4登录后,你可以任选4讲全文学习。
课前必读 (2讲)
开篇词 | 从今天起,换种方式学存储
免费
课前加餐 | 电商系统是如何设计的?
创业篇 (7讲)
01 | 创建和更新订单时,如何保证数据准确无误?
02 | 流量大、数据多的商品详情页系统该如何设计?
03 | 复杂而又重要的购物车系统,应该如何设计?
04 | 事务:账户余额总是对不上账,怎么办?
05 | 分布式事务:如何保证多个系统间的数据是一致的?
06 | 如何用Elasticsearch构建商品搜索系统?
07|MySQL HA:如何将“删库跑路”的损失降到最低?
高速增长篇 (7讲)
08 | 一个几乎每个系统必踩的坑儿:访问数据库超时
09 | 怎么能避免写出慢SQL?
10 | 走进黑盒:SQL是如何在数据库中执行的?
11 | MySQL如何应对高并发(一):使用缓存保护MySQL
12 | MySQL如何应对高并发(二):读写分离
13 | MySQL主从数据库同步是如何实现的?
14 | 订单数据越来越多,数据库越来越慢该怎么办?
海量数据篇 (10讲)
15 | MySQL存储海量数据的最后一招:分库分表
16 | 用Redis构建缓存集群的最佳实践有哪些?
17 | 大厂都是怎么做MySQL to Redis同步的?
18 | 分布式存储:你知道对象存储是如何保存图片文件的吗?
19 | 跨系统实时同步数据,分布式事务是唯一的解决方案吗?
20 | 如何在不停机的情况下,安全地更换数据库?
21 | 类似“点击流”这样的海量数据应该如何存储?
22 | 面对海量数据,如何才能查得更快?
23 | MySQL经常遇到的高可用、分片问题,NewSQL是如何解决的?
24 | RocksDB:不丢数据的高性能KV存储
结课测试 (1讲)
结课测试 | 后端存储,100分试卷等你来挑战
结束语 (1讲)
结束语 | 把奋斗当习惯
后端存储实战课
15
15
1.0x
00:00/00:00
登录|注册

21 | 类似“点击流”这样的海量数据应该如何存储?

李玥 2020-04-14
你好,我是李玥。
对于大部分互联网公司来说,数据量最大的几类数据是:点击流数据、监控数据和日志数据。这里面“点击流”指的是在 App、小程序和 Web 页面上的埋点数据,这些埋点数据记录用户的行为,比如你打开了哪个页面,点击了哪个按钮,在哪个商品上停留了多久等等这些。
当然你不用太担心自己的隐私问题,记录的这些行为数据不是为了监控用户,主要目的是为了从统计上分析群体用户的行为,从而改进产品和运营。比如,某件商品看的人很多,停留时间很长,最后下单购买的人却很少,那采销人员就要考虑是不是这件商品的定价太高了。
除了点击流数据以外,监控和日志数据都是大家常用的,我就不再多解释了。
这类数据都是真正“海量”的数据,相比于订单、商品这类业务的数据,数据量要多出 2~3 个数量级。每天产生的数据量就可能会超过 TB(1 TB = 1024 GB)级别,经过一段时间累积下来,有些数据会达到 PB(1 PB = 1024 TB)级别。
这种量级的数据,在大数据技术出现之前,是没法保存和处理的,只能是通过抽样的方法来凑合着做分析。Hadoop 等大数据技术出现以后,才使得存储和计算海量数据成为可能。
今天这节课,我们来说说,应该选择什么样的存储系统,来保存像“点击流”这样的海量数据。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《后端存储实战课》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(6)

  • 李玥 置顶
    Hi,我是李玥。

    这里回顾一下上节课的思考题:

    我们整个切换的方案中,只有一个步骤是不可逆的,就是由双写切换为单写新库这一步。如果说不计成本,如何修改我们的迁移方案,让这一步也能做到快速回滚?

    答案:

    双写切新库单写这一步不可逆的主要原因是,一旦切为新库单写,旧库的数据就和新库不一致了,这时候就没法再切回旧库了。所以,问题的关键是,切到新库单写后,需要保证旧库的数据和新库保持同步。那我们的双写就要增加一种过渡状态:就是从双写以旧库为准,过渡到双写以新库为准。然后把比对和补偿程序反过来,用新库的数据补偿旧库的数据。这样就可以做到,一旦出问题,再切回到旧库上了。
    2020-04-14
    1
    13
  • 每天晒白牙
    Kafka 性能高的原因
    1.采用批处理的方式提升吞吐量
    2.利用了磁盘文件顺序读写性能高的特点在设计存储
    3.利用了操作系统的 PageCache 做缓存,减少 IO
    4.采用零拷贝技术加速消费流程
    来自老师第一个专栏

    作者回复: 哈哈,现学现卖。

    2020-04-14
    16
  • nFox
    虽然hdfs和kafka都可以用来做存储, 但 kafka在使用方面像磁带; hdfs更像硬盘

    作者回复: 这个比喻非常形象哈。

    2020-04-19
    4
  • seg-上海
    老师,文中提到“Kafka 实际能存储的数据容量并不是无限的”,那如果不断的加新的broker,然后同时新增分片,是不是可以做到无限的扩展存储呢

    作者回复: 理论上是可以的,但实际操作起来就比较麻烦。
    你要知道哪些分区已经满了,哪些没满,指定去写那些还有空间的分区。额外增加了管理成本,对数据采集系统也不友好。

    2020-04-27
    3
  • 黄海峰
    求更多介绍分布式流数据存储和时序数据库。。。尤其是你们有在研发journalkeeper,求干货,怎么高吞吐无限扩容及强大查询。。。
    2020-04-14
    1
  • 滴流乱转小胖子
    老师你好,对于大数据存储,使用Elasticsearch是否可以?
    2020-04-14
    3
收起评论
6
返回
顶部