您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[DataFunSummit2023:OLAP引擎架构峰会]:ByConity 对 ClickHouse 的存算分离实践 - 发现报告
当前位置:首页/行业研究/报告详情/

ByConity 对 ClickHouse 的存算分离实践

AI智能总结
查看更多
ByConity 对 ClickHouse 的存算分离实践

ByConity对ClickHouse的存算分离实践 ⾼⼤⽉-字节跳动-资深研发⼯程师 DataFunSummit#2023 03 ⽬录CONTENT 01ByConity研发背景 ByConity存算分离设计 02 04 ByConity介绍ByConity存算分离优化 01 ByConity研发背景 DataFunSummit#2023 ClickHouse架构 Shared-nothing+MPP架构 •Shard&Replica •计算存储紧耦合 •部署简单 •性能较好 •对等节点(nomaster) ClickHouse架构在字节遇到的问题 •扩缩容代价⾼ •读写互相影响 •多租户互相影响 •资源浪费/总成本⾼ 存算分离概览 •优势 -资源弹性与成本 •计算与存储资源独⽴扩缩容 -读写分离 •读写任务使⽤不同的计算组 -多租户隔离 •不同租户使⽤不同的计算组 •劣势 •远程数据读写带来的性能损耗 02 ByConity介绍 DataFunSummit#2023 ByConity是什么 •开源的云原⽣SQL数仓引擎 -弹性扩缩容 -读写分离 -多租户隔离 -⾼性能 -数据强⼀致 https://byconity.github.io/ ByConity时间线 •2018/01:ClickHouse开始在字节内部使⽤ •2020/01:启动ByConity研发 •2021/12:⽕⼭引擎发布ByteHouse云数仓版 •2022/05:启动ByConity开源 •2023/01:发布ByConityBeta •2023/05:发布ByConity0.1.0GA版本 https://www.volcengine.com/product/bytehouse ByConity架构 •服务接⼊层 -Server -TSO -元数据存储(FDB) -ResourceManager -DaemonManager •计算组(VirtualWarehouse) -Worker -DiskCache •云存储 -HDFS -S3 ByConity组件交互 03 ByConity存算分离设计 DataFunSummit#2023 元数据管理 •元数据对象 •库/表/视图定义 •DataPart,DeleteBitmap,etc •事务,Statistics,etc •KVStorage:⾼可⽤/⾼性能/持久化 •Part元信息缓存 •Table<->HostServer •Master负责维护全局⼀致的拓扑信息 存储格式 •每个Part对应⼀个⽂件 •⽂件内部保持按列存储 •PartName •partition_min_max_level_xid •min/max/xid从TSO分配 •Mutation •多版本实现 •PartChain 数据写⼊ •阶段⼀ •创建事务记录并写⼊KV •将数据⽂件的undo信息写⼊KV •将Part⽂件写⼊云存储 •将Part元数据写⼊KV •阶段⼆ •将事务记录CAS修改为Committed •异步清理 •设置Part的提交时间 •清理KV中的undo信息和事务记录 LocalDiskCache •使⽤Worker本地盘缓存热数据 •缓存策略:频次/preload •Bucket-LRU淘汰算法 •Part分配采⽤Cache-aware调度 •⼀致性哈希 •拓扑发⽣变化时,最⼩化 cache失效影响 •避免数据reshuffle 缓存粒度 •Segment •优势 •⼤⼩可配置 •适合⽂件存储 •劣势 •存储存在少量浪费 缓存流程 04 ByConity存算分离优化 DataFunSummit#2023 元数据缓存优化 •Performance •Fine-grainedlocking •Adaptivescanstrategy •Scan-wait-freemap •Memoryfootprint •ServerDataPart(PBwrapper) •Dictionaryencodinglargefields •Isolation •ServerVW 读写性能优化 •读取 -索引/Checksums本地缓存+并⾏加载 -Preloadmode •写⼊ -批量写⼊ -多线程并⾏写⼊ -Merge:prefetchinputfiles 云存储客户端优化(libhdfs3) •BlockLocationCache •PeerCache •FastSwitchRead •HedgeRead JointheCommunity! •Byte+Convert+Community •主⻚:byconity.github.io •微信公众号:ByConity •哔哩哔哩:ByConity 感谢观看

你可能感兴趣

hot

2 得物-StarRocks存算分离在得物的降本增效实践

信息技术
StarRocks 2024 年度技术峰会2024-12-17
hot

7 京东物流-存算分离StarRocks在京东物流的落地实践

交通运输
StarRocks 2024 年度技术峰会2024-12-17
hot

1 更快、更高、更强 StarRocks 存算分离最新进展.pdf

信息技术
StarRocks 2024 年度技术峰会2024-12-17