数据外置提速革命:轻量级开源SPL如何用文件存储实现MPP级性能?

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介: 传统交易型数据库在分析计算中常遇性能瓶颈,将数据迁至OLAP数据仓库虽可缓解,但成本高、架构复杂。SPL通过轻量级列存文件存储历史数据,提供强大计算能力,大幅简化架构并提升性能。它优化了列式存储、数据压缩与多线程并行处理,在常规及复杂计算场景中均表现优异,甚至单机性能超越集群。实际案例中,SPL在250亿行数据的时空碰撞问题上,仅用6分钟完成ClickHouse集群30分钟的任务。

传统数据库,特别是交易(TP)数据库,用于分析型计算经常会出现性能问题。TP数据库的性能优化主要是提高事务处理和写操作(增删改)的效率,这和分析型计算的优化方向并不一致,也就很难让分析计算跑的快。

常见的解决办法是把历史数据从TP数据库搬到专业OLAP数据仓库中计算。不过,OLAP数据仓库太沉重,经常需要集群,硬件成本较高,还可能有昂贵的授权费用,更重要的是,整个技术架构也变得非常复杂。

这些历史数据大多数情况下是不再变化的,如果能存成文件会更简单。但是文件本身没有计算能力,无法直接实施条件过滤、分组汇总等运算,更谈不上复杂的分析任务了。

SPL可以让文件拥有计算能力,用它的轻量级列存文件存储不变的历史数据,较小的投入就能实现高速查询。

SPL引擎非常轻,部署后占用存储空间仅几百M,单机就可以运行,无须集群。SPL还能嵌入前端应用中,只需要几个jar包和配置文件,就可以在应用内提供强计算能力。实现数据外置提速的同时,也不会让系统架构变得很复杂:
6d085d49087068baa97caec6876382fa.png
轻量的SPL,计算能力却非常强大,在列式存储、数据压缩、多线程并行等方面都做了深度优化,能让条件过滤、分组汇总这些常规运算的性能大幅提升,完全不输于专业的MPP数据仓库,更是远远超过TP数据库。
SPL常规计算与MYSQL对比(单位:秒)
a63af8155a67719cc43254f906aa8419.png
注:测试环境和方法参见 《如何用esProc将数据库表转储提速查询》
SPL代码也很简单,比如大订单表的过滤和分组汇总:
image.png
专业OLAP数据仓库利用列存压缩等技术能让常规运算中跑出较高性能,但对于某些更较复杂的计算场景中性能并不理想。这是因为SQL缺少必要的数据类型和相应的基础运算,对高性能算法支持不足,比如有序计算、分组子集等。而用SQL调优、集群分布式、UDF等工程上的优化方法不仅成本高,还常常没有什么效果。
SPL提供了更丰富的数据类型和基础运算,很容易写出低复杂度的代码,对于这些较复杂任务,可以用更小资源跑出超过OLAP数据仓库的性能,经常能做到单机顶集群。

比如以快著称的ClickHouse数据库,在同样环境下跑国际通行的TPC-H测试题,简单的Q1和SPL的性能基本相当,但是稍复杂一些的Q2、Q3、Q7就完全不如SPL了:

          TPC-H(单位:秒)

7363b4771d0b67f9f8b05876ea2c44ad.png
再看实际案例,比如某个时空碰撞问题,总数据量约 250 亿行。SQL 看起来并不算很复杂:

WITH DT AS ( SELECT DISTINCT id, ROUND(tm/900)+1 as tn, loc FROM T WHERE tm<3*86400)
SELECT * FROM (
    SELECT B.id id, COUNT( DISINCT B.tn ) cnt
    FROM DT AS A JOIN DT AS B ON A.loc=B.loc AND A.tn=B.tn
    WHERE A.id=a AND B.id<>a
    GROUP BY id )
ORDER BY cnt DESC
LIMIT 20

传统数据库跑得太慢,用户转而求助于 ClickHouse,结果用了 5 节点的集群,也跑了 30 分钟多,达不到期望。同样数据量,SPL只用一个节点不到 6 分钟即可完成计算,超出了用户期望。考虑到硬件资源的差距,SPL相当于比 ClickHouse 快了 25 倍以上。
同时,SPL代码仍很简单:
image.png

相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
3月前
|
存储 SQL 监控
【亲测有用】数据中台数据服务管理能力演示
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
9月前
|
机器学习/深度学习 敏捷开发 存储
数据飞轮:激活数据中台的数据驱动引擎
数据飞轮:激活数据中台的数据驱动引擎
|
4月前
|
存储 数据采集 人工智能
AllData数据中台架构全览:数据时代的智慧中枢
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
AllData数据中台架构全览:数据时代的智慧中枢
|
3月前
|
存储 消息中间件 NoSQL
【亲测有用】数据中台数据模型管理能力演示
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
4月前
|
SQL 关系型数据库 OLAP
云原生数据仓库AnalyticDB PostgreSQL同一个SQL可以实现向量索引、全文索引GIN、普通索引BTREE混合查询,简化业务实现逻辑、提升查询性能
本文档介绍了如何在AnalyticDB for PostgreSQL中创建表、向量索引及混合检索的实现步骤。主要内容包括:创建`articles`表并设置向量存储格式,创建ANN向量索引,为表增加`username`和`time`列,建立BTREE索引和GIN全文检索索引,并展示了查询结果。参考文档提供了详细的SQL语句和配置说明。
108 2
|
4月前
|
机器学习/深度学习 大数据 数据管理
一图尽览:AllData数据中台商业版与开源版功能对比
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
7月前
|
存储 SQL Apache
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
Apache Doris 是一个基于 MPP 架构的高性能实时分析数据库,以其极高的速度和易用性著称。它支持高并发点查询和复杂分析场景,适用于报表分析、即席查询、数据仓库和数据湖查询加速等。最新发布的 2.0.2 版本在性能、稳定性和多租户支持方面有显著提升。社区活跃,已广泛应用于电商、广告、用户行为分析等领域。
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
|
9月前
|
机器学习/深度学习 数据可视化 数据挖掘
唤醒数据中台潜力:加速数据飞轮转动,实现数据驱动的秘籍
本文探讨了如何通过数据飞轮激活数据中台的潜力,实现数据驱动的创新。文章分析了数据中台面临的挑战,如数据孤岛和工具复杂性,并提出了建立统一数据治理架构、引入自动化数据管道和强化数据与业务融合等策略。通过实际案例和技术示例,展示了如何利用数据飞轮实现业务增长,强调了数据可视化和文化建设的重要性。旨在帮助企业充分挖掘数据价值,提升决策效率。
236 1
唤醒数据中台潜力:加速数据飞轮转动,实现数据驱动的秘籍
|
8月前
|
存储 机器学习/深度学习 数据采集
推荐| AllData数据中台开源项目
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
推荐| AllData数据中台开源项目
|
9月前
|
机器学习/深度学习 搜索推荐 算法
从数据中台到数据飞轮:企业升级的必然之路
在探讨是否需从数据中台升级至数据飞轮前,我们应先理解两者之间的关系。数据中台作为数据集成、清洗及治理的强大平台,是数据飞轮的基础;而要实现数据飞轮,则需进一步增强数据自动化处理与智能化利用能力。借助机器学习与人工智能技术,“转动”数据并创建反馈机制,使数据在循环中不断优化,如改进产品推荐系统,进而形成数据飞轮。此外,为了适应市场变化,企业还需提高数据基础设施的敏捷性和灵活性,这可通过采用微服务架构和云计算技术来达成,从而确保数据系统的快速扩展与调整,支持数据飞轮高效运转。综上所述,数据中台虽为基础,但全面升级至数据飞轮则需在数据自动化处理、反馈机制及系统敏捷性方面进行全面提升。
199 14