滴滴:从KV存储升级到自研NewSQL应对业务挑战
177 浏览量
更新于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
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍