Databend 的算力可扩展性
作者:尚卓燃(PsiACE)
澳门科技大学在读硕士,Databend 研发工程师实习生
Apache OpenDAL(Incubating) Committer
对于大规模分布式数据处理系统,为了更好应对数据、流量、和复杂性的增长,需要对系统的可扩展性加以重视。可拓展性代表一种预期,即在现有软件和硬件水平无法满足工作负载的时候,通过扩展系统可以进一步满足工作负载的需要。
Databend 是一款现代化的云原生数据仓库,旨在通过弹性和可扩展的架构提供高效的数据分析能力。Databend 具有高效的资源利用能力和分布式扩展能力,可以解决传统数据仓库在处理大数据集时遇到的性能和可扩展性问题。
Databend Cloud 基于开源的 Databend 发展而来,能够帮助您托管 Databend 实例,并提供 Serverless 的部署模式,不仅可以降低成本,还可以提高系统的弹性和可靠性。Databend Cloud 将廉价的云存储作为主要存储,并提供快捷高效的分析性能,已帮助很多客户实现了数仓、行为日志等场景的降本增效,并广受好评。通过使用 Databend Cloud,用户可以轻松构建低成本、高性能的数据仓库,并专注于分析而非基础架构的维护。
可扩展性概念与因素
系统的可扩展性涉及到多个维度,除了系统本身的管理的资源、软件设计的优化和数据与计算的有效管理之外,还包括系统需要处理的数据量、用户数量、查询复杂性等。
可扩展性与系统性能
线性可扩展性意味着资源的增加能够直接转化为系统性能的提升。线性可扩展性隐含的保证是当工作负载扩大一倍时,系统的计算资源(如CPU、内存、存储等)也扩大一倍,算力变为原来的两倍,从而获得与之前相当的处理速度。
可扩展性背后的数学
但是,除非系统完全无状态,否则只能将其扩展到通用可扩展性定律(Universal Scalibility Law,红色线条)所描述的程度,之后即便添加更多资源,最终也只会因为并发、争用和相关性延迟导致系统整体性能降低。
即使在几乎不存在相关性延迟并且充分并行化的最佳情况下,最终也会受到阿姆达尔定律(Amdahl’ Law,绿色线条)的限制,这仍然无法达到线性可扩展性。
毫无疑问线性可扩展性(蓝色线条)只是理想情况下的表述。 在 Contention, Coherency, and Math Behind Software (上面图片的出处)一文中介绍了可扩展性背后的一些数学,也推荐大家阅读。
水平扩展和垂直扩展
两种常见的扩展方式是垂直扩展和水平扩展:
- 垂直扩展(纵向扩展)则是提高单个节点的能力,如升级硬件或改善系统架构。
- 水平扩展(横向扩展)指的是增加更多节点到现有的系统集群中,例如添加更多的服务器。
垂直扩展是改善系统性能的一个有效方式,但是垂直扩展面临着一个致命不足:单机性能总是有极限的。由于单机往往不能胜任大数据分析的需要,所以相关系统通常会强调架构各层的水平可扩展性以及水平扩展带来的性能增长。
Databend 的架构可扩展性
Databend 的架构设计考虑了可扩展性的多个方面,使其在云环境中能够灵活地扩展资源和处理能力。
Share-Nothing V.S. Share-Storage
传统数仓往往采用 Share-Nothing 架构,存储、计算一体化设计,弹性相对较弱。而且由于调度上采用资源固定(Fixed-Set)式调度策略,资源控制粒度粗,也会带来更多的成本消耗。Databend 使用共享存储架构(Share-Storage),底层可以使用对象存储,真正做到存储、计算分离,资源控制粒度更细。计算节点可以根据需求弹性扩展,而不受存储容量的限制。
Databend 架构全景图
得益于列式存储模型和向量化计算,Databend 可以充分利用现代硬件系统的潜力;此外,Databend 还对数据存储格式、数据缓存、和系统吞吐量进行了充分优化,以达到性能的最佳释放。
由于采用共享存储的架构,并且 Query 节点采用无状态设计,只在 Meta 节点保留必要的状态信息,使得 Query 节点能够轻松支持实时弹性扩容和缩容以及资源按需(Workload-Based)式调度。计算资源可以根据实际的工作负载自动扩展,提供按需计算能力,这进一步提高了系统的可扩展性和资源的使用效率。
### 性能评估:Databend Cloud 的算力可扩展性
为了评估 Databend 的性能和可扩展性,可以运行 TPC-H 基准测试。TPC-H是一套针对数据库决策支持能力的测试基准,通过模拟数据库中与业务相关的复杂查询和并行的数据修改操作考察数据库的综合处理能力。
通过在 Databend Cloud上针对不同计算集群规模进行 TPC-H 查询的性能测试,我们可以观察到系统扩展资源时的性能变化。这些结果可以帮助我们了解在增加计算节点(水平扩展)和/或升级现有节点(垂直扩展)时,Databend 的查询处理能力如何改变。
使用 BendSQL 执行 TPC-H Q1
下面的数据展现了 Databend Cloud 上不同规模实例在执行 TPC-H 测试 Q1 时的性能变化。其中 XSmall 和 Small 都是单计算实例,对应垂直扩展模型;而从 Small 到 Large 的计算实例数量不断增长,对应水平扩展模型。
Instance Type | vCPUs | Compute Instances | Rows Read (Avg) | Time (Avg) | Rows Processed | Data Processed | Rows/s (Avg) | Data/s (Avg) |
---|---|---|---|---|---|---|---|---|
XSmall | 8 | 1 | 4 | 14.109 sec | 591.6 million | 45.18 GiB | 41.93 million | 3.20 GiB |
XSmall | 8 | 1 | 4 | 13.676 sec | 591.6 million | 45.18 GiB | 43.26 million | 3.30 GiB |
XSmall | 8 | 1 | 4 | 13.799 sec | 591.6 million | 45.18 GiB | 42.87 million | 3.27 GiB |
Small | 16 | 1 | 4 | 13.241 sec | 591.6 million | 45.18 GiB | 44.68 million | 3.41 GiB |
Small | 16 | 1 | 4 | 11.571 sec | 591.6 million | 45.18 GiB | 51.13 million | 3.90 GiB |
Small | 16 | 1 | 4 | 11.734 sec | 591.6 million | 45.18 GiB | 50.42 million | 3.85 GiB |
Medium | 32 | 2 | 4 | 9.392 sec | 591.6 million | 45.18 GiB | 62.99 million | 4.81 GiB |
Medium | 32 | 2 | 4 | 8.279 sec | 591.6 million | 45.18 GiB | 71.46 million | 5.46 GiB |
Medium | 32 | 2 | 4 | 8.341 sec | 591.6 million | 45.18 GiB | 70.93 million | 5.42 GiB |
Large | 64 | 4 | 4 | 8.536 sec | 591.6 million | 45.18 GiB | 69.31 million | 5.29 GiB |
Large | 64 | 4 | 4 | 7.096 sec | 591.6 million | 45.18 GiB | 83.37 million | 6.37 GiB |
Large | 64 | 4 | 4 | 7.841 sec | 591.6 million | 45.18 GiB | 75.45 million | 5.76 GiB |
XLarge | 128 | 8 | 4 | 7.123 sec | 591.6 million | 45.18 GiB | 83.05 million | 6.34 GiB |
XLarge | 128 | 8 | 4 | 5.753 sec | 591.6 million | 45.18 GiB | 102.83 million | 7.85 GiB |
XLarge | 128 | 8 | 4 | 5.767 sec | 591.6 million | 45.18 GiB | 102.59 million | 7.83 GiB |
可以看到,随着系统规模的扩大,查询响应时间缩短,而处理吞吐量也随之增加。这些测试结果直观展示了不同规模的 Databend Cloud 在同一工作负载下的处理能力变化。
Databend 的设计哲学、架构以及 Databend Cloud 的性能表现,体现了其作为一款现代大规模分布式数据处理系统的算力可扩展性。
除了私有化部署 Databend 和使用 Databend Cloud 之外,我们也提供混合云支持。可以帮助用户实现适应规模和成本的算力最大化调度,为未来数据处理需求的多样性和不断增长的挑战提供最佳应对方案。
关于 Databend
Databend 是一款开源、弹性、低成本,基于对象存储也可以做实时分析的新式数仓。期待您的关注,一起探索云原生数仓解决方案,打造新一代开源 Data Cloud。
👨💻 Databend Cloud:https://databend.cn
📖 Databend 文档:https://docs.databend.cn/
💻 Wechat:Databend

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
通义千问 Qwen-72B-Chat 大模型在PAI平台的微调实践
通义千问-72B(Qwen-72B)是阿里云研发的通义千问大模型系列的720亿参数规模的大语言模型,在2023年11月正式开源。Qwen-72B的预训练数据类型多样、覆盖广泛,包括大量网络文本、专业书籍、代码等。Qwen-72B-Chat是在Qwen-72B的基础上,使用对齐机制打造的基于大语言模型的AI助手。 阿里云人工智能平台PAI是面向开发者和企业的机器学习/深度学习平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务。 本文将以Qwen-72B-Chat为例,介绍如何在PAI平台的快速开始PAI-QuickStart和交互式建模工具PAI-DSW中高效微调千问大模型。 使用PAI-DSW快速体验和轻量化微调Qwen-72B-Chat PAI-DSW是云端机器学习开发IDE,为用户提供交互式编程环境,同时提供了丰富的计算资源。Qwen-72B-Chat的教程可以在智码实验室(https://gallery.pai-ml.com/)Notebook Gallery中检索到,参见下图: 上述Notebook可以使用阿里云PAI-DSW的实例打开,并且...
- 下一篇
Semi Design v2.50.1 发布,抖音企业级 UI 库
Semi Design 是现代、全面、灵活的设计系统和 UI 库,由字节跳动抖音前端与 UED 团队设计、开发并维护,是一款包含设计语言、React 组件、主题等开箱即用的中后台解决方案,可用于快速搭建美观的 React 应用。 Semi Design v2.50.1 现已发布,此版本带来如下更新内容: 【Fix】 修复 Tree 在支持 showLine 后, renderFullLabel 时缩进错误问题(影响范围:v2.50.0)#2007 修复 Tree 在支持 showLine 后, rtl 模式下连接线和选项文字部分重合问题(影响范围:v2.50.0)#2007 【Style】 修复 BreadCrumb 中 active 项 font-weight 错误问题 (影响范围 v2.47-2.50)#2008 更新说明:https://github.com/DouyinFE/semi-design/releases/tag/v2.50.1
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程