免费体验PolarDB PostgreSQL一站式HTAP服务

本文介绍了如何免费体验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所耗费的时间。单位:秒。

操作步骤

  1. 进入瑶池解决方案体验馆

  2. 单击核心功能体验,然后单击一站式HTAP功能体验免费体验按钮,进入如下页面:

    image

  3. 单击页面下方的创建免费体验任务按钮。

  4. 配置任务对话框中,选择要执行的SQL,并单击确定,创建任务。

    image

    本体验中所使用的数据集为标准测试集TPC-H 50G的数据集。为了体现一站式HTAP功能在复杂查询方面的加速效果,我们选取了TPC-H标准测试中的三条复杂查询SQL供您选择:

    • Q2(最小代价供货商查询):带有排序、聚集操作、子查询并存的多表查询操作。

    • Q11(库存价值查询):带有分组、排序、聚集、子查询操作并存的多表连接查询操作。

    • Q16(零件/供货商关系查询):带有分组、排序、聚集、去重、NOT IN子查询操作并存的两表连接操作。

    下文以Q2(最小代价供货商查询)为例进行介绍。

  5. 稍等片刻后,可以看到您创建的体验任务。

    image

  6. 单击查看详情,进入实时查询体验页面,单击启动任务按钮。

  7. 首先体验主节点与分析节点实时数据同步这一特点。

    说明

    请根据页面按钮提示,手动单击按钮执行每一步操作。若在倒计时结束时没有手动单击按钮,则会自动执行对应操作。

    1. 单击选择数据库,自动执行如下命令,切换至mydb数据库。

      \c mydb ;
    2. 单击查看数据库中的表按钮,自动执行如下命令,查看数据库下的总数据量。

      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)
    3. 单击查询RW节点表数据量,自动执行如下命令:

      select count(*) from my_table;

      返回结果如下:

       count 
      -------
         181
      (1 row)

      可以看到,从RW节点查询,表数据量为181条。

    4. 单击表中插入一条数据,以验证数据同步,自动执行如下命令:

      insert into my_table (name, age, email) values ('test',0,'just for test') ;
    5. 单击再次查看RW节点表数据量,自动执行如下命令:

      select count(*) from my_table;

      返回结果如下:

       count 
      -------
          182
      (1 row)

      可以看到,从RW节点查询,表数据量变为了182条。

    6. 单击HTAP查询,自动执行如下命令,开启HTAP功能:

      SET polar_htap.enable_htap_query = ON;
    7. 单击查询AP节点表数据量,自动执行如下命令:

      select count(*) from my_table;

      返回结果如下:

       count 
      -------
          182
      (1 row)

      可以看到,此时表数据量也变为了182条。

  8. 接下来体验复杂查询SQL通过AP节点快速完成,不增加主节点资源消耗这一特点。

    说明
    • 请根据页面按钮提示,手动单击按钮执行每一步操作。若在倒计时结束时没有手动单击按钮,则会自动执行对应操作。

    • 整个体验过程中,您可以在左侧的趋势图中观测CPU占用率。

    1. 单击正常查询,自动执行如下命令,关闭HTAP功能:

      SET polar_htap.enable_htap_query = OFF;
    2. 单击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占用率变化情况。

    3. 单击HTAP查询,自动执行如下命令,开启HTAP功能。

      SET polar_htap.enable_htap_query = ON;
    4. 单击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秒)。

  9. (可选)对于已创建的任务,您可以在IMCI页面,单击体验记录,在任务列表中,单击全部任务我的任务,查看体验结果及其详情。

结果分析

主节点与分析节点实时数据同步

从以上体验可以看到:通过主节点新增的数据可以实时同步至AP节点,实现了PolarDB与内置OLAP存储和引擎之间的数据同步,保证了数据一致性。

复杂查询SQL通过AP节点快速完成,不增加主节点资源消耗

从以上体验可以看到:

  • 在主节点执行复杂查询SQL,耗时长,且会占用主节点较多资源。

  • 而开启HTAP后,复杂查询SQL自动由AP节点执行,耗时显著缩短,且不会增加主节点资源消耗,主节点资源占用率始终处于较低水位。

image

相关内容

一站式HTAP服务