
睿见
当前,分布式计算技术已在OLAP(联机分析处理)等场景中被广泛应用,并融合人工智能、云计算等技术不断创新与完善。本文将介绍分布式计算的技术现状及未来发展。
上篇(点击回顾)谈到,在计算机发展早期,分布式数据库已在大型企业和政府机构初步应用,但普及率较低,主要原因在于当时的数据规模还远未达到需要广泛使用分布式计算的环境。
而随着互联网时代的到来,跨越时间与空间的沟通方式、便捷高效的购物方式等彻底改变了人们的生活。在这背后,各行各业的数据量以惊人的速度增长。过去的单机系统,无论是存储容量还是计算能力,都已经无法满足互联网时代PB级别的数据处理需求。
此时,分布式计算应运而生。历经20余年发展,分布式计算凭借强大的数据处理能力,目前已在OLAP(联机分析处理)等场景中广泛应用,并不断创新与完善。
成熟的技术应用
当传统行存储引擎无法满足大规模数据分析需求时,列存储引擎概念被引入。列存储引擎按列存储组织数据,可提供更高的压缩率和查询性能。
RapidsDB支持全内存的行存储和基于内存的列存储来存储和处理数据,通过统一的行列混存架构同时支持OLAP、OLTP实时分析处理。基于全内存的行存储为事务型工作负载提供最佳的实时性能;基于内存的列存储最适合跨大型历史数据集的分析工作负载。

列式表的数据写入,首先要在内存通过列存储索引对数据进行计算,将各数据块的元数据保存于内存中,同时将压缩备份的数据存放于磁盘中;此外,事务、缓存、执行计划等均在内存中计算、存储。磁盘中大部分操作均为写入操作,读取操作大部分在内存中完成,更加保障了查询效率的提升。
面向列的存储或“列存储”将每一列视为一个单元,并将每列的数据段一起存储在同一物理位置中,这个手段实现了两个重要的功能。一方面,可以单独扫描每一列,可只扫描查询所需的列,具有良好的缓存局部性;另一方面,列存储非常适合进行压缩,如重复和相似的值可以很容易得压缩在一起。

RapidsDB 数据压缩工作流程示意
在索引技术方面,为提高查询性能,使用列索引、SkipList索引等新型索引结构出现。与所有标准SQL数据库一样,RapidsDB允许在表上创建索引,加快了数据访问速度。
RapidsDB的默认索引类型是跳过列表,旨在取代大多数其他数据库(包括MYSQL)使用的B-Tree索引。跳过列表被优化为在内存中运行,因为它们可以实现无锁并提供极快的插入性能。通过在每个层级中添加“跳跃”指针,使搜索操作可以在每个层级中跳过一些元素,因此可以跳过更多的元素,以达到快速搜索的目的。
列存储索引是一种用于优化分析查询的索引类型。相比于传统的行存储索引,列存储索引在数据压缩、查询性能、聚合操作、列裁剪、批量加载和写入等场景下具有显著的性能优势,进一步优化分析查询。在最新版本的RapidsDB中,当用户创建了列存储索引时,也可以添加一个额外的索引,例如哈希索引等。
此外,基于向量计算的索引技术也被提出,可以大幅提高查询速度和并发处理能力。
近年来,传统OLAP的批处理模式已无法满足实时性要求,因此实时数据处理和流式计算技术走上前台,并出现了Apache Storm、Apache Flink等流式计算框架和Apache Kafka、Apache Pulsar等实时数据处理引擎。
采用实时数据处理和流式计算技术,内存分布式数据库通过将数据处理和存储紧密结合,可实时地处理数据,并提供实时的查询和反馈,以更好地应对实时业务场景,如实时分析、实时监控和实时推荐等。

柏睿数据创新采用 Flink + Kafka +RapidsDB 的架构,构建流批一体+内存计算的实时分析引擎;即使采用常规的存储方式,也可实现真正的数据实时计算和实时存储。依托大数据实时计算能力和内存数据库储算能力,支持无界数据流在状态未知的情况下,快速处理和汇总计算;并结合传统数据仓库和新兴数据湖的优点,在兼顾可靠性和灵活性的基础上;可支撑大数据计算中既需要保证计算时效性又对历史数据严重依赖的场景,如基于实时位置信令、客户画像数据等场景。
随着数据规模增长和业务需求愈发复杂,内存分布式数据库面临越来越多的挑战。为进一步提升性能,智能优化和自适应优化技术成为了重点发展方向。
智能优化技术利用机器学习、统计分析等方法,根据查询的特征、数据分布等信息,自动选择最优的执行计划和索引策略;自适应性技术可使数据库根据运行环境和负载特征进行自我调整和优化;从而提高分布式数据库的查询性能和资源利用率,提供更高效、可靠和稳定的数据处理能力。

柏睿数据RapidsDB在自适应优化技术方面实现创新,提供落地数据自动排序、代价预估机制、自适应凝缩等完善的优化策略,这使得RapidsDB的联邦查询连接器功能超级强大,能够大幅提高查询性能。
深层参与查询优化过程。与底层数据源直接沟通,重新安排查询计划以确定底层系统的负载能力,最大限度地利用各个联邦数据源本身所具有的数据处理能力。
可联邦20+数据源的异构数据;通过标准SQL语言,即可将部分查询自动调整适应该系统的语法。
未来,基于可高度扩展的分布式架构,RapidsDB还会联邦更多类型的数据。
随着云计算、大数据等技术的发展,OLAP分布式数据库逐渐向着大规模集群部署和自动化管理方向发展。大规模集群部署可以提供更高的计算和存储能力,以应对不断增长的数据规模和查询负载。自动化管理则可以减轻管理员的工作负担,提高系统的可用性和管理效率。
目前,大规模集群部署和自动化管理已经成为OLAP内存分布式数据库的标准实践。如基于柏睿数据云能平台,通过使用容器化技术,可快速部署弹性伸缩的RapidsDB数据库集群。同时,引入自动化配置管理和故障检测技术,实现自动化的集群管理和故障恢复。

可见的未来
未来,新兴技术的不断涌现、场景应用的不断深化,将推动分布式计算持续创新发展。
随着AI大模型的兴起,向量计算引擎因对大规模数据分析和管理、相似性搜索和匹配等能力越来越被重视。柏睿数据基于RapidsDB,推出Rapids VectorDB(向量数据库),能够为大模型提供专用数据、知识和过往经验,让查询结果更高效、精准。

随着社交网络、推荐系统和知识图谱等应用的普及,在分布式数据库中引入图计算已成发展方向,以实现更高效、灵活的图数据分析和查询,满足金融、安全加密等领域等应用场景需求。
在分布式数据库中运行深度学习模型,可实现实时的数据分析和智能决策。柏睿数据RapidsDB已实现数据库内人工智能,在数据库内即可直接并行运行深度学习模型,简单高效地实现实时数据分析和智能决策。
分布式漫谈
目录
壹 缘起篇 从大型机到PC的嬗变
贰 典型应用篇 兄弟爬山,各自努力
叁 技术更新篇 发展才是硬道理
肆 大型机学习篇 打不过分布式,那就加入吧
伍 分布式VS集中式篇 大道归一
推荐阅读



你的 在看 为智能数据算力点赞




