- 博客(88)
- 收藏
- 关注
原创 使用火山引擎 APMPlus 优化 iOS 内存性能的全套指南
本文面向 iOS 研发,不会涉及复杂的底层原理,而是直接告诉 iOS 研发答案,即怎么做,只需要花半小时阅读本文,就可以在开发需求的时候,知道如何更好利用内存来提升用户体验,同时避免稳定性相关问题给业务带来负向的用户体验;同时本文作者的初心是希望这篇文章能成为研发同学的一个“字典”,在一些特定场景或者感觉可能会踩内存坑的时候可以翻阅,快速找到最佳的编码规范。
2024-11-08 17:11:33
1216
原创 字节跳动基础架构消息队列团队论文入选云计算领域顶会 SoCC 2024
BMQ 存算分离的架构极大提升了集群扩缩容的效率,实现了计算层和存储层的秒级扩缩容。这种架构还为 BMQ 赋予了极强的可扩展性,单集群能承担 TB/s 级别的吞吐。池化的分布式存储资源以及极致的负载均衡算法,再加上云原生化,让 BMQ 的成本相较 Kafka 降低了约 70%。此外,BMQ 还具备强大的容灾容错能力,自动的分布式存储系统故障检测及切换功能,能使 BMQ 在底层存储系统异常时快速自动恢复;然而,随着当时字节业务(例如抖音)的飞速发展,Kafka 的弊端逐渐显现。
2024-10-18 16:59:21
707
原创 95% 向量资源节省,火山引擎云搜索 RAG 技术体系演进
采访嘉宾 | 火山引擎云搜索团队 鲁蕴铖、李杰辉、余炜强编辑 | Tina InfoQ2023 年,大模型惊艳了世界。2024 年,RAG 技术如日中天。RAG 使得大模型能够在不更新模型参数的情况下,获得必要的上下文信息,从而减少大模型的幻觉。随着大型语言模型技术的不断成熟和行业应用的深入,人们对 RAG 系统的期望已经超越了对其“酷炫”效果的追求。企业和组织开始寻找更可靠、可扩展的 RAG 解决方案,以满足实际业务需求。与此同时,支撑 RAG 的向量数据库市场竞争愈加激烈。
2024-08-13 16:02:33
1425
原创 消息队列选型之 Kafka vs RabbitMQ
消息队列即 Message+Queue,消息可以说是一个数据传输单位,它包含了创建时间、通道/主题信息、输入参数等全部数据;队列(Queue)是一种 FIFO(先进先出)的数据结构,编程语言一般都内置(内存中的)队列实现,可以作为进程间通讯(IPC)的方法。使用队列最常见的场景就是生产者/消费者模式:生产者生产消息放到队列中,消费者从队列里面获取消息消费。
2024-08-13 15:56:54
1216
原创 基于火山引擎云搜索服务和豆包模型搭建 RAG 推理任务
大语言模型(LLM,Large language model)作为新一轮科技产业革命的战略性技术,其核心能力在于深层语境解析与知识融合。在生成式人工智能方向主要用于图像生成,书写文稿,信息搜索等。当下的 LLM 模型是基于大量数据训练的,目的是让它们掌握广泛的普遍知识,这些知识被储存在它们神经网络的权重(也就是参数记忆)里。但是,如果我们要求 LLM 生成的回答涉及到它训练数据之外的知识,比如最新的、专有的或某个特定领域的信息,这时就可能出现事实上的错误(我们称之为“幻觉”)。
2024-08-09 11:13:56
2211
原创 突破 ES 引擎局限性在用户体验场景中的优化实践
回顾:ES 慢上游响应问题优化在用户体验场景中的实践-CSDN博客上文介绍了用户体验管理平台(简称 VoC)在针对 ES 慢上游响应场景下的优化实践,本文继续介绍针对第二个痛点问题——ES 引擎局限性的性能优化实践进行介绍。下文以搜索引擎无法替换(存量数据太大,数据迁移成本高)、ES 查询性能配置无法修改(ES 集群配置有限且公司对部分参数配置有限制)、SkyNet 性能无法优化(后续逐步优化,不在本次实践进行)为前提设计方案进行性能优化,即在最坏的场景下寻找到最优解,降低后续进一步优化的压力。
2024-08-09 11:07:12
1332
原创 减少 95% 资源的向量搜索 | 使用云搜索的 DiskANN
近邻检索问题,顾名思义便是给定一个数据集 P 与一个查询向量 Q,我们需要从中找出最近的 K 个结果。随着数据集规模和数据维度的增加(),穷举遍历比较的方式便不再适用,更好地方式是取出近似的 K 个,然后引入召回率的概念,来表征近似结果集的好坏。针对此问题,应运而生了不同的算法,这些算法对应的索引结构也都基本受限于这些权衡:召回率、读写时延、成本等。比如,基于图结构的算法,选择将数据作为图中的数据点,而相近的点之间连接为边;查询向量从入口点出发,不断缩短距离,最终收敛得到结果。
2024-07-26 11:30:06
1553
原创 火山引擎云搜索服务通过信通院向量数据库可信认证
7月16日,首届线下“可信数据库发展大会”在北京举办,会上中国信息通信研究院(中国信通院)公布了 2024 上半年“可信数据库”产品能力评测结果。此前,该产品也已经通过了中国信通院“。“可信数据库”产品能力评测通过严格地测试和检查筛选优秀的产品和优质的服务商,圈定了国内数据库产品和服务商第一梯队,对数据库规划、研发、交付和运维运营起到了指导作用,推动了国内数据库产业持续增强。
2024-07-26 11:21:32
479
原创 ES 慢上游响应问题优化在用户体验场景中的实践
在抖音亿级日活流量的情况下,每天收到的用户反馈也是大量的,而用户反馈对于产品的发展与未来是至关重要的,因此用户体验管理平台(简称VoC)就应运而生,VoC 平台旨在通过技术平台化的方式,结合反馈驱动的机制,以产品化、数据化的手段从反馈中挖掘出对抖音系产品留存、增长或口碑提升的可能点,推动体验问题治理改进,提升产品体验。同时也为公司各业务线提供通用和定制化的体验数据总览、用户原声分析以及体验专项、实验专项等看板或专项管理能力。
2024-07-12 16:30:29
1063
原创 字节跳动基础架构两篇论文入选 VLDB 2024
2024 年 8 月 26 至 30 日,VLDB 2024 将在中国广州举行。字节跳动基础架构云原生中间件团队、批式计算团队研究成果分别被 VLDB 2024 接收,并受邀进行现场报告。
2024-06-12 17:55:35
1764
原创 如何基于 Elasticsearch 实现排序沉底或前置
通过以上介绍我们可以了解到 ES 可支持的排序能力还是非常丰富的,我们要实现置顶或沉底效果,并不能非黑即白的选择,更多的场景中需要根据实际需要做多个能力的组合,尽管 function_score 表现优异,但越复杂的查询对 ES 的查询压力也越大,当数据量很大时必须要权衡性能和排序效果。上线前,也需要在仿真环境中验证大数据量下的性能表现。
2024-06-12 17:54:07
1315
原创 基于火山引擎云搜索的混合搜索实战
在搜索应用中,传统的 Keyword Search 一直是主要的搜索方法,它适合精确匹配查询的场景,能够提供低延迟和良好的结果可解释性,但是 Keyword Search 并没有考虑上下文信息,可能产生不相关的结果。
2024-05-15 15:29:25
1660
原创 ES 数据写入方式:直连 VS Flink 集成系统
ES 作为一个分布式搜索引擎,从扩展能力和搜索特性上而言无出其右,然而它有自身的弱势存在,其作为近实时存储系统,由于其分片和复制的设计原理,也使其在数据延迟和一致性方面都是无法和 OLTP(Online Transaction Processing)系统相媲美的。也正因如此,通常它的数据都来源于其他存储系统同步而来,做二次过滤和分析的。这就引入了一个关键节点,即 ES 数据的同步写入方式,本文介绍的则是 MySQL 同步 ES 方式。将 MySQL 数据写入 ES,首先想到的一定是消费 Binlog 直连
2024-05-15 14:57:38
1442
原创 Elasticsearch 原理与在直播运营平台的实践
Elasticsearch 是一种分布式的、近实时的海量数据存储、检索与分析引擎。我们常说的“ELK”就是指 Elasticsearch、Logstash/Beats、Kibana 组成的具备收集、存储、检索和可视化的数据系统。ES 在类似数据系统中发挥着数据存储与索引、数据检索、数据分析等作用。
2024-04-18 17:03:51
1446
1
原创 RocketMQ 存储机制浅析
RocketMQ 是一个典型的发布订阅系统,通过 Broker 节点中转和持久化数据、解耦上下游。Broker 是真实存储数据的节点,由多个水平部署但不一定完全对等的副本组构成,单个副本组的不同节点的数据会达到最终一致。RocketMQ 优异的性能表现,绕不开其优秀的存储模型。
2024-04-18 16:56:51
1024
原创 电商场景下 ES 搜索引擎的稳定性治理实践
本文将介绍在完成了第一阶段对可支持从千万级到亿级商品量级搜索系统的搭建后,介绍一些扩容无法解决的 ES 性能问题,即对相关 ES 搜索引擎的稳定性治理实践。
2024-03-14 19:30:56
1666
原创 加速大模型落地:火山引擎向量数据库的实践应用
在火山引擎云搜索服务上构建混合搜索的设计与实现》鲁蕴铖|火山引擎云搜索服务高级研发工程师当今,随着图片和视频数据的爆炸式增长,人们对于多样化数据搜索的需求也越来越迫切。多模态搜索场景已经成为当前搜索领域的主要趋势。在这个背景下,本次演讲将重点介绍字节跳动在混合搜索领域的探索,并探讨如何在多模态数据场景下进行海量数据搜索。主要内容:混合搜索的应用场景云搜索服务在混合搜索中具备的搜索能力云搜索服务在混合搜索中的生态能力云搜索服务在混合搜索中的搜索增强能力云搜索服务在混合搜索中的排序打分增强能力。
2024-03-07 16:45:38
819
原创 从 0 到 1 搭建亿级商品 ES 搜索引擎
平台招商管理系统服务于抖音电商平台活动的多实体招商场景,会通过招商平台来进行收品,选品,然后分发品到各 C 端系统。招商的实体也非常的多样化,有达人直播间,商品招商,优惠券招商等等,其中商品招商是我们体量最大的招商实体。招商平台服务架构以上我们已经完成了第一阶段的搭建,完成了容灾部署,一致性对账,以及基本系统异常应对策略。此时 ES 可以支持千万级别的商品索引的读写请求,单机房流量在 500 ~ 100 QPS 之间波动,写流量基本维持在 500 QPS 左右。
2024-02-28 16:48:00
1461
原创 字节跳动新一代云原生消息队列实践
总体来看,分层架构给 BMQ 带来了极大的性能收益及可运维性的提升,同时也给我们带了来很多的挑战。BMQ 也通过不停的探索和优化,成功克服了这些困难,很好的支撑了业务的发展。在线上实践中,目前我们承接了 TB/s 级别的入流及数十 TB/s 级别的的峰值吞吐,其中最大 Topic 峰值达到数百 GB/s 入流和 TB/s 级别的出流吞吐。当然,我们也在思考如何在各种场景下持续优化云原生消息引擎能力为用户带来更加极致的使用体验。
2024-02-01 15:46:09
1856
原创 探索技术的无限可能-云原生计算2023年度奖项
在过去的一年里,字节跳动云原生计算团队获得了「」、「」和「」奖项。这些奖项既是鼓励,也是鞭策。在未来技术的道路上,我们将继续与大家同行,共同探索技术的无限可能!
2024-01-25 16:25:41
777
原创 一文了解字节跳动消息队列演进之路
综上所述,字节跳动消息队列团队在使用和维护 Kafka 时有以下痛点:运维操作耗时长:随着数据量的增加以及集群负载的提升,所有相关的运维操作都需要非常长的时间才能完成,这对团队的效率有着明显的影响。负载均衡算法复杂,均衡代价大:Kafka的负载均衡算法相当复杂。并且,由于负载均衡代价大,无法对负载进行实时调度。缺少自动的故障恢复手段:在面临故障场景时,特别是多机故障时,Kafka的恢复能力非常弱,使得我们的运维工作中充满困难。
2024-01-19 11:44:16
1209
原创 字节跳动 Spark 支持万卡模型推理实践
在云原生化的发展过程中 Kubernetes 由于其强大的生态构建能力和影响力,使得包括大数据、AI 在内越来越多类型的负载应用开始向 Kubernetes 迁移,字节内部探索 Spark 从 Hadoop 迁移到 Kubernetes 对作业的云原生化运行。字节跳动的大数据资源管理架构和 Spark 的部署演进大致可分为三个阶段:第一个阶段是完全基于 YARN 的离线资源管理,通过大规模使用 YARN 管理大数据集群,可以有效提高 Spark 资源使用率的同时降低资源的运营和维护成本。
2024-01-04 19:37:55
1557
原创 字节跳动 MapReduce - Spark 平滑迁移实践
近一年内字节跳动 Spark 作业数量经历了从 100 万到 150 万的暴涨,天级数据 Flink Batch 从 20 万涨到了 25 万,而 MapReduce 的用量则处于缓慢下降的状态,一年的时间差不多从 1.4 万降到了 1 万左右,基于以上的用量情况,MapReduce 作为我们使用的历史悠久的批处理框架也完成了它的历史使命即将下线。在正式推动下线之前,我们首先统计了 MapReduce 类型作业的业务方和任务维护方式。
2023-12-28 16:03:56
2252
1
原创 字节跳动 Spark Shuffle 大规模云原生化演进实践
Push Based Shuffle 模式,与刚才介绍的 ESS 的模式不同,在 Push Based Shuffle 模式下,不同 Mapper 的同一个 Reducer Partition 数据都会发送到一个共同的远程服务上,在这个服务上进行合并,最后在某个 Worker 上写一个或者多个文件,使得 Reduce 阶段的时候可以通过 Sequential Read 模式读取这些 Partition 数据,减少随机 IO 的开销。支持 Partition Group 功能。
2023-12-21 15:40:28
3134
原创 基于 Flink 构建实时数据湖的实践
后续工作的重点将主要围绕自动化创建物化视图、物化视图的查询重写、自动调优数据维护任务的参数(包括执行频率、合并文件大小等),以及数据冷热分层/Data cache的相关工作展开。
2023-12-18 14:32:57
1382
原创 使用 KubeRay 和 Kueue 在 Kubernetes 中托管 Ray 工作负载
为了提供简洁的分布式编程体验,Ray Core 内部做了非常多工作,比如 actor 调度和 object 的生命周期管理等,上图左侧展示了如何使用 Ray Core 编写一个简单的分布式程序,square 函数和 Counter 类通过 Ray 的语法糖,变成了一些在远程运行的对象,其计算过程会被异步调用并存储在 object store 中,最后通过 ray.get 来获取到本地。随着作业规模的增大,如何有限资源下调度不同优先级的作业,让大家都能稳定有序去使用 GPU 等资源是一个非常重要的问题。
2023-12-08 14:47:47
2694
原创 FFA 2023|字节跳动 7 项议题入选
随着 Flink OLAP 在高 QPS 下的作业调度和作业执行优化逐渐落地,Flink OLAP 在字节内部的业务规模也大幅增长,同时也遇到了更多样化的计算挑战,其中最主要的一项挑战是计算能力的 Serverless 化。通过开发实现资源隔离、弹性扩缩容、优雅退出、冷启动优化、多策略限流等特性,我们完成了 Flink OLAP的Serverless 能力改造,并在内部成功完成了业务推广。
2023-11-28 16:54:15
336
原创 Flink 替换 Logstash 解决日志收集丢失问题
ELKibana,功能涵盖了从日志收集、解析、查询、分析、可视化等完整的解决方案。上图描述了 ELK 里各组件的关系,基于 libbeat框架的各种 beats 工具将日志及各种数据进行收集,可以直接写入 ES,也可以先写入到 Logstash 进行解析和处理再写入到 ES。如下图所示,Logstash 主要包括三个部分:输入插件:负责从各种不同的 source 读取数据,如文件、beats、Kafka等;
2023-11-23 16:20:49
1162
原创 火山引擎云原生存储加速实践
我们理解的“好”的存储加速应该满足支持透明加速、多协议兼容、可以弹性伸缩、拥有基础的数据治理能力等特性。透明加速透明加速的诉求之一是需要对服务化的加速能力做到开箱即用,拥有稳定 SLA 的保障,也可以做到按量付费。另一个诉求是对底座存储的原生协议加速后直接透出给业务,从业务视角可以不需要对代码层面进行修改,仅需要做一些配置上的适配调整就能看到底座存储上原始的目录结构和数据格式。
2023-11-06 15:47:23
1970
1
原创 幸福里基于 Flink & Paimon 的流式数仓实践
幸福里业务是一种典型的交易、事务类型的业务场景,这种业务场景在实时数仓建模中遇到了诸多挑战。本次分享主要介绍幸福里业务基于 Flink & Paimon 构建流式数仓的实践经验,从业务背景、流批一体数仓架构、实践中遇到的问题和解决方案,借助 Paimon 最终能拿到的收益,以及未来规划方面进行介绍。作者:字节跳动基础架构工程师-李国君。
2023-10-25 17:12:00
844
原创 开源贡献难吗?
本文整理自字节跳动 Flink SQL 技术负责人李本超在 CommunityOverCode Asia 2023 上的 Keynote 演讲,李本超根据自己在开源社区的贡献经历,跟大家分享《开源贡献难吗?》这一主题演讲。
2023-10-18 15:21:45
815
原创 搞流式计算,大厂也没有什么神话
抖音、今日头条,是字节跳动旗下最受用户欢迎的两款产品,也是字节跳动的门面。而在这背后,是众多技术团队在支撑,流式计算就是其中一支。不过,即使是在字节跳动,搞流式计算也没有神话。只有一群年轻人,花了六年时间,一步一个脚印,从一开始的“不懂技术不懂业务”,最后承载起了字节内部流式计算平台以及应用场景的构建,支撑了机器学习平台、推荐、数仓、搜索、广告、流媒体、安全和风控等众多核心业务。2022 年,该团队完成了对 Flink 计算引擎的云原生化改造,并通过火山引擎正式对外提供云上能力。
2023-10-12 11:46:26
268
原创 基于火山引擎云搜索服务的排序学习实战
一般的搜索引擎服务,其搜索过程包含了两个阶段,即召回+排序。如火山引擎云搜索服务,通过用户输入的文本段作为关键词,使用 BM25 打分算法,遍历数据库并挑选出分数最高的文档排好序后再返回展示给用户。由于 BM25 算法模型考虑的因素主要是文本的词频、逆文档频率等。因此搜索结果的排序仅仅取决于它所检索的文本的相关性,这在大部分场景下都是够用的,但是有些应用场景用户则想要实现相关性更优的个性化推荐效果。为了达到这个目的,需要在已有召回+排序的基础上,额外引入重排阶段。
2023-10-09 11:42:52
310
原创 数据库顶会 VLDB 2023 论文解读 - Krypton: 字节跳动实时服务分析 SQL 引擎设计
上图是字节典型的广告后端架构,数据通过 Kafka 流入不同的系统。对于离线链路,数据通常流入到 Spark/Hive 中进行计算,结果通过 ETL 导入到 HBase/ES/ClickHouse 等系统提供在线的查询服务。对于实时链路, 数据会直接进入到 HBase/ES 提供高并发低时延的在线查询服务,另一方面数据会流入到 ClickHouse/Druid 提供在线的查询聚合服务。这带来的问题就像引言中所说,数据被冗余存储了多份,导致了很多一致性问题,也造成了大量的资源浪费。
2023-09-20 12:01:44
999
原创 字节跳动基础架构编排调度团队论文入选云计算领域顶会 SoCC 2023
字节跳动基础架构-编排调度团队的研究成果被 SoCC 2023 接收,并受邀进行现场报告。
2023-09-13 11:55:24
1699
2
原创 数据库顶会 VLDB 2023 论文解读:字节跳动如何解决超大规模流式任务运维难题
本文提出了一个基于云原生构建的流式任务运行时管控系统 StreamOps。作者通过将其实现为一个独立在流式作业外部的独立无状态服务,使得其可以高效地统一管理大规模的流式作业。提出将总体管控流程拆分为策略和与外部系统交互的通用机制两部分并将策略部分抽象为发现-诊断-解决三步走的通用编程范式进行定义,使其可以低成本快速实现新的管控策略。实现了自动扩缩容、慢节点自动迁移和延迟/故障智能诊断三大类管控策略解决了生产实践中消息积压、运行时故障和资源浪费的痛点,并在字节跳动内部的生产环境验证了其高效性和有效性。
2023-09-06 15:37:46
689
原创 介绍一下我们的开源“充电之旅” - 两位新晋 Apache Flink Committer 专访
本文出自字节跳动流式计算团队的方勇、胡伟华同学专访。两位同学在 Apache Flink 社区主要贡献了包括 Runtime Coordinator、Streaming Warehouse 等相关 Feature。于2023年7月正式受邀成为 Apache Flink Committer。在软件开发的世界中,开源已成为普遍关注的话题。越来越多的企业和开发者认识到开源的重要性,并开始积极拥抱开源、贡献开源。
2023-09-01 17:35:59
214
原创 ApacheCon - 云原生大数据上的 Apache 项目实践
实时数据湖是现代数据架构的核心组成部分,它允许企业实时分析和查询大量数据。在这场分享中,我们将首先介绍实时数据湖目前存在的痛点,比如数据的高时效性,多样性,一致性和准确性等。然后介绍我们如何基于 Flink 和 Iceberg 构建实时数据湖,主要通过如下两部分展开:如何将数据实时入湖、如何使用 Flink 进行 OLAP 临时查询。最后介绍一下字节跳动在实时数据湖中的一些实践收益。
2023-08-11 11:45:09
1268
原创 使用火山云搜索ESCloud服务构建图文检索应用(以文搜图/以图搜图)
图片搜索技术,以文本描述和图片作为检索对象,分别对 image 和 text 进行特征提取,并在模型中对文本和图片建立相关联系,然后在海量图片数据库进行特征向量检索,返回与检索对象最相关的记录集合。其中特征提取部分采用 CLIP 模型,向量检索使用火山引擎云搜索服务在海量图片特征中进行快速的搜索。
2023-08-03 19:58:12
732
1
原创 字节跳动 EB 级 Iceberg 数据湖的机器学习应用与优化
本文将介绍字节跳动如何通过 Iceberg 数据湖支持 EB 级机器学习样本存储,实现高性能特征读取和高效特征调研、特征工程加速模型迭代。
2023-07-27 16:15:35
1264
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人