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

近日,《火山引擎云原生数据仓库 ByteHouse 技术白皮书》正式发布。白皮书简述了 ByteHouse 基于 ClickHouse 引擎的发展历程,首次详细展现 ByteHouse 的整体架构设计及自研核心技术,为云原生数据仓库发展,及企业数字化转型实战运用提供最新的参考和启迪。

以下为 ByteHouse 技术白皮书【核心技术解析——元数据】版块摘录。

技术白皮书(Ⅰ)(Ⅱ)(Ⅲ)(Ⅳ)(Ⅴ)精彩回顾:

https://xie.infoq.cn/article/5c9471c7adb58e4bb43b69c4d

https://xie.infoq.cn/article/086b4e706965a6bd81f6a6ff2

https://xie.infoq.cn/article/a0dceef1588fe6c58247d3b37

https://xie.infoq.cn/article/9802a36beb0e82fd989991011

https://xie.infoq.cn/article/af5fc530f0d2ce7cbb8cefe5f

核心技术解析

元数据管理

元数据管理(Catalog Service)的功能主要是对读写请求的元数据进行读写操作。元数据服务是一个非常关键的服务,需要保证其自身的高可用和元数据的一致性,元数据服务的扩展性影响整个平台的扩展性,此外元数据读写的性能也影响整个读写过程的性能。

元数据管理需要重点考虑下面几个方面的问题,元数据的持久化,和利用缓存对元数据层的加速。

元数据持久化

元数据的持久化,可以有很多不同的存储后端可供选择,例如 KV 型数据库,传统数据库,New SQL。经过综合考虑,最后决定选择 KV 数据库,目前采用字节内部产品 ByteKV,外部开源的 FoundationDB 也是其他产品常见选择。

对于 KV 数据库里面需要存储的元数据信息主要有版本、统计信息、事务信息、数据的 Schema、Partition 信息、Part 的信息等。

元数据缓存

由于我们将 Part 级元数据存储在 ByteKV 中,因此在查询大数据范围时,是 KV 数据库的 Scan 操作,获取 Part 元数据的时间较长,且给 ByteKV 带来很重的负担。因此通过增加一个缓存层提高性能、降低负载。

因为 Insert/Select 语句会在任意的 Coordinator 节点上执行,为保证 Read-Commited 语义,需要确保不同 Coordinator 进程间一致的 元数据读取,采用

  1. Leader Selection 机制保证唯一的 Master

  2. Master 维护全局一致的拓扑图

  3. 所有 Coordinator 采用相同的选主机制保证每一张表有唯一的主节点

  4. 表的主节点维持 Cache 的有效性

点击链接,立即下载完整版白皮书

https://www.wjx.cn/vm/Ot0YJFq.aspx#

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

火山引擎云原生数据仓库 ByteHouse 技术白皮书 V1.0 (Ⅵ)的更多相关文章

  1. OpenFlow技术白皮书-V1.0

    1.  概述 OpenFlow是由斯坦福大学的Nick McKeown教授在2008年4月ACM Communications Review上发表的一篇论文OpenFlow: enabling inn ...

  2. 灵雀云CTO陈恺:从“鸿沟理论”看云原生,哪些技术能够跨越鸿沟?

    灵雀云CTO陈恺:从“鸿沟理论”看云原生,哪些技术能够跨越鸿沟? 历史进入2019年,放眼望去,今天的整个技术大环境和生态都发生了很大的变化.在己亥猪年春节刚刚过去的早春时节,我们来梳理和展望一下整个 ...

  3. 混部之殇-论云原生资源隔离技术之CPU隔离(一)

    作者 蒋彪,腾讯云高级工程师,10+年专注于操作系统相关技术,Linux内核资深发烧友.目前负责腾讯云原生OS的研发,以及OS/虚拟化的性能优化工作. 导语 混部,通常指在离线混部(也有离在线混部之说 ...

  4. [华三] IPv6技术白皮书(V1.00)

    IPv6技术白皮书(V1.00) http://www.h3c.com/cn/d_200802/605649_30003_0.htm H3C S7500E IPv6技术白皮书 关键词:IPv6,隧道 ...

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

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

  6. waf 引擎云原生调研---扫盲

    概念: lstio Istio是一个用于服务治理的开放平台 Istio是一个Service Mesh形态的用于服务治理的开放平台 Istio是一个与Kubernetes紧密结合的适用于云原生场景的Se ...

  7. NodeJS 基于 Dapr 构建云原生微服务应用,从 0 到 1 快速上手指南

    Dapr 是一个可移植的.事件驱动的运行时,它使任何开发人员能够轻松构建出弹性的.无状态和有状态的应用程序,并可运行在云平台或边缘计算中,它同时也支持多种编程语言和开发框架.Dapr 确保开发人员专注 ...

  8. 接口性能测试方案 白皮书 V1.0

    一. 性能测试术语解释 1. 响应时间 响应时间即从应用系统发出请求开始,到客户端接收到最后一个字节数据为止所消耗的时间.响应时间按软件的特点再可以细分,如对于一个 C/S 软件的响应时间可以细分为网 ...

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

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

  10. 技术分享 | 云原生多模型 NoSQL 概述

    作者 朱建平,TEG/云架构平台部/块与表格存储中心副总监.08年加入腾讯后,承担过对象存储.键值存储,先后负责过KV存储-TSSD.对象存储-TFS等多个存储平台. NoSQL 技术和行业背景 No ...

随机推荐

  1. [C++]STL - 队列(Queue) 栈(Stack) 链表(list)

    STL - 队列(Queue) 栈(Stack) 链表(list) Queue 队列 结构特征 这是一种线性储存结构 其数据有先进先出的特点 这种特点被称为FIFO(First In First Ou ...

  2. Postgresql——jsonb类型

    Postgresql Json 最近有个功能,需要用到 NoSQL 数据库.但是又不想因为这个小小的功能给系统增加一个 MongoDB 数据库,于是就想到了 Postgresql 支持 JSON 类型 ...

  3. JSX、TSX 整体理解

    可以少去理解一些不必要的概念,而多去思考为什么会有这样的东西,它解决了什么问题,或者它的运行机制是什么? JS JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web, ...

  4. 【GKCTF 2020】ez三剑客

    [GKCTF 2020]ez三剑客 收获 gopher协议SSRF 多利用github搜索已存在的函数漏洞 CMS审计的一些方法 1. ezweb 打开题目给了一个输入框,能够向输入的url发送htt ...

  5. 从0开始用Maven

    一.Maven的介绍即相关概念 Maven是一款构建和管理Java项目的工具,它将项目开发和管理过程抽象成一个项目对象模型(POM),提供了一种统一的项目结构. Maven官网 1.为什么使用Mave ...

  6. 在WPF应用中使用GongSolutions.WPF.DragDrop实现列表集合控件的拖动处理

    WPF应用中,控件本身也可以通过实现事件代码实现拖动的处理,不过如果我们使用GongSolutions.WPF.DragDrop来处理,事情会变得更加简单轻松,它支持很多控件的拖动处理,如ListBo ...

  7. 基于WPSOffice+Pywpsrpc构建Docker镜像,实现文档转换和在线预览服务

    背景 产品功能需要实现标准文档的在线预览功能,由于DOC文档没办法直接通过浏览器打开预览,需要提前转换为PDF文档或者HTML页面. 经过测试发现DOC转为HTML页面后文件提交较大,而且生成的静态资 ...

  8. serdes集成流程前端

    serdes是 IP中间比较大的复杂的一个.集成前需要进行准备工作,千万不要一上来就写代码,这样非容易越写越差,先要做好规划,与合入计划. 1.收到IP材料后,第一时间检查内容都有哪些资料可以学习,使 ...

  9. IoC入门案例

    1.管理什么?(Service和Dao) 2.如何将被管理的对象告知IoC容器?(配置) 3.被管理的对象交给IoC容器,如何获取IoC容器?(接口) 4.IoC容器得到后,如何从容器中获取到bean ...

  10. 新版本下如何通过外部网络访问wsl

    众所周知,wsl2是windows下的linux子系统,并且采用类似于虚拟机NAT的管理方式.一般情况下,外部网络很难直接访问到wsl上的服务,除非使用端口转发.而现在,微软更新了wsl 2.0.0, ...