更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群
 
近期,火山引擎ByteHouse技术专家受邀参加DataFunCon2023(深圳站)活动,并以“火山引擎ByteHouse基于云原生架构的实时导入探索与实践”为题进行了技术分享。在分享中,火山引擎ByteHouse技术专家以Kafka和物化MySQL两种实时导入技术为例,介绍了ByteHouse的整体架构演进以及基于不同架构的实时导入技术实现。
 
随着企业降本增效、智能化数据决策需求的增强,传统的商业数据库已经难以满足和响应快速增长的业务诉求。在此背景下,云原生数据库成为大势所趋。云原生数据库基于云平台构建、部署和分发,具有高可用性、高性能、高可靠等特点,可以帮助企业更好地实现数据智能化决策。
 
火山引擎ByteHouse是基于开源ClickHouse进行技术优化和升级的一款云原生数据仓库。ClickHouse原有的分布式架构具有无中心多主节点以及存储方便的优势。但它也存在节点故障处理成本高、读写冲突、扩容成本高以及一致性欠缺等架构痛点。基于此,ByteHouse在社区分布式架构基础上,演进并开源了ClickHouse新型云原生架构。并且ByteHouse在新架构下也做了实时导入技术的设计与实现。
不同架构实时导入技术比较(Kafka)
 
据介绍,火山引擎ByteHouse云原生架构分为三层:第一层是云服务入口,负责承接所有的用户请求;第二层是执行层,主要负责查询和导入的功能,实现读写分离;第三层是数据存储层,支持多种云存储组件。在云原生架构下,ByteHouse不仅具有运维成本和门槛低的架构优势,还通过读写分离等手段解决了查询高峰导致导入停滞等问题,并且得益于架构优势引入了弹性扩缩容能力以及高可用性。
 
火山引擎ByteHouse云原生架构图
 
由于云原生架构的应用,面对字节跳动内部激增的业务量以及处理庞大数据量的需求,ByteHouse在实时导入技术方面进行了相应的优化升级。目前,ByteHouse以Kafka和物化MySQL作为实时导入的主要数据源。
 
在Kafka导入实现中,ByteHouse可以实现秒级数据延时和单表GiB级吞吐,支持绝大部分在线实时分析业务场景。相比社区版本,其优势在于高可用性和容错机制,并支持Exactly-Once消费语义,保证数据的可靠性和完整性。
 
物化MySQL是一种将MySQL数据库中的数据按库级别同步到ByteHouse中的能力,主要工作流程为基于MySQL数据库创建一个物化库引擎,该引擎初始化时从MySQL拉取指定库的所有存量数据,后续通过binlog同步回放的方式持续同步增量数据。其优势在于,不仅保证数据的一致性和完整性,还可以对数据实时分析和处理,提高处理的速度和效率。
 
目前,火山引擎ByteHouse云原生架构已经全面服务内、外部多种业务场景,实时导入已支持超过2500个服务节点,每天实时导入数据规模超过30PB。未来,火山引擎ByteHouse团队还将持续探索更通用的实时导入技术解决方案,进一步提升数据导入的性能和通用性。
 
点击跳转火山引擎ByteHouse了解更多
 
 

单日30PB量级!火山引擎ByteHouse云原生的数据导入这么做的更多相关文章

  1. 高性能、快响应!火山引擎 ByteHouse 物化视图功能及入门介绍

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 物化视图是指将视图的计算结果存储在数据库中的一种技术.当用户执行查询时,数据库会直接从已经预计算好的结果中获取数据 ...

  2. 火山引擎 DataLeap 的 Data Catalog 系统公有云实践

      Data Catalog 通过汇总技术和业务元数据,解决大数据生产者组织梳理数据.数据消费者找数和理解数的业务场景.本篇内容源自于火山引擎大数据研发治理套件 DataLeap 中的 Data Ca ...

  3. ByteHouse云数仓版查询性能优化和MySQL生态完善

    ByteHouse云数仓版是字节跳动数据平台团队在复用开源 ClickHouse runtime 的基础上,基于云原生架构重构设计,并新增和优化了大量功能.在字节内部,ByteHouse被广泛用于各类 ...

  4. 从 Spark 到 Kubernetes — MaxCompute 的云原生开源生态实践之路

    2019年5月14日,喜提浙江省科学技术进步一等奖的 MaxCompute 是阿里巴巴自研的 EB 级大数据计算平台.该平台依托阿里云飞天基础架构,是阿里巴巴在10年前做飞天系统的三大件之分布式计算部 ...

  5. JuiceFS 在火山引擎边缘计算的应用实践

    火山引擎边缘云是以云计算基础技术和边缘异构算力结合网络为基础,构建在边缘大规模基础设施之上的云计算服务,形成以边缘位置的计算.网络.存储.安全.智能为核心能力的新一代分布式云计算解决方案. 01- 边 ...

  6. 使用 Iceberg on Kubernetes 打造新一代云原生数据湖

    背景 大数据发展至今,按照 Google 2003年发布的<The Google File System>第一篇论文算起,已走过17个年头.可惜的是 Google 当时并没有开源其技术,& ...

  7. AI加持的阿里云飞天大数据平台技术揭秘

    摘要:2019云栖大会大数据&AI专场,阿里云智能计算平台事业部研究员关涛.资深专家徐晟来为我们分享<AI加持的阿里云飞天大数据平台技术揭秘>.本文主要讲了三大部分,一是原创技术优 ...

  8. 开放融合 | “引擎级”深度对接!POLARDB与SuperMap联合构建首个云原生时空平台

    阿里巴巴新一代自研云数据库POLARDB与超图软件SuperMap GIS实现 “引擎级”深度对接,构建了自治.弹性.高可用的云原生时空数据管理平台联合解决方案,推出了业界首个“云原生数据库+云原生G ...

  9. OpenKruise - 云原生应用自动化引擎正式开源

    2019 年 6 月 24 日至 26 日, 由 Cloud Native Computing Foundation (CNCF) 主办的云原生技术大会 KubeCon + CloudNativeCo ...

  10. waf 引擎 云原生平台tproxy 实现调研

    了解了基本 云原生架构,不清楚的查看之前的文章:https://www.cnblogs.com/codestack/p/13914134.html 现在来看看云原生平台tproxy waf引擎串联实现 ...

随机推荐

  1. 【Spring】AOP实现原理

    注册AOP代理创建器 在平时开发过程中,如果想开启AOP,一般会使用@EnableAspectJAutoProxy注解,这样在启动时,它会向Spring容器注册一个代理创建器用于创建代理对象,AOP使 ...

  2. MySQL锁:InnoDB行锁需要避免的坑

    前言 换了工作之后,接近半年没有发博客了(一直加班),emmmm.....今天好不容易有时间,记录下工作中遇到的一些问题,接下来应该重拾知识点了.因为新公司工作中MySQL库经常出现查询慢,锁等待,节 ...

  3. SVN分支与合并透析

    做法: 1.拉分支开发代码 2.开发完成后要和到主干去发布,这时候先把主干合并到分支,解决冲突 3.运行分支系统,看是否正确 4.再把该分支合并到主干 要知道分支分出去时的版本号,cmd打开命令行,使 ...

  4. Windows下SVN服务端(Subversion)及客户端(TortoiseSVN)详细安装教程

    1. Subversion和TortoiseSVN 是什么? http://www.uml.org.cn/pzgl/200811146.asp Subversion 是什么,我想如果不知道的话就没有必 ...

  5. 在NestJS应用程序中使用 Unleash 实现功能切换的指南

    前言 近年来,软件开发行业迅速发展,功能开关(Feature Toggle)成为了一种常见的开发实践.通过功能开关,可以在运行时动态地启用或禁用应用程序的特定功能,以提供更灵活的软件交付和配置管理.对 ...

  6. 标子查询优化和改写SQL案例

    京华开发一哥们找我优化条报表SQL,反馈执行时间很慢需要 18s 才能出结果,安排. -- 原SQL SELECT 2 AS TYPE, to_char(a."create_time&quo ...

  7. 你所不知道的ASP.NET Core进阶系列(三)

    前言 一年多没更新博客,上一次写此系列还是四年前,虽迟但到,没有承诺,主打随性,所以不存在断更,催更,哈哈,上一篇我们细究从请求到绑定详细原理,本篇则是探讨模型绑定细节,当一个问题产生到最终解决时,回 ...

  8. 自实现string类

    一. 环境 Linux x86_64,g++ 8.5.0 二. 实现 自实现 string 之前一直想写来着,一直拖着,现在把它完稿.这个版本是比较简单的版本,有一些可能有不同的或者更好的实现方式,后 ...

  9. preparedStatement.setString()方法

    PreparedStatement作用:PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程. 1.预编译sql语句,效率高 2.安全,避免sql注入 3 ...

  10. MySQL笔记01: MySQL入门_1.3 MySQL启动停止与登录

    1.3 MySQL启动停止与登录 1.3.1 MySQL启动与停止 MySQL数据库分为客户端和服务器端,只有服务器端服务开启以后,才可以通过客户端登录MySQL服务端. 首先,以管理员身份运行&qu ...