唐福林:新浪微博的Redis大数据之路

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介:
本文讲的是 唐福林:新浪微博的Redis大数据之路, 2012年4月15日消息,由IT168(ITPUB、IXPUB、ChinaUnix)主办的2012中国数据库技术大会(DTCC)进入第三天的议程。大会针对大数据架构设计、数据库安全、分布式数据库、商业智能、NoSQL、Hadoop等多个重点话题进行深入探讨。此次大会得到了全国数据库技术高手们的高度关注与支持,是当前象征最高技术水平的数据库工程师盛会。

  在今天下午进行的“NoSQL数据库创新专场”中,新浪微博开放平台资深工程师唐福林发表主题演讲《新浪微博:Redis的大数据之路》,介绍了NoSQL数据库Redis在新浪微博的使用场景及经验教训。

唐福林:新浪微博的Redis大数据之路
▲新浪微博开放平台资深工程师唐福林

  唐福林首先分享了他对大数据的理解。他认为大数据有两种截然不同的概念,一种是线下大数据,即在持久化的介质中存储的、用于数据挖掘的、结构化的数据;另一种是线上大数据,即在在内存中存储的、用于在线服务的、结构化或半结构化或混合结构的数据。如果数据处理要求比单台机器能力高一个数量级的话,这样的数据就被称为大数据。

  Redis是一个基于内存的Key-Value存储的NoSQL引擎。与其他Key-Value引擎不同,Redis的Value可以支持多种数据结构,如哈希、List、Set等。但是一直以来,Redis的持久化方案并非完美。从rdb到aof,再到已经夭折的vm,Redis的持久化之路一直走的很坎坷。由于持久化的不完美,以及全部在内存中处理数据的特性,使得Redis在面对数据量持续增长的时候,总体拥有成本(TCO)也随之线性增长。

  唐福林表示,新浪微博从2010年底开始使用Redis,各项业务指标在经历了2011年全年的疯狂增长之后,他们发现在很多场合Redis已经不再适用。唐福林认为,Redis适用于数据量不太大的存储,以及数据量大的缓存。在选择数据存储介质的时候要分清数据量的大小和数据的冷热。小而热的数据适合使用内存,大而冷的数据适合使用磁盘,大而热的数据是否适合使用SSD,仍待探讨。

唐福林:新浪微博的Redis大数据之路
▲新浪微博使用Redis的经验教训:100G以上的数据可以用作缓存

  演讲嘉宾介绍:唐福林,新浪微博开放平台资深工程师,目前负责新浪微博开放平台底层性能优化,曾负责t.cn短链,微博用户关系,计数器等底层服务。曾负责过包括新浪邮箱全文搜索在内的多个基于Lucene的垂直搜索引擎开发,以及新浪爱问和新浪播客的运维。对承载大数据量、高并发的互联网基础设施建设有丰富的经验。

  新浪微博技术团队简介:新浪微博开放平台,平台研发团队,负责微博底层功能实现及性能优化。 这里有亿万的用户,这里有方舟子和韩寒,这里有一切热点事件和争论。围观改变中国,这里是新浪微博。这里有@timyang大牛掌舵,这里有海量数据,这里有变态的并发,这里有技术Geek们需要的一切。


作者:王玉圆

来源: IT168

原文标题:唐福林:新浪微博的Redis大数据之路

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
2月前
|
消息中间件 分布式计算 NoSQL
大数据-104 Spark Streaming Kafka Offset Scala实现Redis管理Offset并更新
大数据-104 Spark Streaming Kafka Offset Scala实现Redis管理Offset并更新
48 0
|
2月前
|
缓存 NoSQL Java
大数据-50 Redis 分布式锁 乐观锁 Watch SETNX Lua Redisson分布式锁 Java实现分布式锁
大数据-50 Redis 分布式锁 乐观锁 Watch SETNX Lua Redisson分布式锁 Java实现分布式锁
75 3
大数据-50 Redis 分布式锁 乐观锁 Watch SETNX Lua Redisson分布式锁 Java实现分布式锁
|
2月前
|
存储 NoSQL 大数据
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
45 3
|
2月前
|
消息中间件 缓存 NoSQL
大数据-49 Redis 缓存问题中 穿透、雪崩、击穿、数据不一致、HotKey、BigKey
大数据-49 Redis 缓存问题中 穿透、雪崩、击穿、数据不一致、HotKey、BigKey
66 2
|
2月前
|
设计模式 NoSQL 网络协议
大数据-48 Redis 通信协议原理RESP 事件处理机制原理 文件事件 时间事件 Reactor多路复用
大数据-48 Redis 通信协议原理RESP 事件处理机制原理 文件事件 时间事件 Reactor多路复用
44 2
|
2月前
|
缓存 分布式计算 NoSQL
大数据-47 Redis 缓存过期 淘汰删除策略 LRU LFU 基础概念
大数据-47 Redis 缓存过期 淘汰删除策略 LRU LFU 基础概念
83 2
|
2月前
|
消息中间件 NoSQL Kafka
大数据-116 - Flink DataStream Sink 原理、概念、常见Sink类型 配置与使用 附带案例1:消费Kafka写到Redis
大数据-116 - Flink DataStream Sink 原理、概念、常见Sink类型 配置与使用 附带案例1:消费Kafka写到Redis
200 0
|
8天前
|
存储 缓存 NoSQL
解决Redis缓存数据类型丢失问题
解决Redis缓存数据类型丢失问题
133 85
|
2月前
|
消息中间件 缓存 NoSQL
Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。
【10月更文挑战第4天】Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。随着数据增长,有时需要将 Redis 数据导出以进行分析、备份或迁移。本文详细介绍几种导出方法:1)使用 Redis 命令与重定向;2)利用 Redis 的 RDB 和 AOF 持久化功能;3)借助第三方工具如 `redis-dump`。每种方法均附有示例代码,帮助你轻松完成数据导出任务。无论数据量大小,总有一款适合你。
84 6
|
5天前
|
缓存 监控 NoSQL
Redis经典问题:缓存穿透
本文详细探讨了分布式系统和缓存应用中的经典问题——缓存穿透。缓存穿透是指用户请求的数据在缓存和数据库中都不存在,导致大量请求直接落到数据库上,可能引发数据库崩溃或性能下降。文章介绍了几种有效的解决方案,包括接口层增加校验、缓存空值、使用布隆过滤器、优化数据库查询以及加强监控报警机制。通过这些方法,可以有效缓解缓存穿透对系统的影响,提升系统的稳定性和性能。