本文为您介绍如何迁移Lightning服务至交互式分析Hologres进行数据开发。

背景信息

Lightning是MaxCompute产品的交互式查询服务,支持使用PostgreSQL语句查询分析MaxCompute项目中的数据,快速获取查询结果。

Lightning采用公共集群,多用户之间共用资源。查询大量数据时,会出现性能波动和资源排队问题,并且耗时较长。Lightning不支持通过创建索引查询数据。您可以迁移Lightning服务至Hologres,避免上述问题。

Hologres是兼容PostgreSQL协议的实时交互式分析产品,具有如下优势:
  • 用户之间资源独立,查询操作互不干扰。
  • 与大数据生态无缝打通,支持高并发和低延时地分析处理PB级数据。
  • 在底层与MaxCompute资源无缝打通,支持使用新建外部表的方式加速查询MaxCompute数据。
  • 支持通过创建索引查询导入至Hologres的MaxCompute数据,性能相比开源系统大幅提升。
  • 提供JDBC/ODBC Driver,支持对接各种BI工具,多维分析数据。

对比Hologres与Lightning的产品特性

Hologres与Lightning的产品特性对比如下。
类别 对比项 Hologres Lightning
功能 支持的语法 PostgreSQL11 PostgreSQL8.2
是否支持使用内部表查询数据 支持 不支持
是否支持写入实时数据 支持 不支持
是否支持使用外部表查询数据 支持 支持
优化参数 是否支持定向调整参数 支持,例如您可以根据实际业务调整数据库或用户的相关参数。 不支持
实例连接开发工具的数量(QPS)。 随资源规模线性增加 固定为20个
内部表 是否支持使用DDL语句增加、修改或删除表 支持 不支持
是否支持更新数据 支持 不支持
是否支持实时写入实时数据 支持 不支持
外部表 加载Meta模块的速度 加载Meta模块的速度快,实现查询数据的响应速度达到毫秒级。 加载Meta模块的速度随MaxCompute表的数量线性增加,导致查询数据速度较慢。
数据类型 支持的数据类型如下:
  • 基本类型
  • Decimal2.0
  • Datetime
  • Array类型
仅支持基本类型
性能 引擎
  • 支持使用外部表加速查询数据。
  • 使用内部表查询数据的性能大幅优于开源系统。
不涉及
资源 用户之间资源独立,查询操作性能稳定。 用户之间共享资源,查询数据时容易出现延时和性能波动。

操作步骤

迁移Lightning至Hologres进行数据开发的操作流程如下图所示。全流程
  1. 开通Hologres实例。
    迁移Lightning前,您需要开通Hologres实例,详情请参见购买Hologres
    说明 Hologres实例与MaxCompute实例的地域必须保持一致。
    成功开通实例后,您可以前往Hologres管理控制台查看实例信息。
  2. 新建数据库。
    开通Hologres实例后,系统自动创建postgres数据库。该数据库分配到的资源较少,仅用于运维管理。您需要新建数据库来处理实际业务。
    1. 进入Hologres管理控制台,单击实例列表
    2. 实例列表列表,单击已购买的实例名称,进入实例详情页。
    3. 单击左侧菜单栏的数据库管理,进入DB授权页面。
    4. 单击新增数据库,输入数据库名称简单权限策略选择SPM,单击确认
  3. 连接开发工具。
    成功新建数据库后,您需要连接Hologres实例至原有的开发工具。修改原Lightning服务的端口为对应Hologres实例的端口,网络地址使用公网地址。
    进入Hologres管理控制台的实例详情页,从实例配置获取端口。
    连接开发工具操作如下:
  4. 查询MaxCompute数据。
    您可以通过新建外部表或导入MaxCompute数据至Hologres,加速查询MaxCompute的数据。操作如下:
    • 新建外部表。

      示例为使用HoloStudio新建外部表。

      1. 进入Hologres管理控制台,选择开通实例的地域,单击前往DataStudio
      2. 进入HoloStudio开发界面,单击左侧菜单栏的PG管理,鼠标悬停至新建图标,单击外部表
      3. 配置外部表参数,单击提交表
        参数名称 描述
        Hologres数据库 当前连接的Hologres数据库名称。
        表名 当前Hologres数据库的表名称。
        类型 外部表的类型。
        外部表的名称。
      输入MaxCompute表名称后即可索引出当前MaxCompute表的字段,您可以根据需要选择查询部分或全部字段。详情请参见通过创建外部表加速查询MaxCompute数据table
    • 导入MaxCompute数据至Hologres。

      如果您单次需要查询的MaxCompute表数据超过100 GB,建议您导入MaxCompute表数据至Hologres后再进行查询。详情请参见使用SQL导入MaxCompute的数据至Hologres

  5. 可选:授权子账号。
    授权子账号使用Hologres,详情请参见RAM用户权限授权快速入门
  6. 可视化分析数据。
    您需要修改原Lightning服务的端口为Hologres实例的端口,使用如下BI工具通过可视化方式分析数据:
    • 使用DataWorks数据服务分析数据,详情请参见DataWorks数据服务
    • 使用Tableau分析数据,详情请参见Tableau
    • 使用Quick BI分析数据,详情请参见Quick BI
    注意:

    对接BI等工具时,在链接信息处往往需要填写Schema信息。使用Lightning时,Schema处应填写MaxCompute的Project Name,但是迁移至Hologres后,需要填写创建外部表所对应的Schema名称。

    例如下图为Quick BI的数据源连接配置,其对应关系如下表所示。数据源连接配置
    参数 Lightning Hologres
    显示名称 自定义的显示名称。 自定义的显示名称。
    数据库地址 Lightning服务的Endpoint。 连接的Hologres实例的服务器地址。您可以登录管理控制台,进入实例详情页,从实例配置页面获取。
    端口 Lightning服务的端口。 连接的Hologres实例的端口。您可以登录管理控制台,进入实例详情页,从实例配置页面获取。
    数据库 MaxCompute的Project名称。 连接的Hologres实例的数据库名称。您可以登录管理控制台,进入实例详情页,从Database管理页面获取。
    Schema MaxCompute的Project名称。 默认为public Schema。您也可以使用新创建的Schema,在数据源配置了Schema后,列表中会展示当前Schema下所有的表。但是在使用即席SQL时,还需要在表名称前手动添加对应的Schema名(即schema.table),才能正确索引到Schema下面的表。
    用户名 具有当前数据库登录权限账号的AccessKey ID。您可以单击AccessKey 管理,获取AccessKey ID。 具有当前数据库登录权限账号的AccessKey ID。您可以单击AccessKey 管理,获取AccessKey ID。
    密码 具有当前数据库登录权限账号的AccessKey Secret。您可以单击AccessKey 管理,获取AccessKey Secret。 具有当前数据库登录权限账号的AccessKey Secret。您可以单击AccessKey 管理,获取AccessKey Secret。