火山引擎正式发布企业版 ClickHouse——ByteHouse
ClickHouse 的发展
近十年以来,交互式分析领域百花齐放,大量解决方案随着大数据技术升级而涌现,但尚未有产品达到类似Oracle和MySQL一样在OLTP(Online Transaction Processing)领域中领先的地位。其中,ClickHouse作为一款PB量级的交互式分析数据库,最早是由号称"俄罗斯Google"的Yandex公司开发,并很快作为世界第二大网络引擎的流量分析平台Yandex.Metrica(同类产品包括Google Analytics、友盟统计)的核心查询引擎。
综合来说,ClickHouse作为交互式分析数据库,有几大明显优势:
多:大规模并行计算框架,超高吞吐的实时写入能力;
快:极致的查询性能,尤其是在大宽表为主体的数据模型中;
好:无侵入式架构,轻松集成到现有系统,可复用上下游数据开发工具;
省:充分利用硬件资源,以极低的成本分析海量数据;
DB-Engine上ClickHouse的排名趋势图
自2016年开源以来,ClickHouse凭借其数倍于其他顶尖交互式分析数据库的极致性能,成为该领域的后起之秀,发展速度非常迅猛。截止2021年8月份,ClickHouse已在Github上获得18.2K Star,DB-Engines排名近一年上升16位,并在国内获得字节跳动、快手、京东等互联网企业的生产级使用。
ClickHouse与字节跳动的故事
近年来,字节跳动旗下抖音、今日头条等产品的成长速度之快引人注目。事实上,承载着这些产品持续高速增长的关键所在,是背后的中台化技术底座。无论是在算法、AI还是数据分析等核心技术上,字节跳动在相关领域中一直保持着领先水平。
字节跳动:中台化的技术底座
其中字节跳动对ClickHouse的选型和使用也是如此,从2017年最早的用户行为分析场景开始,逐渐开始支持广告业务、用户增长、A/B测试、算法模型优化等大量内部场景,并演化成国内最大规模的ClickHouse使用者。
目前字节内部的ClickHouse节点总数超过1万5千个,管理总数据量超过600PB,最大的集群规模在2400余个节点。字节跳动内部广泛的业务增长分析很多都建立在ClickHouse为基础的查询引擎上。
在从0到15000节点的过程中,字节跳动的技术团队也遇到了很多开源ClickHouse的运维痛点和技术挑战。如多表关联查询、复杂嵌套子查询等复杂场景下,仍有性能不足、无法支持数据按条更新、实时数据写入的性能有限、集群扩展难度较高、运维复杂度高等问题。
对此,随着业务场景持续增多,字节ClickHouse技术团队通过自研的方式极大地丰富了ClickHouse可使用的场景,提高运维的人效,不仅解决了开源技术上手难和试错成本高的痛点,同时已经有足够能力来提供商业产品和企业级技术支持服务。
火山引擎正式发布ByteHouse
过去,与开源社区用户的交流中,经常听到的反馈是ClickHouse"上手容易,用好很难",或由于没有经验而"想用不敢用",这对于性能如此出众的存储引擎来说,不免遗憾。
现在,字节跳动旗下企业级技术服务平台火山引擎正式对外发布「ByteHouse」,为大家提供企业级技术支持服务。作为ClickHouse企业版,ByteHouse经过了字节跳动内部海量数据场景的打磨和极限的业务要求,更加符合企业高速增长诉求,其主要亮点如下:
分布式查询增强:支持星型模型等复杂的多表关联场景,进一步去除数据冗余和数据准备成本;
支持Upsert语义:既保留了ClickHouse高效的数据写入性能、又支持Upsert(update or insert)写入方式,帮助业务更简单地开发实时分析应用;
实时数据引擎:支持实时数据高效写入,支持exactly once语义,写入性能远超原生架构;
数据分级存储:冷热数据分级存储在HDFS和本地存储,自动化管理数据热度,自动转存不同存储,有效缓解业务存储空间持续增长的问题;
企业级运维工具:自助运维能力,包括配置下发、指标告警、集群健康度监控、查询任务诊断、集群负载管理等功能,极大提高了运维人效。
作为国内ClickHouse技术的多年深度实践者,ByteHouse现基于自研技术能力和超大规模使用经验,为更多的企业大数据团队带来新的选择和支持,以应对复杂多变的业务需求,高速增长的数据场景。未来,ByteHouse将不断以字节跳动和外部最佳实践输出给行业用户,帮助企业更好地构建交互式大数据分析平台,并更广泛的与ClickHouse研发者社群共享经验,共同推动ClickHouse社区的发展。
2022-05-06 12:05:28