首页 新闻中心 柏睿数据陈林生: 全内存分布式数据库RapidsDB架构解析与实践分享

柏睿数据陈林生: 全内存分布式数据库RapidsDB架构解析与实践分享

发布时间:2021-11-30  |  阅读:

2021年10月18日~20日,由IT168联合旗下ITPUB、ChinaUnix两大技术社区主办的第12届中国数据库技术大会(DTCC2021)在北京国际会议中心隆重召开。历经十余年的积累与沉淀,DTCC已然成为国内数据库领域的技术风向标,见证了整个行业的发展与演变。DTCC2021秉承一贯的干货分享和实践指导原则,本次大会依然为行业呈现了一场顶级技术盛会。


作为国产数据库和人工智能基础软件提供商、数据库领域国际标准主笔单位与国家标准牵头建设单位,柏睿数据受邀参会,柏睿数据行业咨询总监陈林生在会上进行了《全内存分布式数据库RapidsDB的应用场景与实践》主题演讲。下文整理自现场演讲内容,分享给大家~



图片

图:柏睿数据行业咨询总监 陈林生


01

内存计算及内存数据库渐成大数据处理主流技术路线


近年来,内存数据库成为解决高并发、低时延数据管理需求的主流技术路线。但内存数据库并不是一个新鲜概念,如今得以广泛应用,是行业需求、成本性价比与技术成熟使然。


一方面,随着移动互联网的飞速发展,数据呈现出海量、实时、在线等趋势,追求极限数据处理性能的场景越来越多,基于磁盘存储的数据库管理系统受限于磁盘读写的速度,已经很难满足新场景的扩展性和时延要求。


另一方面,内存器件的容量密度在快速上升,早期直接焊接在主板上的内存芯片,容量普遍在64KB以下;发展至今,最大容量内存是单根128GB,8路服务器内存容量已经能够达到8TB。而内存单位价格也在逐年下降,从1970年代至今,内存每兆字节的价格下降了近9个数量级。内存技术的成熟,使大量数据在内存中的存储和处理成为可能。

图片

图:1970年至今的内存价格与容量走势


那么,内存数据库的关键需求是什么呢?我们知道,NoSQL在初创公司或互联网公司获得了很大的应用,但对于传统的企业客户而言,甚至是互联网公司,也逐渐意识到数据库的SQL和ACID是大部分企业无法直接舍弃的,同时需要兼顾极致性能、分布式、可扩展性需求等,这是柏睿数据在设计全内存分布式数据库架构时的出发点与着重考量的关键需求。


但是,“内存数据库≠磁盘数据库+大内存”,即在传统基于磁盘数据库的架构上无法充分发挥内存计算给数据库性能的提升,内存数据库和传统磁盘数据库在数据库架构的方方面面有着很大的区别。


02

内存数据库与传统磁盘数据库的本质区别


内存数据库与传统磁盘库采用不同的架构设计。


图片

磁盘数据库(Disk Resident Database,DRDB)即数据存于磁盘,需要频繁地访问磁盘来进行数据的操作。而磁盘相对于内存来说是极其低速的存储介质,内存寻址为纳秒(ns)级别,磁盘寻址是毫秒(ms)级别,比内存慢了100万倍。因此,解决磁盘I/O性能瓶颈一直是磁盘数据库的主要问题。


内存数据库(Main Memory Database,MMDB)与磁盘数据库的根本区别在于,内存数据库将数据全量加载到内存中进行处理,省去了磁盘I/O开销,具备更极致的读写速度,性能相对传统的磁盘数据库有数量级的提升。


但内存数据库并非简单地将数据移至内存即可,内存数据库架构需要思考并优化其他可能的性能瓶颈与问题,还要考虑比如数据持久化、超出内存数据的统一管理(Larger-than-Memory)等问题。


03

当磁盘I/O不再是瓶颈,内存数据库要考虑什么问题?


2008年,SIGMOD的一篇论文对面向磁盘的数据库性能开销做了分析,把整个数据库系统的开销做了统计。分析发现:典型的数据库环境中实际上只有12%的资源是在真正处理业务查询和处理逻辑。其中30%用于缓冲区管理;30%处理数据并发控制管理的开销(Locking和Latching);另外28%处理数据库日志的处理(Logging)。如何降低这些数据库额外开销?这是我们在设计内存数据库时考虑的重点方向。


图片


柏睿数据基于多年深耕数据库行业经验,全面考量内存数据库架构下,数据存储、并发访问控制、查询优化器、查询编译器、执行引擎、数据持久化、高可用等方面新需求,自主研发具有国产知识产权的全内存分布式数据库RapidsDB


图片
图片
图片

滑动查看更多

图片
图片
图片

滑动查看更多

图片
图片
图片


RapidsDB采用分布式内存架构,支持高吞吐、高并发、高扩张、高可用的复杂应用场景需求,实现TB级数据及上百个维度随机数据的秒级查询,并满足按需动态扩展的业务需求。同时,在避免数据迁移风险的前提下,RapidsDB实现对多源异构数据统一的接入、查询、分析,并快速生成可视化报表。


图片