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

作为云计算的下一个迭代,Serverless 可以使开发者更专注于构建产品中的应用,而无需考虑底层堆栈问题。伴随着近年来相关技术成熟度的增加,市场对 Serverless 的接受程度也变得越来越高。可以说时至今日,Serverless 已迈入了向成熟稳定方向发展的高速轨道。

作为一款火山引擎推出的云原生数据仓库,ByteHouse 基于开源 ClickHouse 构建,并在字节跳动内外部场景的检验下,对 OLAP 引擎能力、性能、运维、架构进一步升级。除此之外,ByteHouse 也在 Serverless 方向探索,基于 cloud-native 云原生的理念构建了全新一代的数据仓库,架构上进行了三层解耦,期望在 Serverless 的加持下,提供更稳定、可靠、可信的分析服务,让开发人员时间精力从基础设施运维优化上解放,更聚焦在核心业务功能中。

然而,在 OLAP 领域的 Serverless 技术实现上,仍然存在一些技术难点。

首先,OLAP 数据分析涉及到存储、网络、操作系统、数据库、AI 等 IT 领域几乎全栈的技术点,需要厂商做持续的、高成本的研发投入。而且这些投入短期内难见市场回报,一旦中途停顿则意味着前期的投入全都“打水漂”。

其次,虽然已经有几款商用的 Serverless 架构的数据仓库,但是其提供的算力规模很难支撑中大型规模的数据仓库或者分析平台的需求。也就是说,Serverless 架构的数据仓库还需要在算力上做进一步的提升。

最后,Serverless 的规模化应用还面临服务标准化的问题。没有标准化的规范会导致用户被平台锁定,无法实现应用的平移、无缝搬迁。因此,为了推动 Serverless 的规模化应用,需要有与之配套的标准和规范体系。

为了更好解决以上难点,火山引擎 ByteHouse 逐步向 Serverless 架构演进,并针对存储层、中间层以及云服务层进行三层架构解耦。

ByteHouse 向 Serverless 演进的技术架构

在存储层的设计中,ByteHouse 实现了 Serverless 化、弹性伸缩、容量无限扩展。为提升存算分离架构下的性能问题,ByteHouse 针对 HDFS 语义优化,让带宽仅增加 10%的情况下,延迟减少 3 倍,并在网络通信上, 采用连接复用、RDMA、传输压缩等技术,大幅缓解了网络放大问题。

在中间层,ByteHouse 通过按读写进行隔离、按应用类别进行隔离等方式实现负载隔离,在满足用户基本需求的情况下,实现架构逐步向 Serverless 演进。

在上层的 cloud services 云服务层,ByteHouse 提供集中化的 catalog 元数据服务、集群管理服务等,让元数据从计算层解耦,实现了无状态化,获得秒级的弹性伸缩和启停能力。

Serverless 在 OLAP 领域的应用依然面临一些挑战,但随着技术的不断演进和迭代,标准化的规范体系的建立和完善,ByteHouse 将持续探索和应用 Serverless 架构优势,为行业和用户提供更优质的数据分析服务。

点击跳转ByteHouse了解更多

当OLAP碰撞Serverless,看ByteHouse如何建设下一代云计算架构的更多相关文章

  1. Alink漫谈(二) : 从源码看机器学习平台Alink设计和架构

    Alink漫谈(二) : 从源码看机器学习平台Alink设计和架构 目录 Alink漫谈(二) : 从源码看机器学习平台Alink设计和架构 0x00 摘要 0x01 Alink设计原则 0x02 A ...

  2. Serverless 的开发者工具建设

    本文将介绍 Serverless 生态下的开发者工具,并简述这些工具是如何贯穿开发.调试.测试和部署的生命周期,提升开发者效率的. 由于 Serverless 平台具备弹性扩缩.免运维.按需付费等特点 ...

  3. 从华为“鸿蒙”备胎看IT项目建设

    别误会啊,本文并不在讲大家在做IT项目建设的时候学华为做一个备胎系统,以防正主系统崩掉之后能够及时替换到备胎系统里面,不影响业务. 前段时间华为被美帝制裁,然后各家组织对华为各种限制.然而华为整体布局 ...

  4. 看完这篇微服务架构设计思想,90%的Java程序员都收藏了

    本博客强烈推荐: Java电子书高清PDF集合免费下载 https://www.cnblogs.com/yuxiang1/p/12099324.html 微服务 软件架构是一个包含各种组织的系统组织, ...

  5. 从腾讯QQgame高性能服务器集群架构看“分而治之”与“自治”等分布式架构设计原则

    转载:http://space.itpub.net/17007506/viewspace-616852 腾讯QQGame游戏同时在线的玩家数量极其庞大,为了方便组织玩家组队游戏,腾讯设置了大量游戏室( ...

  6. 【云计算】docker前世今生

    下一代云计算模式:Docker正掀起个性化商业革命 作者: 吴宁川  来源: ITValue  发布时间: 2015-09-20 10:41  阅读: 12976 次  推荐: 24          ...

  7. 聚焦“云开发圆桌论坛”,大前端Serverless大佬们释放了这些讯号!

    4月14日,由云加社区举办的TVP&腾讯云技术交流日云开发专场,暨"腾讯云-云开发圆桌论坛"在北京.深圳两地同步举行. 当天下午,一场主题为"基于大前端和node ...

  8. Serverless 基本概念入门

    从行业趋势看,Serverless 是云计算必经的一场革命 2019 年,Serverless 被 Gartner 称为最有潜力的云计算技术发展方向,并被赋予是必然性的发展趋势.Serverless ...

  9. 暑期 2021 | Serverless Devs 最全项目申请攻略来啦!

    Serverless 是近年来云计算领域热门话题,凭借极致弹性.按量付费.降本提效等众多优势受到很多人的追捧,各云厂商也在不断地布局 Serverless 领域.但是随着时间的发展,Serverles ...

  10. 世纪联华的 Serverless 之路

    作者 | 朱鹏(旻苍) 来源 | Serverless 公众号 一.世纪联华超市简介 1. 公司简介 杭州联华华商集团有限公司成立于 2002 年 7 月,主要业务涵盖购物中心.大卖场.超市.便利店等 ...

随机推荐

  1. docker 分离engine和client

    背景 由于我个人电脑是2020款m1,16G,256G.一方面,平时除了运行多个浏览器,还有coding 编辑器等等,内存确实很紧张.其次呢,m1 是ARM的架构,所以构建的镜像是无法在X86的机器上 ...

  2. OpenGL 基础光照详解

    1. 光照 显示世界中,光照环境往往是相对复杂的.因为假设太阳作为世界的唯一光源,那么太阳光照在物体A上A将阳光进行反射后,A又做为一个新的光源共同作用于另一个物体B.所以于B来讲光源是复杂的.然而这 ...

  3. 格局决定结局,进化还是毁灭,Prompt在其中扮演什么角色

    GPT 时代, Prompt 的价值你们可能不懂 最近, OpenAI 推出了基于 GPT 模型的 GPTs 以及 Agent Stroe 系统,引发广泛关注.业内讨论热点主要集中在吸引用户体验方面. ...

  4. 解锁 ElasticJob 云原生实践的难题

    发生了什么 最近在逛 ElasticJob 官方社区时发现很多小伙伴都在头疼这个 ElasticJob 上云的问题,ElasticJob 本就号称分布式弹性任务调度框架,怎么在云原生环境就有了问题了呢 ...

  5. Java八股面试整理(4)

    34.遇到过异常吗,如何处理? 在Java中,可以按照如下三个步骤处理异常: 捕获异常 将业务代码包裹在try块内部,当业务代码中发生任何异常时,系统都会为此异常创建一个异常对象.创建异常对象之后,J ...

  6. DDD学习与感悟——总是觉得自己在CRUD怎么办?

    一.DDD是什么? DDD全名叫做Domins drives Design:领域驱动设计.再说的通俗一点就是:通过领域建模的方式来实现软件设计. 问题来了:什么是软件设计?为什么要进行软件设计? 软件 ...

  7. tryhackme进攻性渗透测试-Advanced Exploitation 高级利用

    Steel Mountain 侦察 Nmap -sC -sV -O $IP -oN basic_scan.nmap Nmap -script=vuln $IP -oN vuln_scan.nmap 总 ...

  8. Spring Framework系统架构

  9. ClickHouse(19)ClickHouse集成Hive表引擎详细解析

    目录 Hive集成表引擎 创建表 使用示例 如何使用HDFS文件系统的本地缓存 查询 ORC 输入格式的Hive 表 在 Hive 中建表 在 ClickHouse 中建表 查询 Parquest 输 ...

  10. 【Python】【OpenCV】轮廓检测

    Code: 1 import cv2 2 import numpy as np 3 4 img = np.zeros((200, 200), dtype=np.uint8) 5 img[50:150, ...