Hologres是阿里云自研一站式实时数仓,统一数据平台架构,支持海量结构化/半结构化数据的实时写入、实时更新、实时加工、实时分析,支持标准SQL(兼容PostgreSQL协议),无缝对接主流BI工具,支持OLAP查询、即席分析、在线服务、向量计算多个场景,分析性能打破TPC-H世界记录,与MaxCompute、Flink、DataWorks深度融合,提供离在线一体化全栈数仓解决方案。
DataWorks基于阿里云ODPS/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。作为阿里巴巴数据中台的建设者,DataWorks从2009年起不断沉淀阿里巴巴大数据建设方法论,同时与数万名政务/金融/零售/互联网/能源/制造等客户携手,助力产业数字化升级。
本方案基于阿里云实时数仓Hologres和DataWorks数据集成,通过简单的产品操作即可完成数据库RDS实时同步数据到Hologres,并通过Hologres强大的查询分析性能,完成一站式高性能的OLAP数据分析。
整体方案的体验手动部署如下:
1、创建专有网络VPC和交换机
为确保后续任务的网络连通,请务必保证Hologres与DataWorks资源组使用同⼀个VPC。
在创建专有网络页面,您可查看到创建的专有网络VPC和交换机的ID、实例名称等信息。
2、试用实时数仓Hologres。新用户可以有3个月免费试用期。
在实时数仓Hologres面板,根据如下参数说明进行配置,未提及的参数保持默认即可,单击立即试用。
大概需要5-10分钟,在实例列表页面,等待运行状态变为运行正常,即可正常使用。
3、开通DataWorks
创建工作空间列表。注意需要类似XXXX_123这种格式,即字母、数字、下划线都用到才可以。
在资源组列表页面,等待目标资源组的状态变为运行中,即可正常使用资源组。
4、创建公网NAT
首次使用NAT网关时,在创建公网NAT网关页面关联角色创建区域,单击创建关联角色。角色创建成功后即可创建NAT网关。
返回如下页面,表示您已创建成功,可以查看到创建的弹性公网IP、NAT网关等资源的资源ID。
5、创建Hologres表
在实例列表页面,但是实例ID。
在实例详情页面,单击登录实例,进入HoloWeb。
在顶部菜单栏中,单击SQL编辑器。
新建SQL查询
新建Hologres内部表。
将如下命令复制并粘贴至临时Query查询页签中,单击执行,创建Hologres内部表hologres_dataset_github_event.hologres_github_event,后续会将数据实时写入至该表中。
-- 新建schema用于创建内表并导入数据
CREATE SCHEMA IF NOT EXISTS hologres_dataset_github_event;
DROP TABLE IF EXISTS hologres_dataset_github_event.hologres_github_event;
BEGIN;
CREATE TABLE hologres_dataset_github_event.hologres_github_event (
id bigint PRIMARY KEY,
actor_id bigint,
actor_login text,
repo_id bigint,
repo_name text,
org_id bigint,
org_login text,
type text,
created_at timestamp with time zone NOT NULL,
action text,
commit_id text,
member_id bigint,
language text
);
CALL set_table_property ('hologres_dataset_github_event.hologres_github_event', 'distribution_key', 'id');
CALL set_table_property ('hologres_dataset_github_event.hologres_github_event', 'event_time_column', 'created_at');
CALL set_table_property ('hologres_dataset_github_event.hologres_github_event', 'clustering_key', 'created_at');
COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.id IS '事件ID';
COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.actor_id IS '事件发起⼈ID';
COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.actor_login IS '事件发起⼈登录名';
COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.repo_id IS 'repoID';
COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.repo_name IS 'repo名称';
COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.org_id IS 'repo所属组织ID';
COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.org_login IS 'repo所属组织名称';
COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.type IS '事件类型';
COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.created_at IS '事件发⽣时间';
COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.action IS '事件行为';
COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.commit_id IS '提交记录ID';
COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.member_id IS '成员ID';
COMMENT ON COLUMN hologres_dataset_github_event.hologres_github_event.language IS '编程语⾔';
COMMIT;
执行结束
6、实时同步数据至Hologres
在管理中心页面,在下拉框中选择默认⼯作空间,单击进入管理中心。
在左侧导航栏中,选择数据源 > 数据源列表。
创建MySQL数据源。
配置完成后,在连接配置区域,找到您创建的资源组,单击其右侧的测试连通性。
创建Hologres数据源。
创建实时同步任务。
在数据集成页面,在创建同步任务中,选择来源与去向数据源,单击开始创建。
来源:选择MySQL。去向:选择Hologres
在基本信息区域中,配置任务信息。 新任务名称:data_test。 同步类型:选择整库实时。
在网络与资源配置区域中,配置任务网络连通。
实时同步任务设置。在选择要同步的库表区域的源端库表中,勾选github_public_event表,然后右移。
在目标表映射区域,勾选github_public_event表,单击批量刷新映射。基于上述已创建的Hologres内部表,将目标Schema名改为hologres_dataset_github_event,目标表名改为hologres_github_event,单击完成配置。
在任务列表页面,单击启动。
在任务详情页面,您可查看到任务的执行情况,请耐心等待任务执行完成。
进度如下:
7、实时OLAP分析
返回至SQL编辑器·HoloWeb页签。在临时Query查询页签中,执行如下命令,查询实时更新的过去24小时GitHub最活跃项⽬。
SELECT
repo_name,
COUNT(*) AS events
FROM
hologres_dataset_github_event.hologres_github_event
WHERE
created_at >= now() - interval '1 day'
GROUP BY
repo_name
ORDER BY
events DESC
LIMIT 5;
查看同步的相关监控数据
8、清除资源
删除实时数仓Hologres。
删除实时同步任务、数据源、资源组和工作空间。
在数据集成页面,找到目标同步任务,单击其右侧操作列下的停止。
任务停止以后,选择其右侧操作列下的更多 > 删除。
在工作空间列表页面,找到目标工作空间,单击其右侧操作列下的管理。
在数据源页面,分别单击Hologre和MySQL数据源右侧操作列下的删除。
在DataWorks控制台左侧导航栏中,单击资源组列表,找到您创建的资源组
删除工作空间列表
删除公网NAT和弹性公网IP。
删除VPC及交换机。
9、体验总结
1)手动部署的需要操作配置的产品有VPC、NAT、RDA、Hologres、Dataworks,而一键部署就省去了很多繁琐的操作。
2)因为体验的数据量比较小,希望文档可以增加在大数据量迁移时的性能调优策略。
3)文档中针对Hologres中设置细粒度的访问控制和数据加密的说明较为简略,但生产环境中确保数据安全至关重要,建议增加这部分的详细说明。
4)在多用户或多部门共享平台时,如何进行多租户管理和资源隔离机制。
5)对于不同规模的数据和分析需求,如何更精细地控制成本(如存储计算分离、按需付费优化)缺乏具体指导。
本方案为搭建轻量OLAP分析平台提供了坚实的基础,但在大数量分析、多租户管理、成本优化及用户支持方面还有提升空间。通过针对性的改进和补充,可以更好地满足不同用户复杂多变的数据分析需求。