暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

PolarDB高并发资源适配及列索引最佳实践️

IT邦德 2024-01-20
292

文章目录



本文详细介绍了贯通高并发负载和资源适配的金桥以及列索引在企业进行实时分析中内存计算的最佳实践

1.什么是PolarDB

PolarDB是阿里巴巴自研的新一代云原生数据库,在计算存储分离架构下,利用了软硬件结合的优势,为用户提供具备极致弹性、高性能、海量存储、安全可靠的数据库服务。100%兼容MySQL和PostgreSQL生态,高度兼容Oracle语法。

PolarDB共有三个引擎,分别为PolarDB MySQL版、PolarDB PostgreSQL版、PolarDB分布式版。经过阿里巴巴多年双十一活动的最佳实践验证,让用户既享受到开源的生态灵活性,又获得商业云原生数据库的高性能和安全等企业级能力。

2、贯通高并发负载和资源适配的金桥

云原生数据库PolarDB MySQL版Serverless具有动态弹性升降资源的能力

2.1 Serverless极致弹性

规格动态调整

由于其规格随业务需求量随时调整,总体浪费的资源很少,提升了资源利用率,降低了资源使用量。

节省大量成本

打破固定资源付费模式,真正做到了负载与资源动态匹配的按量付费模式,可节省大量成本

提升运维管理

无需手动变配,在高峰期也能完全满足业务需求,保证业务不受损,提高了运维效率

弹性扩缩能力

对高吞吐写入场景和高并发业务场景进行了设计优化,同时提供了弹性扩缩能力,适合业务数据量大,并具有典型的业务访问波峰波谷场景

2.2 Serverless集群技术架构

1.业务用户购买的集群资源在业务波谷时期会被闲置,导致整体成本偏高。而在业务压力增长阶段,集群资源又应对不足。
2.Serverless数据库可以很好地解决这个问题。它能够使得数据库集群资源随客户业务负载动态弹性扩缩,将客户从复杂的业务资源评估和运维工作中解放出来。

1.Serverless Proxy为Serverless形态,Proxy资源独立于计算节点弹性扩缩无需用户选择。
2.主节点(RW节点)和只读节点(RO节点)全部为Serverless形态,随业务负载变化而弹性扩缩,并采用单可用区共享分布式存储。

2.3 Serverless应用评测

压测以4线程数开始,然后每30秒递增4线程数,直至32线程数;达到32线程数后,每30秒递减4线程数,直至4线程数,然后维持4线程数直到压测结束。
1)随着压测并发线程数的增加,集群主节点CPU使用率不断提升,触发了主节点PCU的弹升。主节点PCU数秒级完成弹升,并随着负载增加逐步弹升至15 PCU。
2)集群的TPS随着PCU的递增也逐渐上升,这说明PolarDB的处理能力借助Serverless弹性获得提升。

  1. 当压测并发线程数开始下降后,随着集群负载下降,集群主节点PCU数量先是稳定观望了一段时间,然后以0.5为步长逐步自动回缩。

3.列索引在企业进行实时分析中内存计算的最佳实践

3.1 In-Memory Column Index

PolarDB MySQL版重磅推出的列存索引(In-Memory Column Index,简称IMCI)面向OLAP场景大数据量复杂查询。通过列存索引,PolarDB MySQL版实现了一体化的实时事务处理和实时数据分析的能力,成为一站式HTAP数据库产品解决方案。通过一套数据库系统,即可满足业务的OLTP及OLAP需求.

100%兼容MySQL

列存具有与MySQL一致的数据类型系统,支持灵活的类型转换,100%兼容MySQL协议.

优秀的HTAP性能

PolarDB在OLTP方面本身具备良好性能。列存索引使其OLAP性能也与专用的OLAP数据库系统处于同一水平

行列混合存储降低成本

同时支持行存储和列存储两种格式,且实时保证行列的事务级一致。列存更具有低成本的优势。

3.2 列存索引特性功能架构

1.存储引擎:支持实时事务级别一致性的行列混合存储
2.执行算子:面向列存的向量化并行执行算子,支持极速的单表和多表查询
3.SQL Parser/优化器:面向行列混合存储的CBO优化器,可以根据代价自动选择行存或者列存执行查询请求

1.依托PolarDB基于列存索引提供的强大而灵活的计算能力,在PolarDB使用2.SQL来实现ETL功能依托PolarDB提供的海量数据存储能力,汇聚多个上游数据源.

3.3 列存索引性能评测

1.从执行时间上看,当切换至包含只读列存节点的Endpoint后,复杂查询自动由只读列存节点执行,执行时间大幅缩短,从23.73秒缩短至0.58秒
2.从执行计划上看,当切换至包含只读列存节点的Endpoint后,执行计划包含IMCI Execution Plan,即表示使用列存索引加速功能

1.列存索引对大多数的复杂查询操作都有加速作用,查询性能提升非常明显,甚至可达到百倍
2.与传统OLAP数据库ClickHouse相比:PolarDB MySQL版开启列存索引后,与ClickHouse性能相比各有优劣。

3.4 内存计算以及市场趋势
内存计算技术给不同行业带来的受益

保险业

通过实时定价分析,改进投资组合并降低成本

零售业

通过基本位置的实时分析
自动向客户发送个性化的移动优惠券

制造业

通过实时分析来监控生产质量,调整装配参数

金融服务

进行实时的跨渠道的风险欺诈分析、不仅限于欺诈事件发生后

4.总结

现在企业面临激烈的企业竞争,决策者已经不能接数据在数小时后提取经营决策的关键信息
PolarDB MySQL版引入列存索引来增强OLAP场景大数据量复杂查询的处理能力
PolarDB MySQL版实现了一体化的实时事务处理和实时数据分析的能力,成为一站式IMCI数据库产品解决方案

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论