滴滴Fusion演进:从NoSQL到NewSQL的实践探索

0 下载量 54 浏览量 更新于2024-08-31 收藏 1.65MB PDF 举报
"滴滴NewSQL演进之Fusion实践" 在滴滴的技术演进过程中,NewSQL的实现是通过在其成熟的自研NoSQL系统Fusion上进行扩展和增强实现的。Fusion是一个基于C++开发的分布式NoSQL数据库,它支持Redis协议,并将数据存储在RocksDB引擎上。Fusion已经在滴滴内部广泛应用,服务于400多个业务,拥有300多个集群,总数据量高达1500TB,峰值QPS(每秒查询率)超过1400万次,且完全依赖自动化运维,无需专门的运维人员介入。 Fusion最初设计时,主要目标是解决历史订单和司机行程轨迹的存储问题。由于滴滴业务的高频率,历史订单数量迅速增长到百亿级别,每条订单都伴随着大量的司机行程数据。传统的Redis和MySQL解决方案在面对如此大规模的数据时,性能和扩展性不足,于是Fusion应运而生。通过使用Redis的简单协议和丰富的数据结构,Fusion能够提供更高的扩展性和吞吐量。 在Fusion的基础上,滴滴进一步构建了NewSQL系统dise。dise增加了schema管理、二级索引、事务处理和binlog功能,这些特性使得dise不仅保持了NoSQL的高扩展性和高性能,还具备了传统SQL数据库的事务一致性保证和复杂的查询能力,满足了更复杂业务场景的需求。 此外,滴滴还构建了DTS服务FastLoad,整合了调度系统和Hadoop计算平台的能力,用于快速加载数据,提升了数据处理效率。同时,围绕这些核心服务,滴滴建立了一套智能管控系统,包括用户系统和运维系统,通过salt-stack平台实现自动化管理和监控,确保了系统的稳定运行和高效运维。 整个演进过程体现了滴滴在数据库技术上的持续创新和优化,通过逐步增强现有系统,逐步实现了从NoSQL到NewSQL的过渡,以满足不断增长的业务需求和复杂的数据处理挑战。这种演进策略不仅降低了技术迁移的风险,也充分利用了已有系统的优点,为滴滴的业务发展提供了强大的数据支撑。