本文介绍了如何免费体验PolarDB PostgreSQL版的一站式HTAP服务。
背景
PolarDB PostgreSQL版提供了一站式HTAP云服务,通过简单的SQL就可以将OLTP引擎的数据快速迁移到内置的OLAP存储和引擎上,内置的同步链路将会自动维持两份数据的一致性。常规的事务型查询可以继续在PolarDB PostgreSQL版的OLTP引擎上进行,分析型业务可以被路由到OLAP引擎上,由向量化执行引擎完成。被同步到OLAP引擎的数据范围可以通过执行SQL来动态扩大或缩小。
高性价比
传统方案中,若您想通过PolarDB实现HTAP,您需要额外购买分析型数据库(如云原生数据仓库 AnalyticDB PostgreSQL 版),并购买DTS服务实现数据同步,整体费用较高。
PolarDB PostgreSQL版一站式HTAP服务相比传统方案:
价格上:一站式HTAP服务整体方案成本可降低30%。
性能上:在复杂查询方面,一站式HTAP服务的查询性能最高可提升百倍。
数据一致性
PolarDB PostgreSQL版一站式HTAP服务实现了PolarDB和内置的OLAP存储和引擎之间的数据同步,保证了数据一致性。
维护成本低
PolarDB PostgreSQL版一站式HTAP服务配置简单,灵活易用。您无需配置其他数据同步工具,只需在PolarDB控制台简单配置,并通过简单的SQL语句,即可完成HTAP服务配置和数据同步。
阿里云提供了数据库解决方案功能体验馆,提供真实免费的PolarDB集群环境和开箱即用的测试方法,您可以在线快捷体验一站式HTAP服务带来的查询效率提升效果。
影响
本功能体验不涉及生产环境的部署,因此不会影响业务。
费用
本次体验中,由于体验涉及到的资源不归属于您,因此不会产生任何费用,您可以放心体验。
体验内容
体验环境
在本免费体验中,阿里云提供了预置环境供您操作体验,预置环境的详情如下:
集群:提供了一个PolarDB PostgreSQL版集群。具体如下:
内核版本: 100% 兼容 PostgreSQL 14
产品版本:标准版
集群规格:集群包含1个主节点(8核16 GB)和1个分析节点(8核32 GB)
存储类型: ESSD AutoPL云盘(预置IOPS: 0)
测试数据集:集群中预置了标准测试集TPC-H 50G的数据集。
观测指标
CPU占用率:集群中主节点的CPU使用率。单位:%。
查询耗时:执行特定SQL所耗费的时间。单位:秒。
操作步骤
进入瑶池解决方案体验馆。
单击核心功能体验,然后单击一站式HTAP功能体验的免费体验按钮,进入如下页面:
单击页面下方的创建免费体验任务按钮。
在配置任务对话框中,选择要执行的SQL,并单击确定,创建任务。
本体验中所使用的数据集为标准测试集TPC-H 50G的数据集。为了体现一站式HTAP功能在复杂查询方面的加速效果,我们选取了TPC-H标准测试中的三条复杂查询SQL供您选择:
Q2(最小代价供货商查询):带有排序、聚集操作、子查询并存的多表查询操作。
Q11(库存价值查询):带有分组、排序、聚集、子查询操作并存的多表连接查询操作。
Q16(零件/供货商关系查询):带有分组、排序、聚集、去重、NOT IN子查询操作并存的两表连接操作。
下文以Q2(最小代价供货商查询)为例进行介绍。
稍等片刻后,可以看到您创建的体验任务。
单击查看详情,进入实时查询体验页面,单击启动任务按钮。
首先体验主节点与分析节点实时数据同步这一特点。
说明请根据页面按钮提示,手动单击按钮执行每一步操作。若在倒计时结束时没有手动单击按钮,则会自动执行对应操作。
单击选择数据库,自动执行如下命令,切换至mydb数据库。
\c mydb ;
单击查看数据库中的表按钮,自动执行如下命令,查看数据库下的总数据量。
select tablename,pg_size_pretty(pg_relation_size(schemaname||'.'||tablename)) from pg_tables where tableowner='sa';
返回结果如下:
tablename | pg_size_pretty -----------+---------------- region | 8192 bytes nation | 8192 bytes supplier | 56 MB part | 964 MB customer | 844 MB partsupp | 4108 MB orders | 6124 MB lineitem | 26 GB (8 rows)
单击查询RW节点表数据量,自动执行如下命令:
select count(*) from my_table;
返回结果如下:
count ------- 181 (1 row)
可以看到,从RW节点查询,表数据量为181条。
单击表中插入一条数据,以验证数据同步,自动执行如下命令:
insert into my_table (name, age, email) values ('test',0,'just for test') ;
单击再次查看RW节点表数据量,自动执行如下命令:
select count(*) from my_table;
返回结果如下:
count ------- 182 (1 row)
可以看到,从RW节点查询,表数据量变为了182条。
单击HTAP查询,自动执行如下命令,开启HTAP功能:
SET polar_htap.enable_htap_query = ON;
单击查询AP节点表数据量,自动执行如下命令:
select count(*) from my_table;
返回结果如下:
count ------- 182 (1 row)
可以看到,此时表数据量也变为了182条。
接下来体验复杂查询SQL通过AP节点快速完成,不增加主节点资源消耗这一特点。
说明请根据页面按钮提示,手动单击按钮执行每一步操作。若在倒计时结束时没有手动单击按钮,则会自动执行对应操作。
整个体验过程中,您可以在左侧的趋势图中观测CPU占用率。
单击正常查询,自动执行如下命令,关闭HTAP功能:
SET polar_htap.enable_htap_query = OFF;
单击RW节点执行SQL,自动执行如下命令:
select s_acctbal, s_name, n_name, p_partkey, p_mfgr, s_address, s_phone, s_comment from part, supplier, partsupp, nation, region where p_partkey = ps_partkey and s_suppkey = ps_suppkey and p_size = 11 and p_type like '%STEEL' and s_nationkey = n_nationkey and n_regionkey = r_regionkey and r_name = 'AMERICA' and ps_supplycost = ( select min(ps_supplycost) from partsupp, supplier, nation, region where p_partkey = ps_partkey and s_suppkey = ps_suppkey and s_nationkey = n_nationkey and n_regionkey = r_regionkey and r_name = 'AMERICA' ) order by s_acctbal desc, n_name, s_name, p_partkey LIMIT 1;
等待SQL执行完成,此时您可以在左侧观测CPU占用率变化情况。
单击HTAP查询,自动执行如下命令,开启HTAP功能。
SET polar_htap.enable_htap_query = ON;
单击AP节点执行SQL,执行相同SQL:
select s_acctbal, s_name, n_name, p_partkey, p_mfgr, s_address, s_phone, s_comment from part, supplier, partsupp, nation, region where p_partkey = ps_partkey and s_suppkey = ps_suppkey and p_size = 11 and p_type like '%STEEL' and s_nationkey = n_nationkey and n_regionkey = r_regionkey and r_name = 'AMERICA' and ps_supplycost = ( select min(ps_supplycost) from partsupp, supplier, nation, region where p_partkey = ps_partkey and s_suppkey = ps_suppkey and s_nationkey = n_nationkey and n_regionkey = r_regionkey and r_name = 'AMERICA' ) order by s_acctbal desc, n_name, s_name, p_partkey LIMIT 1;
此时您可以继续观测在HTAP开启的情况下,执行相同SQL的CPU占用率的变化情况。
说明由于实时监控数据可能存在延迟,为了确保展示完整的CPU变化情况,趋势图中会在SQL执行完后,自动延长一定的监控时间(2~3秒)。
(可选)对于已创建的任务,您可以在IMCI页面,单击体验记录,在任务列表中,单击全部任务或我的任务,查看体验结果及其详情。
结果分析
主节点与分析节点实时数据同步
从以上体验可以看到:通过主节点新增的数据可以实时同步至AP节点,实现了PolarDB与内置OLAP存储和引擎之间的数据同步,保证了数据一致性。
复杂查询SQL通过AP节点快速完成,不增加主节点资源消耗
从以上体验可以看到:
在主节点执行复杂查询SQL,耗时长,且会占用主节点较多资源。
而开启HTAP后,复杂查询SQL自动由AP节点执行,耗时显著缩短,且不会增加主节点资源消耗,主节点资源占用率始终处于较低水位。