2021年10月18日~20日,由IT168联合旗下ITPUB、ChinaUnix两大技术社区主办的第12届中国数据库技术大会(DTCC2021)在北京国际会议中心隆重召开。历经十余年的积累与沉淀,DTCC已然成为国内数据库领域的技术风向标,见证了整个行业的发展与演变。DTCC2021秉承一贯的干货分享和实践指导原则,本次大会依然为行业呈现了一场顶级技术盛会。
作为国产数据库和人工智能基础软件提供商、数据库领域国际标准主笔单位与国家标准牵头建设单位,柏睿数据受邀参会,柏睿数据行业咨询总监陈林生在会上进行了《全内存分布式数据库RapidsDB的应用场景与实践》主题演讲。下文整理自现场演讲内容,分享给大家~(在柏睿数据公众号对话框回复关键字:全内存数据库,即可获取嘉宾PPT)
图:柏睿数据行业咨询总监陈林生
一、内存计算及内存数据库已逐渐成为大数据处理主流技术路线
近年来,内存数据库成为解决高并发、低时延数据管理需求的主流技术路线。但内存数据库并不是一个新鲜概念,如今得以广泛应用,是行业需求、成本性价比与技术成熟使然。
一方面,随着移动互联网的飞速发展,数据呈现出海量、实时、在线等趋势,追求极限数据处理性能的场景越来越多,基于磁盘存储的数据库管理系统受限于磁盘读写的速度,已经很难满足新场景的扩展性和时延要求。
另一方面,内存器件的容量密度在快速上升,早期直接焊接在主板上的内存芯片,容量普遍在64KB以下;发展至今,最大容量内存是单根128GB,8路服务器内存容量已经能够达到8TB。而内存单位价格也在逐年下降,从1970年代至今,内存每兆字节的价格下降了近9个数量级。内存技术的成熟,使大量数据在内存中的存储和处理成为可能。
图:1970年至今的内存价格与容量走势
那么,内存数据库的关键需求是什么呢?我们知道,NoSQL在初创公司或互联网公司获得了很大的应用,但对于传统的企业客户而言,甚至是互联网公司,也逐渐意识到数据库的SQL和ACID是大部分企业无法直接舍弃的,同时需要兼顾极致性能、分布式、可扩展性需求等,这是柏睿数据在设计全内存分布式数据库架构时的出发点与着重考量的关键需求。
但是,“内存数据库≠磁盘数据库+大内存”,即在传统基于磁盘数据库的架构上无法充分发挥内存计算给数据库性能的提升,内存数据库和传统磁盘数据库在数据库架构的方方面面有着很大的区别。
二、内存数据库与传统磁盘数据库的本质区别
内存数据库与传统磁盘库采用不同的架构设计。
磁盘数据库(Disk Resident Database,DRDB)即数据存于磁盘,需要频繁地访问磁盘来进行数据的操作。而磁盘相对于内存来说是极其低速的存储介质,内存寻址为纳秒(ns)级别,磁盘寻址是毫秒(ms)级别,比内存慢了100万倍。因此,解决磁盘I/O性能瓶颈一直是磁盘数据库的主要问题。
内存数据库(Main Memory Database,MMDB)与磁盘数据库的根本区别在于,内存数据库将数据全量加载到内存中进行处理,省去了磁盘I/O开销,具备更极致的读写速度,性能相对传统的磁盘数据库有数量级的提升。
但内存数据库并非简单地将数据移至内存即可,内存数据库架构需要思考并优化其他可能的性能瓶颈与问题,还要考虑比如数据持久化、超出内存数据的统一管理(Larger-than-Memory)等问题。
三、当磁盘I/O不再是瓶颈,内存数据库要考虑什么问题?
2008年,SIGMOD的一篇论文对面向磁盘的数据库性能开销做了分析,把整个数据库系统的开销做了统计。分析发现:典型的数据库环境中实际上只有12%的资源是在真正处理业务查询和处理逻辑。其中30%用于缓冲区管理;30%处理数据并发控制管理的开销(Locking和Latching);另外28%处理数据库日志的处理(Logging)。如何降低这些数据库额外开销?这是我们在设计内存数据库时考虑的重点方向。
柏睿数据基于多年深耕数据库行业经验,全面考量内存数据库架构下,数据存储、并发访问控制、查询优化器、查询编译器、执行引擎、数据持久化、高可用等方面新需求,自主研发具有国产知识产权的全内存分布式数据库RapidsDB。
RapidsDB采用分布式内存架构,支持高吞吐、高并发、高扩张、高可用的复杂应用场景需求,实现TB级数据及上百个维度随机数据的秒级查询,并满足按需动态扩展的业务需求。同时,在避免数据迁移风险的前提下,RapidsDB实现对多源异构数据统一的接入、查询、分析,并快速生成可视化报表。
四、深耕行业应用,柏睿数据收获春华秋实
至今,柏睿数据全内存分布式数据库RapidsDB已经通过了众多实践检验,广泛应用于金融、运营商、能源、政府、制造业、交通等领域,在自助分析/灵活查询、传统数仓平台加速、物联网数据分析、实时电信计费、HTAP场景中发挥实效。
在近日公布的国家工业信息安全发展研究中心(工业和信息化部电子第一研究所)电信行业数据库能力第一期测评结果中,柏睿数据各项指标评测结果均入围前三甲,斩获电信行业数据库综合能力第二名。并且,柏睿数据已经成为中国移动智慧中台唯一分布式内存数据库供应厂商。
在某省级移动公司网格运营平台提速项目中,RapidsDB大幅提升系统性能和经分系统自助分析速度,实现了PC端网格门户的数据展示秒级响应、APP端全功能秒级响应;优化GIS图层渲染效率,实现网格规配、入格管理等秒级响应。
在某大型国有金融客户项目中,RapidsDB代替Oracle+ElasticSearch复杂技术栈,实现极速性能,为全行5万个客户经理团队提供日常业务查询,支撑精准营销及信贷风控的业务需要。
如数据库界的“大神”、1998年图灵奖获得者Jim Gray先生所言:“Tape is Dead,Disk is Tape,Flash is Disk,RAM Locality is King.”陈林生认为,随着实时性数据处理场景需求的增多、对应用极致性能要求的不断提高,以及非易失性存储器件技术的不断成熟和商用化,未来绝大部分的数据库负载都将运行在内存数据库上。
数据库技术的蓬勃发展,不仅带动了产业的百家争鸣之势,更使中国数据库在国际数据库格局中占据了一席之地。作为“卡脖子”关键技术攻坚者、国家“专精特新”科技小巨人企业,柏睿数据持续突破底层核心技术、围绕数据库技术打造算力核心引擎筑牢中国数字基座,并正以领先的创新技术、自主可控的数据智能基础软件作为犀舟径楫,在数字经济浪潮下扬帆远航!