自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 收藏
  • 关注

原创 基于火山引擎云搜索的混合搜索实战

在搜索应用中,传统的 Keyword Search 一直是主要的搜索方法,它适合精确匹配查询的场景,能够提供低延迟和良好的结果可解释性,但是 Keyword Search 并没有考虑上下文信息,可能产生不相关的结果。

2024-05-15 15:29:25 1130

原创 ES 数据写入方式:直连 VS Flink 集成系统

ES 作为一个分布式搜索引擎,从扩展能力和搜索特性上而言无出其右,然而它有自身的弱势存在,其作为近实时存储系统,由于其分片和复制的设计原理,也使其在数据延迟和一致性方面都是无法和 OLTP(Online Transaction Processing)系统相媲美的。也正因如此,通常它的数据都来源于其他存储系统同步而来,做二次过滤和分析的。这就引入了一个关键节点,即 ES 数据的同步写入方式,本文介绍的则是 MySQL 同步 ES 方式。将 MySQL 数据写入 ES,首先想到的一定是消费 Binlog 直连

2024-05-15 14:57:38 1025

原创 Elasticsearch 原理与在直播运营平台的实践

Elasticsearch 是一种分布式的、近实时的海量数据存储、检索与分析引擎。我们常说的“ELK”就是指 Elasticsearch、Logstash/Beats、Kibana 组成的具备收集、存储、检索和可视化的数据系统。ES 在类似数据系统中发挥着数据存储与索引、数据检索、数据分析等作用。

2024-04-18 17:03:51 1241 1

原创 RocketMQ 存储机制浅析

RocketMQ 是一个典型的发布订阅系统,通过 Broker 节点中转和持久化数据、解耦上下游。Broker 是真实存储数据的节点,由多个水平部署但不一定完全对等的副本组构成,单个副本组的不同节点的数据会达到最终一致。RocketMQ 优异的性能表现,绕不开其优秀的存储模型。

2024-04-18 16:56:51 628

原创 电商场景下 ES 搜索引擎的稳定性治理实践

本文将介绍在完成了第一阶段对可支持从千万级到亿级商品量级搜索系统的搭建后,介绍一些扩容无法解决的 ES 性能问题,即对相关 ES 搜索引擎的稳定性治理实践。

2024-03-14 19:30:56 1411

原创 加速大模型落地:火山引擎向量数据库的实践应用

在火山引擎云搜索服务上构建混合搜索的设计与实现》鲁蕴铖|火山引擎云搜索服务高级研发工程师当今,随着图片和视频数据的爆炸式增长,人们对于多样化数据搜索的需求也越来越迫切。多模态搜索场景已经成为当前搜索领域的主要趋势。在这个背景下,本次演讲将重点介绍字节跳动在混合搜索领域的探索,并探讨如何在多模态数据场景下进行海量数据搜索。主要内容:混合搜索的应用场景云搜索服务在混合搜索中具备的搜索能力云搜索服务在混合搜索中的生态能力云搜索服务在混合搜索中的搜索增强能力云搜索服务在混合搜索中的排序打分增强能力。

2024-03-07 16:45:38 524

原创 从 0 到 1 搭建亿级商品 ES 搜索引擎

平台招商管理系统服务于抖音电商平台活动的多实体招商场景,会通过招商平台来进行收品,选品,然后分发品到各 C 端系统。招商的实体也非常的多样化,有达人直播间,商品招商,优惠券招商等等,其中商品招商是我们体量最大的招商实体。招商平台服务架构以上我们已经完成了第一阶段的搭建,完成了容灾部署,一致性对账,以及基本系统异常应对策略。此时 ES 可以支持千万级别的商品索引的读写请求,单机房流量在 500 ~ 100 QPS 之间波动,写流量基本维持在 500 QPS 左右。

2024-02-28 16:48:00 1223

原创 字节跳动新一代云原生消息队列实践

总体来看,分层架构给 BMQ 带来了极大的性能收益及可运维性的提升,同时也给我们带了来很多的挑战。BMQ 也通过不停的探索和优化,成功克服了这些困难,很好的支撑了业务的发展。在线上实践中,目前我们承接了 TB/s 级别的入流及数十 TB/s 级别的的峰值吞吐,其中最大 Topic 峰值达到数百 GB/s 入流和 TB/s 级别的出流吞吐。当然,我们也在思考如何在各种场景下持续优化云原生消息引擎能力为用户带来更加极致的使用体验。

2024-02-01 15:46:09 1269

原创 探索技术的无限可能-云原生计算2023年度奖项

在过去的一年里,字节跳动云原生计算团队获得了「」、「」和「」奖项。这些奖项既是鼓励,也是鞭策。在未来技术的道路上,我们将继续与大家同行,共同探索技术的无限可能!

2024-01-25 16:25:41 703

原创 一文了解字节跳动消息队列演进之路

综上所述,字节跳动消息队列团队在使用和维护 Kafka 时有以下痛点:运维操作耗时长:随着数据量的增加以及集群负载的提升,所有相关的运维操作都需要非常长的时间才能完成,这对团队的效率有着明显的影响。负载均衡算法复杂,均衡代价大:Kafka的负载均衡算法相当复杂。并且,由于负载均衡代价大,无法对负载进行实时调度。缺少自动的故障恢复手段:在面临故障场景时,特别是多机故障时,Kafka的恢复能力非常弱,使得我们的运维工作中充满困难。

2024-01-19 11:44:16 960

原创 字节跳动 Spark 支持万卡模型推理实践

在云原生化的发展过程中 Kubernetes 由于其强大的生态构建能力和影响力,使得包括大数据、AI 在内越来越多类型的负载应用开始向 Kubernetes 迁移,字节内部探索 Spark 从 Hadoop 迁移到 Kubernetes 对作业的云原生化运行。字节跳动的大数据资源管理架构和 Spark 的部署演进大致可分为三个阶段:第一个阶段是完全基于 YARN 的离线资源管理,通过大规模使用 YARN 管理大数据集群,可以有效提高 Spark 资源使用率的同时降低资源的运营和维护成本。

2024-01-04 19:37:55 1228

原创 字节跳动 MapReduce - Spark 平滑迁移实践

近一年内字节跳动 Spark 作业数量经历了从 100 万到 150 万的暴涨,天级数据 Flink Batch 从 20 万涨到了 25 万,而 MapReduce 的用量则处于缓慢下降的状态,一年的时间差不多从 1.4 万降到了 1 万左右,基于以上的用量情况,MapReduce 作为我们使用的历史悠久的批处理框架也完成了它的历史使命即将下线。在正式推动下线之前,我们首先统计了 MapReduce 类型作业的业务方和任务维护方式。

2023-12-28 16:03:56 1857 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 2946

原创 基于 Flink 构建实时数据湖的实践

后续工作的重点将主要围绕自动化创建物化视图、物化视图的查询重写、自动调优数据维护任务的参数(包括执行频率、合并文件大小等),以及数据冷热分层/Data cache的相关工作展开。

2023-12-18 14:32:57 1102

原创 使用 KubeRay 和 Kueue 在 Kubernetes 中托管 Ray 工作负载

为了提供简洁的分布式编程体验,Ray Core 内部做了非常多工作,比如 actor 调度和 object 的生命周期管理等,上图左侧展示了如何使用 Ray Core 编写一个简单的分布式程序,square 函数和 Counter 类通过 Ray 的语法糖,变成了一些在远程运行的对象,其计算过程会被异步调用并存储在 object store 中,最后通过 ray.get 来获取到本地。随着作业规模的增大,如何有限资源下调度不同优先级的作业,让大家都能稳定有序去使用 GPU 等资源是一个非常重要的问题。

2023-12-08 14:47:47 519

原创 FFA 2023|字节跳动 7 项议题入选

随着 Flink OLAP 在高 QPS 下的作业调度和作业执行优化逐渐落地,Flink OLAP 在字节内部的业务规模也大幅增长,同时也遇到了更多样化的计算挑战,其中最主要的一项挑战是计算能力的 Serverless 化。通过开发实现资源隔离、弹性扩缩容、优雅退出、冷启动优化、多策略限流等特性,我们完成了 Flink OLAP的Serverless 能力改造,并在内部成功完成了业务推广。

2023-11-28 16:54:15 208

原创 Flink 替换 Logstash 解决日志收集丢失问题

ELKibana,功能涵盖了从日志收集、解析、查询、分析、可视化等完整的解决方案。上图描述了 ELK 里各组件的关系,基于 libbeat框架的各种 beats 工具将日志及各种数据进行收集,可以直接写入 ES,也可以先写入到 Logstash 进行解析和处理再写入到 ES。如下图所示,Logstash 主要包括三个部分:输入插件:负责从各种不同的 source 读取数据,如文件、beats、Kafka等;

2023-11-23 16:20:49 607

原创 火山引擎云原生存储加速实践

我们理解的“好”的存储加速应该满足支持透明加速、多协议兼容、可以弹性伸缩、拥有基础的数据治理能力等特性。透明加速透明加速的诉求之一是需要对服务化的加速能力做到开箱即用,拥有稳定 SLA 的保障,也可以做到按量付费。另一个诉求是对底座存储的原生协议加速后直接透出给业务,从业务视角可以不需要对代码层面进行修改,仅需要做一些配置上的适配调整就能看到底座存储上原始的目录结构和数据格式。

2023-11-06 15:47:23 1593 1

原创 幸福里基于 Flink & Paimon 的流式数仓实践

幸福里业务是一种典型的交易、事务类型的业务场景,这种业务场景在实时数仓建模中遇到了诸多挑战。本次分享主要介绍幸福里业务基于 Flink & Paimon 构建流式数仓的实践经验,从业务背景、流批一体数仓架构、实践中遇到的问题和解决方案,借助 Paimon 最终能拿到的收益,以及未来规划方面进行介绍。作者:字节跳动基础架构工程师-李国君。

2023-10-25 17:12:00 617

原创 开源贡献难吗?

本文整理自字节跳动 Flink SQL 技术负责人李本超在 CommunityOverCode Asia 2023 上的 Keynote 演讲,李本超根据自己在开源社区的贡献经历,跟大家分享《开源贡献难吗?》这一主题演讲。

2023-10-18 15:21:45 719

原创 搞流式计算,大厂也没有什么神话

抖音、今日头条,是字节跳动旗下最受用户欢迎的两款产品,也是字节跳动的门面。而在这背后,是众多技术团队在支撑,流式计算就是其中一支。不过,即使是在字节跳动,搞流式计算也没有神话。只有一群年轻人,花了六年时间,一步一个脚印,从一开始的“不懂技术不懂业务”,最后承载起了字节内部流式计算平台以及应用场景的构建,支撑了机器学习平台、推荐、数仓、搜索、广告、流媒体、安全和风控等众多核心业务。2022 年,该团队完成了对 Flink 计算引擎的云原生化改造,并通过火山引擎正式对外提供云上能力。

2023-10-12 11:46:26 158

原创 基于火山引擎云搜索服务的排序学习实战

一般的搜索引擎服务,其搜索过程包含了两个阶段,即召回+排序。如火山引擎云搜索服务,通过用户输入的文本段作为关键词,使用 BM25 打分算法,遍历数据库并挑选出分数最高的文档排好序后再返回展示给用户。由于 BM25 算法模型考虑的因素主要是文本的词频、逆文档频率等。因此搜索结果的排序仅仅取决于它所检索的文本的相关性,这在大部分场景下都是够用的,但是有些应用场景用户则想要实现相关性更优的个性化推荐效果。为了达到这个目的,需要在已有召回+排序的基础上,额外引入重排阶段。

2023-10-09 11:42:52 140

原创 数据库顶会 VLDB 2023 论文解读 - Krypton: 字节跳动实时服务分析 SQL 引擎设计

上图是字节典型的广告后端架构,数据通过 Kafka 流入不同的系统。对于离线链路,数据通常流入到 Spark/Hive 中进行计算,结果通过 ETL 导入到 HBase/ES/ClickHouse 等系统提供在线的查询服务。对于实时链路, 数据会直接进入到 HBase/ES 提供高并发低时延的在线查询服务,另一方面数据会流入到 ClickHouse/Druid 提供在线的查询聚合服务。这带来的问题就像引言中所说,数据被冗余存储了多份,导致了很多一致性问题,也造成了大量的资源浪费。

2023-09-20 12:01:44 549

原创 字节跳动基础架构编排调度团队论文入选云计算领域顶会 SoCC 2023

字节跳动基础架构-编排调度团队的研究成果被 SoCC 2023 接收,并受邀进行现场报告。

2023-09-13 11:55:24 1269 1

原创 数据库顶会 VLDB 2023 论文解读:字节跳动如何解决超大规模流式任务运维难题

本文提出了一个基于云原生构建的流式任务运行时管控系统 StreamOps。作者通过将其实现为一个独立在流式作业外部的独立无状态服务,使得其可以高效地统一管理大规模的流式作业。提出将总体管控流程拆分为策略和与外部系统交互的通用机制两部分并将策略部分抽象为发现-诊断-解决三步走的通用编程范式进行定义,使其可以低成本快速实现新的管控策略。实现了自动扩缩容、慢节点自动迁移和延迟/故障智能诊断三大类管控策略解决了生产实践中消息积压、运行时故障和资源浪费的痛点,并在字节跳动内部的生产环境验证了其高效性和有效性。

2023-09-06 15:37:46 364

原创 介绍一下我们的开源“充电之旅” - 两位新晋 Apache Flink Committer 专访

本文出自字节跳动流式计算团队的方勇、胡伟华同学专访。两位同学在 Apache Flink 社区主要贡献了包括 Runtime Coordinator、Streaming Warehouse 等相关 Feature。于2023年7月正式受邀成为 Apache Flink Committer。在软件开发的世界中,开源已成为普遍关注的话题。越来越多的企业和开发者认识到开源的重要性,并开始积极拥抱开源、贡献开源。

2023-09-01 17:35:59 121

原创 ApacheCon - 云原生大数据上的 Apache 项目实践

实时数据湖是现代数据架构的核心组成部分,它允许企业实时分析和查询大量数据。在这场分享中,我们将首先介绍实时数据湖目前存在的痛点,比如数据的高时效性,多样性,一致性和准确性等。然后介绍我们如何基于 Flink 和 Iceberg 构建实时数据湖,主要通过如下两部分展开:如何将数据实时入湖、如何使用 Flink 进行 OLAP 临时查询。最后介绍一下字节跳动在实时数据湖中的一些实践收益。

2023-08-11 11:45:09 1149

原创 使用火山云搜索ESCloud服务构建图文检索应用(以文搜图/以图搜图)

图片搜索技术,以文本描述和图片作为检索对象,分别对 image 和 text 进行特征提取,并在模型中对文本和图片建立相关联系,然后在海量图片数据库进行特征向量检索,返回与检索对象最相关的记录集合。其中特征提取部分采用 CLIP 模型,向量检索使用火山引擎云搜索服务在海量图片特征中进行快速的搜索。

2023-08-03 19:58:12 390

原创 字节跳动 EB 级 Iceberg 数据湖的机器学习应用与优化

本文将介绍字节跳动如何通过 Iceberg 数据湖支持 EB 级机器学习样本存储,实现高性能特征读取和高效特征调研、特征工程加速模型迭代。

2023-07-27 16:15:35 615

原创 5分钟,结合 LangChain 搭建自己的生成式智能问答系统

本文将基于提示学习方式,介绍如何基于火山引擎云搜索服务和方舟平台来构建专属的智能问答系统。

2023-07-20 14:17:17 1302

原创 火山引擎云搜索服务升级云原生新架构;提供数十亿级分布式向量数据库能力

从互联网发展伊始,搜索技术就绽放出了惊人的社会和经济价值。随着信息社会快速发展,数据呈爆炸式增长,搜索技术通过数据收集与处理,满足信息共享与快速检索的需求。云搜索服务 ESCloud 是火山引擎提供的,兼容 Elasticsearch、Kibana 等软件及常用开源插件。可以提供结构化、非结构化文本的多条件检索、统计、报表,帮助实现一键部署、弹性扩缩、简化运维,快速构建日志分析、信息检索分析等实际业务。而伴随着 Serverless 的兴起和大势所向,火山引擎。

2023-07-13 17:25:15 500

原创 如何在大背景下降本增效,构建超大规模存储架构?

字节跳动大数据存储技术负责人,在分布式存储领域有 10+ 年技术与产品经验。目前负责字节跳动大数据存储产品的研发和运营工作。主要负责产品及方向包括 HDFS(自研),数据湖(存储)和火山大数据存储加速产品等,涉及数十 EB 数据的管理和治理。

2023-07-05 17:23:23 823

原创 字节跳动云原生大数据平台运维管理实践

字节跳动过去几年在支撑自身业务的过程中积累了很多大数据领域的引擎工具,目前也在探索将这些引擎工具的能力进行标准化、产品化的输出。组件繁多:大数据领域完成一项工作需要很多组件配合。比如分布式大数据存储及各种任务执行引擎:Flink、Spark 及各种 ETL 的 OLAP 工具和调度 ETL 的任务调度工具,还有支撑工具引擎的运行日志监控系统和项目用户权限的辅助系统等;部署复杂:这些系统的组件繁多,相互配合也非常复杂,导致部署变得困难。比如部署一套完整的生产环境,可能会涉及到多个依赖和配置管理。

2023-06-28 17:03:46 1305 1

原创 火山引擎 Iceberg 数据湖的应用与实践

在云原生计算时代,云存储使得海量数据能以低成本进行存储,但是这也给如何访问、管理和使用这些云上的数据提出了挑战。而 Iceberg 作为一种云原生的表格式,可以很好地应对这些挑战。本文将介绍火山引擎在云原生计算产品上使用 Iceberg 的实践,和大家分享高效查询、存储和治理 Iceberg 数据的方法。

2023-06-20 15:33:48 4031 1

原创 基于 Ray 的大规模离线推理

大模型离线推理大模型离线推理(Batch 推理)是指在具有数十亿至数千亿参数的大规模模型上进行分布式计算推理的过程,具有如下特点:一次对一批数据进行推理,数据量通常是海量的,所以计算过程通常是离线计算;推理作业执行过程一般同时包含数据处理及模型推理;作业规模通常较大,采用分布式计算,消耗大量计算资源;相比于在线推理,离线推理对延迟的要求并不高,主要关注吞吐和资源利用率。Ray 简介。

2023-06-08 21:49:48 1348

原创 云原生大数据 Meetup|云原生时代下的数据计算基础设施

云原生场景下,大数据和机器学习的计算架构朝着存算分离、弹性伸缩和灵活调度的方向发展,但是各种存储服务的带宽、时延和亲缘性的能力很难去适应计算的要求。但是面对计算和客户场景的多样性,目前还没有一个业界标准的存储加速实践,很多客户在做选型的时候也面临着诸多的困惑。Ray 是近年来兴起的新一代计算引擎,相较于传统计算引擎具有更好的可编程性、异构资源支持等能力,在分布式计算尤其是机器学习领域的应用越来越广泛。Ray 在字节跳动有比较广泛的应用,比如图计算、ML等,并基于云原生环境提供弹性作业能力。

2023-05-31 19:56:31 438

原创 基于 LoserTree 的 Paimon 多路归并优化

多路归并算法主要用于外排序,主要按照排序-归并的策略进行。当需要处理的数据量非常大,内存无法全量装入时,会将这些数据先组织为多个有序的子文件,然后再对这些子文件进行归并。在 Paimon 中,每个 RecordReader 已经是有序的,因此我们只需要进行归并流程操作。下面会主要对堆排序和 LoserTree 算法进行介绍,并对两者间的性能进行分析对比。2.1 堆排序堆排序是以堆作为排序的数据结构设计的算法。堆是一棵完全二叉树,根据父节点中存储的值是否都大于或小于子节点的值,又分为大根堆和小根堆。

2023-05-24 18:01:54 265

原创 喜讯!字节跳动基础架构计算团队两篇论文入选数据库顶会 VLDB

2023 年 8 月 28 日至 9 月 1 日,VLDB 2023 将在加拿大温哥华举行。字节跳动基础架构-实时引擎、流式计算团队研究成果分别被 VLDB 2023 接收,并受邀进行现场报告。

2023-05-18 14:58:37 324

原创 字节跳动正式开源分布式训练调度框架 Primus

Primus 整体架构整个 Primus 生命周期分为两阶段,提交阶段和执行阶段。提交阶段用户需要描述整个任务的训练资源,数据输入以及容错策略。训练资源包括需要的角色(如 PS,Worker 等)以及各角色所需的资源,包括其需要的 CPU、内存以及运行脚本、环境变量等。数据输入用于描述如何把数据提供给训练器。容错策略用于描述遇到错误时,Primus 需要进行的操作。

2023-04-26 16:32:14 249

原创 火山引擎发布流式计算 Flink 产品,助力构建大数据实时计算平台

大数据是企业数字化转型中,支撑企业经营和业绩增长的主要手段之一。而实时化、云原生化已经成为大数据技术发展的必然趋势。4月18日,火山引擎春季 FORCE 原动力大会在上海举办。在会上,火山引擎发布了云原生大数据实时计算平台产品——流式计算 Flink 版。脱胎于字节跳动在业界最大规模的实时计算集群实践,流式计算 Flink 产品在诸如实时 ETL、实时数仓/湖、实时机器学习、实时风控等场景中均有所探索,帮助客户构建云上增长新动力,助力业务敏捷创新。

2023-04-19 15:20:28 215

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除