本文为您介绍如何迁移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表的数量线性增加,导致查询数据速度较慢。 |
数据类型 | 支持的数据类型如下:
| 仅支持基本类型 | |
性能 | 引擎 |
| 不涉及 |
资源 | 用户之间资源独立,查询操作性能稳定。 | 用户之间共享资源,查询数据时容易出现延时和性能波动。 |
操作步骤
迁移Lightning至Hologres进行数据开发的操作流程如下图所示。
开通Hologres实例。
迁移Lightning前,您需要开通Hologres实例,详情请参见购买Hologres实例。
说明Hologres实例与MaxCompute实例的地域必须保持一致。
成功开通实例后,您可以前往Hologres管理控制台查看实例信息。
新建数据库。
开通Hologres实例后,系统自动创建postgres数据库。该数据库分配到的资源较少,仅用于运维管理。您需要新建数据库来处理实际业务。
进入Hologres管理控制台,单击实例列表。
在实例列表列表,单击已购买的实例名称,进入实例详情页。
单击左侧菜单栏的数据库管理,进入DB授权页面。
单击新增数据库,输入数据库名称,简单权限策略选择SPM,单击确认。
连接开发工具。
成功新建数据库后,您需要连接Hologres实例至原有的开发工具。修改原Lightning服务的端口为对应Hologres实例的端口,网络地址使用公网地址。
进入Hologres管理控制台的实例详情页,从实例配置获取端口。
连接开发工具操作如下:
使用DataWorks开发数据,详情请参见DataWorks快速入门。
使用Psql客户端开发数据,详情请参见PSQL客户端。
使用JDBC开发数据,详情请参见JDBC。
使用HoloWeb开发数据,详情请参见连接HoloWeb并执行查询。
查询MaxCompute数据。
您可以通过新建外部表或导入MaxCompute数据至Hologres,加速查询MaxCompute的数据。操作如下:
新建外部表。
示例为使用HoloStudio新建外部表。
进入Hologres管理控制台,选择开通实例的地域,单击前往DataStudio。
进入HoloStudio开发界面,单击左侧菜单栏的PG管理,鼠标悬停至
图标,单击外部表。配置外部表参数,单击提交表。
参数名称
描述
Hologres数据库
当前连接的Hologres数据库名称。
表名
当前Hologres数据库的表名称。
类型
外部表的类型。
表
外部表的名称。
输入MaxCompute表名称后即可索引出当前MaxCompute表的字段,您可以根据需要选择查询部分或全部字段。详情请参见基于Foreign Table加速查询MaxCompute数据。

导入MaxCompute数据至Hologres。
如果您单次需要查询的MaxCompute表数据超过100 GB,建议您导入MaxCompute表数据至Hologres后再进行查询。详情请参见使用SQL从MaxCompute导入。
可选:授权子账号。
授权子账号使用Hologres,详情请参见RAM用户权限授权快速入门。
可视化分析数据。
您需要修改原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。