滴滴:从KV存储升级到自研NewSQL应对业务挑战
149 浏览量
更新于2024-08-27
收藏 1.01MB PDF 举报
滴滴是一家快速发展的互联网公司,随着业务扩张,其面临了数据量剧增和请求压力的挑战。传统的分库分表策略虽能在一定程度上缓解数据量和请求压力,但难以应对业务线的频繁变动,导致数据库管理复杂,Schema变更流程繁琐,对线上服务有潜在影响,且不支持复杂的二级索引。为了解决这些问题,滴滴转向了NewSQL数据库方案,尤其是对开源的分布式NewSQL产品TiDB进行了深入研究。
TiDB虽被公认为优秀的新一代SQL数据库,但不适合滴滴的业务需求。首先,TiDB强调事务一致性,这在追求低延迟(例如毫秒级的99%响应时间)的场景下显得不适用,因为其2PC方案会增加延迟。其次,滴滴的业务大部分并不依赖分布式事务,可以通过其他补偿机制来规避。此外,TiDB的三副本存储模式会带来较高的空间成本,且内部的一些特定离线数据导入在线系统的场景无法直接与TiDB集成。
鉴于这些考虑,滴滴选择在自有的分布式键值存储系统Fusion基础上构建NewSQL解决方案。Fusion基于Codis架构,兼容Redis协议和数据结构,底层使用高效存储引擎RocksDB,已经在滴滴内部广泛应用,是重要的在线存储基础设施。Fusion采用了hash分片技术,通过proxy将用户请求路由到对应的存储节点,确保数据分布均匀,减少查询延迟。
在Fusion这个高并发、低延迟、大容量的存储层之上,滴滴构建了一个定制化的NewSQL系统,旨在提供更灵活的Schema变更能力,支持实时业务需求,同时降低成本并提高效率。这样的转变使得滴滴能够更好地适应业务发展,提升整体技术栈的性能和适应性。
2021-12-15 上传
2021-10-14 上传
点击了解资源详情
2021-02-24 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-05-15 上传
2021-05-12 上传
weixin_38667581
- 粉丝: 8
- 资源: 955
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录