聚焦OLAP性能提升,火山引擎ByteHouse发布六大场景解决方案

news/2024/11/19 2:25:29/文章来源:https://www.cnblogs.com/bytedata/p/18347279
更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号回复【1】进入官方交流群。
 
性能在数据分析中至关重要,它直接决定数据处理的效率与及时性,进一步对数据驱动的企业决策造成影响。
 
举个例子来看,某个大型电商公司每天产生海量的交易数据,数据分析团队需要通过这些数据了解客户的购买行为、热门商品、销售趋势等,来制定营销策略和优化运营。当分析团队获取过去一个月的销售数据报告时,由于数据量庞大,系统处理速度缓慢,需要几十分钟到几小时才能得出结果。而在某些促销活动期间,如果不能及时获取最新的销售数据来评估活动效果,就无法及时调整策略,错失营销机会。
 
随着数字化转型的深入,不仅仅是电商领域,各行业都需要基于实时数据做出关键决策。而对企业底层数据系统来说,在处理复杂的数据分析任务,如多维度的关联分析或数据挖掘时,可能出现延迟、崩溃、错误等问题,导致数据不准确、不完整、时效性差。
 
作为火山引擎推出的一款OLAP产品,ByteHouse具备原生的高性能优势,广泛应用于字节跳动和外部企业的数据分析场景。早在2022年2月,ByteHouse在字节跳动的部署规模已超1万8000台,单集群超2400台。针对数据分析中常见的实时吞吐慢、BI报表慢、在线/离线分析慢等情况,ByteHouse推出六大场景的性能提升方案,进一步提升OLAP性能,助力企业更快速、更准确实施决策。
 
第二,在BI报表分析场景中,数据分析师、运营团队等经常会遇到报表生成慢、指标平台响应慢、管理驾驶舱显示速度慢等问题。一方面,ByteHouse通过增强MV物化视图和Projection功能,实现对复杂查询、计算逻辑的预聚合,提升应用层的性能表现,另一方面基于Query Cache来缓存数据和复杂查询中的结果集。在某娱乐型公司的应用实践中,ByteHouse支撑该公司每天15亿数据记录,每秒6万TPS峰值,使报表时效性从过去的 T+1 方式直接压缩到分钟级,甚至秒级。
 
第三,在在线、离线复杂分析场景中,ByteHouse则针对CBO、RBO等进行自研优化器增强。此外,对于Runtime Filter 这一对大关联场景性能提升有关键影响的技术,ByteHouse自研分布式缓存能够进一步解决分离架构带来的性能损失问题。
 
第四,在湖仓联邦分析场景中,ByteHouse基于 Native Reader 技术压缩 IO 访问路径,提升外表访问性能。通过进一步与优化器进行融合,ByteHouse能持续提高湖仓分析速度。
 
第五,在人群圈选与行为分析场景中,ByteHouse 具备 BitEngine/BitMap64/BitMap indexDe 等自研引擎和增强功能,通过与增长分析DataFinder、客户数据平台VeCDP等应用紧密结合,ByteHouse针对业务场景开发了大量内置分析函数,如留存分析、路径分析等。即使在 10 亿级的用户圈选的场景下, P99 响应时间也能达到秒级到毫秒级。
 
第六,在以图搜图场景中,ByteHouse推出了Vector引擎,即向量检索能力。通过支持多种向量检索算法以及高效的执行链路,ByteHouse可以支撑级大规模向量检索场景,达到毫秒级的查询延迟。在某舆情监测企业的实践中,行业相关产品的查询效率在几秒到十多秒之间,而优化后的ByteHouse只需150-200 毫秒内,就能从大规模数据中查找出近似的 1000 张图片,并完成相似度评分。
 
在整体性能数据上,通过使用SSB、TPC-H 和 TPC-DS 三种数据集进行性能测试,并以性能著称的某开源OLAP为基准测试产品,ByteHouse在不同查询项上都有显著的性能提升。以TPC-H 数据集举例,在相同硬件和软件环境下, ByteHouse 查询效率高于本次基准测试产品几十倍。
 
目前,ByteHouse应用于互联网、游戏、金融、汽车、气象等领域,持续为企业提供极致的数据分析能力,助推数智化转型升级。
 
点击跳转 火山引擎云原生数据仓库ByteHouse 了解更多。
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/779613.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI挑战高考作文,看AI怎么写自己?

本文由 ChatMoney团队出品现在已经离高考过去快二个月了,不管是考的好或不好,都是人生中难以忘记的一个拐点,那么在现如今AI时代,我不禁想到,如果用人工智能参加高考,会得多少分呢? 不知道朋友们有没有关注今年的高考作文题目呢?有部分考生反馈,很庆幸,自己的语文老师…

.NET 与 LayUI 实现高效敏捷开发框架

前言 WaterCloud 是一个集成了 LayUI 的高效敏捷开发框架,专为 .NET 开发者设计。 它不仅支持多种 .NET 版本(.NET 4.5、.NET Core 3.1、.NET 5、.NET 6),还内置了丰富的功能,如权限管理、流程表单设计以及多数据库支持下的多租户架构。使用了 ORM(SqlSugar 和 Chloe ) …

at32+rtos+lwip2.1.2下使用snmp时发生死机的bug记录

主要问题:设置snmp集合是用局部变量传递发生的内存改变导致取指针指向的地址值越界发生死机

Linux中可怕的fork炸弹

什么是Linux中的 Fork 炸弹 Linux中的Fork炸弹(Fork Bomb)是一种拒绝服务攻击的形式,它利用了操作系统中的“fork()”系统调用。 Fork()系统调用用于创建新进程,该进程是调用进程的副本。 Fork炸弹利用此系统调用创建大量的子进程,以消耗系统资源,例如内存和CPU时间,…

博客总领--咸鱼翻身记

咸鱼犯神经翻身记为什么我为OI泪目?因为我菜得离谱......博客更新计划难度 知识点名称 入队时间 出队时间 链接橙 双指针 8.6 8.8橙 二分答案 8.6 IDK橙 离散化 8.6 IDK橙 归并排序 8.6 IDK橙 二维前缀和 8.6 IDK黄 ST表 8.6 IDK黄 最小生成树 8.6 IDK绿 树上问题 8.6 IDK绿 空…

前端联调budget

测试环境一直报错{"id":"grpc.client","code":14,"detail":"message:connection error: desc = \"transport: Error while dialing dial tcp 172.21.0.2:34083: i/o timeout\", callee_addr:172.21.0.2:34083",&q…

微信小程序解决不支持画布的createConicGradient

微信圆环进度条开发,先看效果 微信小程序中canvas使用createConicGradient,开发者工具中显示正常,真机上报错,表示createConicGradient方法underfed,然后试一下使用图片放进去,发现微信小程序不支持new Image方法,后面查看微信官方文档有 createImage方法 wxml代码: <…

【算法】【线性表】【链表】LRU 缓存2

1 题目 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类:LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存 int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。 void put(int key, i…

介绍一款新奇的开源操作系统:GodoOS

在快节奏的现代办公环境中,一款高效、集成化的操作系统无疑是提升工作效率的利器。今天,我们要为您隆重介绍 ——GodoOS,一款专为内网办公环境设计的全能操作系统。它不仅仅是一个工具,更是您团队协作与文件管理的得力助手,将彻底改变您的工作方式,带来前所未有的便捷体验…

CORS跨域漏洞修复

原文链接: https://www.cnblogs.com/wenyoudo/p/14862701.html 漏洞介绍概述:CORS,跨域资源共享(Cross-origin resource sharing),是H5提供的一种机制,WEB应用程序可以通过在HTTP增加字段来告诉浏览器,哪些不同来源的服务器是有权访问本站资源的,当不同域的请求发生时,…

lg-dp1

记忆化搜索:记忆化压缩 DP 状态(一些期望 dp 里会用)剪枝递推:保证前面的部分已经计算了数位 dp 求 \([l,r]\) 之内满足某种限制的数的个数,该限制应该是与数位有关系的。 带不带前导0取决于是否对统计答案造成影响。 前缀和转化:只有上界补充题:如果 lim=1 的时候前面都…

《最新出炉》系列小成篇-Python+Playwright自动化测试-66 - 等待元素至指定状态(出现、移除、显示和隐藏)

1.简介 在我们日常工作中进行UI自动化测试时,保证测试的稳定性至关重要。其中一个关键方面是正确地定位和操作网页中的元素。在网页中,元素可能处于不同的状态,有些可能在页面加载完成之前不在DOM中,需要某些操作后才会出现,而其他元素可能一直存在于DOM中,但最初处于隐藏…