首页 > 其他分享 >火山引擎 ByteHouse:TB 级数据下,如何实现高效、稳定的数据导入

火山引擎 ByteHouse:TB 级数据下,如何实现高效、稳定的数据导入

时间:2023-10-05 16:32:39浏览次数:38  
标签:数据 导入 实时 火山 引擎 ByteHouse TB

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群


近期,火山引擎开发者社区、火山引擎数智平台(VeDI)联合举办以《数智化转型背景下的火山引擎大数据技术揭秘》为主题的线下 Meeup。活动主要从数据分析、数据治理、研发提效等角度,带领数据领域从业者全面了解数智化转型背景下的火山引擎数据飞轮模式在数据资产建设上的技术与实践。其中,火山引擎 ByteHouse 产品专家受邀到现场,发表主题为《基于 ByteHouse 引擎的增强型数据导入技术实践》的分享。


数据导入是衡量 OLAP 引擎性能及易用性的重要标准之一,高效的数据导入能力能够加速数据实时处理和分析的效率。作为一款 OLAP 引擎,火山引擎云原生数据仓库 ByteHouse 源于开源 ClickHouse,在字节跳动多年打磨下,提供更丰富的能力和更强性能,能为用户带来极速分析体验,支撑实时数据分析和海量离线数据分析,具备便捷的弹性扩缩容能力,极致的分析性能和丰富的企业级特性。


随着 ByteHouse 内外部用户规模不断扩大, 越来越多用户对数据导入提出更高的要求,这也为 ByteHouse 的数据导入能力带来了更大的挑战。


从字节跳动内部来看,ByteHouse 主要以 Kafka 为实时导入的主要数据源。对于大部分内部用户而言,其数据体量偏大,用户更看重数据导入的性能、服务的稳定性以及导入能力的可扩展性。在数据延时性方面,用户的需求一般为秒级左右。


据火山引擎 ByteHouse 产品专家的介绍,基于以上场景和需求,ByteHouse 首先基于 ClickHouse 引擎进行升级,其次又针对数据导入能力进行一系列定制性优化,主要包括两个方面,第一为 MaterializedMySQL 增强;第二个是 HaKafka 引擎。


火山引擎 ByteHouse:TB 级数据下,如何实现高效、稳定的数据导入_数据导入

在引擎优化方面,在 TB 级数据量级下,ClickHouse 容易出现集群故障,还存在读性能较低、耗损内存的问题。针对这些痛点,ByteHouse 自研的 HaMergeTree 和 HaUniqueMergeTree 可以降低负载,确保集群在单节点故障下能平稳运行服务,还能平衡读写性能,保障读取时性能一致。


在数据导入能力的定制化优化方面,社区版 MaterializedMySQL 不支持分布式表等功能,也存在无法定位问题、无法同步状态等运维问题。一方面,通过构建分布式模式的 MaterializedMySQL 库,用户可将每个表都对应同步至 ByteHouse 的一个分布式表,让数据不重复存储,充分利用分布式集群的计算能力,又降低了对源端的同步压力。另一方面,ByteHouse 也提供可视化运维的功能,支持同步状态和任务管理,一旦出现系统运维故障,用户会收到异常警告。


而 HaKafka 引擎则是 ByteHouse 推出的一种特殊的表引擎,主要基于 ClickHouse 社区的 Kafka engine 进行了优化。用户可以通过一个 Kafka 消费表、分布式存储表、物化视图表,三元组实现数据消费、数据转换、数据写入功能。


火山引擎 ByteHouse:TB 级数据下,如何实现高效、稳定的数据导入_云原生_02


目前,以上能力已经在短视频、营销实时数据监控、游戏广告数据分析等领域落地。以营销实时数据监控为例,活动的主办方需要对营销活动效果进行实时监控,以便通过实时奖励发放来动态调整奖励流量分配,提升 ROI 收益。这类场景要求数据实时写入,对系统性能具备高要求 。另外,为保障奖励不会发放错误,也需要保证数据在传输和落盘时都不丢失、不重复,且稳定运行。


ByteHouse 基于自研 HaKafka 引擎,能支持流式数据实时入库, 用自研事务保障机制,确保数据精准一次传输,最后通过自研 Unique 引擎实现数据实时写入实时去重。在效果上实现实时写入、实时分析 30MB/s/node,业务可以根据不同用户群实时发放奖励,做到秒级延迟、秒级监控。


点击跳转 云原生数据仓库ByteHouse 了解更多


标签:数据,导入,实时,火山,引擎,ByteHouse,TB
From: https://blog.51cto.com/bytedata/7715070

相关文章

  • PLSQL 导入EXCEL数据
    导入前注意事项: 确认电脑的驱动安装,因之前PLSQL客户端安装的64位,而excel驱动安装的是32位,导致ODBC导入器一直无法显示对应的驱动信息,尝试安装64位excel驱动,但因与office版本有关,所以无法安装成功,后不得不变更PLSQL为32位,变更后驱动正常显示以下为安装步骤: 打......
  • 【VMware篇】5-ESXi导入、导出虚拟机和模板
    第1章、前言本文主要介绍封装系统导出为模板,以WindowsServer2019为例。第2章、导出系统为模板1、打开运行窗口输入“sysprep”点击确定。2、选中“sysprep”鼠标右键“以管理员身份运行”。3、勾选“通用”,关机选项选择“关机”,点击确定。4、选中server2019 鼠标右键选择“导出......
  • 火山引擎 ByteHouse 与白鲸开源完成兼容性认证,加速数据价值释放
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群数据作为新型生产要素,已快速融入生产、分配、流通、消费和社会服务管理等各环节,深刻改变着生产方式、生活方式和治理方式。越来越多企业也在尝试充分利用数据要素,开辟全新发展路径,进一步实现业务......
  • SAP ABAP 系统传输请求(Transport Request)导入到其他系统背后执行的逻辑
    在SAP系统中,当我们需要将一些更改从一个系统(例如开发系统)传输到另一个系统(例如测试系统)时,我们会使用TransportRequest。这是一种将配置、报告、表等从一个系统复制到另一个系统的机制。在我们的例子中,我们正在谈论的是一个Dynpro程序。Dynpro(动态程序)是SAP系统中的标准用......
  • consul 备份还原导入导出
    正文工作中要保证生产环境部署的consul的集群能够安全稳定地对外提供服务,即使出现系统故障也能快速恢复,这里将讲述部分的备份还原操作及KV的导入导出操作。备份与还原 配置文件、服务器状态需要备份的主要有两类数据:consul相关的配置文件、consul的服务器状态,采用下面的脚本备份......
  • linux系统中固化和更新uboot、zImage和dtb方法(经典)
      大家好,今天给大家介绍一下imx6ull固化和更新uboot、zImage和dtb方法总结,希望这篇文章对大家有所帮助。进行固化和更新的前提,uboot.imx、zImage、imx6ull.dtb和rootfs已经编译好,并且能成功启动和挂载。在讲解imx6ull固化和更新uboot、zImage和dtb方法之前,先带大家了解一些imx6u......
  • 火山引擎 ByteHouse:如何提升 18000 节点的 ClickHouse 可用性?
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群ClickHouse是业内被广泛使用的OLAP引擎。当集群规模过大时,ClickHouse则面临使用局限性的问题。如何提升ClickHouse的可用性,成为困扰广大开发者的难题之一。目前,字节跳动内部的ClickHouse......
  • 火山引擎 ByteHouse:如何提升 18000 节点的 ClickHouse 可用性?
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 ClickHouse是业内被广泛使用的OLAP引擎。当集群规模过大时,ClickHouse则面临使用局限性的问题。如何提升ClickHouse的可用性,成为困扰广大开发者的难题之一。 目前,字节跳动内部的Cl......
  • Flutter/Dart第07天:Dart基础语法详解(库、导入和关键字)
    Dart官网文档:https://dart.dev/language/libraries重要说明:本博客基于Dart官网文档,但并不是简单的对官网进行翻译,在覆盖核心功能情况下,我会根据个人研发经验,加入自己的一些扩展问题和场景验证。Dart中的库(Library)Dart语言对代码的复用下了不少功夫,如前面讲到的Mixin高级特性实......
  • htb-cozyhosting
    HTB-CozyHostinghttps://app.hackthebox.com/machines/CozyHosting──(kwkl㉿kwkl)-[~]└─$tail-l/etc/hosts1......