基于hologres搭建轻量OLAP分析平台解决方案评测

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
简介: 一文带你详细了解基于hologres搭建轻量OLAP分析平台解决方案的优与劣

这是解决方案评测的第七篇,也是开发者新版评测的第七篇。希望大家可以踊跃参加,把你最真实的体验感受和建议分享出来。可点击下方链接前往评测活动首页:

解决方案评测|基于hologres搭建轻量OLAP分析平台

解决方案评测|10 分钟构建 AI 客服并应用到网站、钉钉或微信中

解决方案评测|函数计算驱动多媒体文件处理

解决方案评测|Serverless高可用架构

解决方案评测|容器化管理云上应用

解决方案评测|通义万相AI绘画创作

解决方案评测|高效构建企业门户网站

方案速览

在经过了前几期评测活动完善后,当前的解决方案界面风格基本保持一致,方案整体更易读,针对性更强了。还是老惯例,放上整体方案界面一览。

image.png

从整体方案来看,依旧是从五个方面展开的,分别是方案优势、架构部署、应用场景、产品优惠、推荐方案。下面将逐个展开阐述。

方案优势

这一块内容一开始主要阐述的是复杂的OLAP场景带来一系列技术挑战,随后引出Hologres产品优势。除了方案中提到的这几个突出的挑战外,展开来实际上还有如下几个点:

  1. 技术栈复杂
    • 多组件集成:OLAP分析往往需要集成多种技术产品来支撑业务,如MySQL、CK(ClickHouse)、Doris等数据库和数据处理系统,这导致了组件繁多,增加了系统的复杂性和维护难度。
    • 统一管理困难:多种技术产品的使用使得数据管理和分析变得复杂,难以实现统一的数据管理和分析平台,增加了数据不一致的风险。
  2. 需求响应时间长
    • 灵活性不足:业务对OLAP分析的需求往往灵活多变,而复杂的技术栈难以快速响应这些变化,导致需求响应时间长。
    • 资源分配不均:在资源有限的情况下,复杂的技术栈可能无法高效地分配资源,以满足不同分析需求的优先级和时效性。
  3. 数据时效性低
    • 实时更新困难:传统的OLAP系统往往无法实时更新和写入数据,导致数据的时效性低,难以满足业务对实时数据分析的需求。
    • 复杂查询性能不佳:在大数据量的情况下,复杂查询的性能往往不佳,影响了数据分析的效率和准确性。
  4. 数据不一致性
    • 数据同步问题:在多源数据环境下,数据同步的准确性和及时性成为一大挑战,容易导致数据不一致的问题。
    • 数据质量问题:数据在传输和转换过程中可能出现错误或丢失,进一步加剧了数据不一致的风险。
  5. 成本和维护难度
    • 高昂成本:复杂的技术栈意味着更高的部署和维护成本,包括硬件、软件、人力等方面的投入。
    • 维护难度增加:多组件的集成和复杂的系统结构使得系统的维护和故障排查变得更加困难。

在方案的优势阐述上,非常好地用上了表格,直观清晰,一目了然。

image.png

架构部署

方案架构图通俗易懂

image.png

在部署方式上依旧提供了一键部署和手动部署两种方式。

image.png

应用场景

这块内容主要阐述的应用行业,实际上可以根据业务需求划分为如下几个场景:

  1. 实时数据分析
    • Hologres支持实时数据同步与查询,可以将来自各种数据源(如MySQL、PostgreSQL等)的数据实时同步到Hologres中,并支持对实时数据进行快速查询和分析,满足企业对数据时效性的高要求。
    • 实时数据分析场景包括但不限于在线广告点击分析、实时交易监控、实时用户行为分析等,这些场景要求系统能够快速响应并处理大量实时数据流。
  2. 多维度分析
    • Hologres提供多维分析能力,允许用户从多个角度对数据进行切片、切块、旋转等操作,从而揭示数据背后的复杂关系和趋势。
    • 多维度分析场景包括销售数据分析、用户画像构建、库存管理等,这些场景需要系统能够处理大量的历史数据,并支持复杂的查询和分析操作。
  3. 即席查询
    • 即席查询是指用户根据需要随时提出新的查询请求,系统能够快速响应并返回查询结果。Hologres凭借其高性能的查询能力,支持用户进行即席查询,提高数据分析的灵活性和效率。
    • 即席查询场景适用于数据分析师、业务人员等需要快速获取数据洞察的用户,他们可能需要根据不同的业务需求提出不同的查询请求。
  4. 在线服务
    • 除了数据分析,Hologres还可以作为在线服务的后端数据库,支持高并发的读写操作。通过将OLAP与在线服务相结合,企业可以实现数据的实时分析和实时反馈,提高业务决策的时效性和准确性。
    • 在线服务场景包括实时推荐系统、实时风控系统等,这些场景要求系统能够在高并发场景下保持稳定的性能和响应速度。
  5. 向量计算
    • Hologres支持向量计算,可以处理向量数据类型的存储和查询,满足机器学习、深度学习等应用场景的需求。
    • 向量计算场景包括特征向量的存储与检索、相似度计算等,这些场景在推荐系统、搜索引擎等领域具有广泛的应用。

产品优惠

针对本次解决方案涉及的产品罗列了购买链接以及试用链接,对于想要第一时间体验产品的开发者们来说还是非常方便的。

image.png

image.png

推荐方案

在这块内容阐述上突出列举了两个案例,分别是向量检索和数据湖仓的应用。如果你想了解更多技术解决方案,可点击该链接前往。技术解决方案

image.png

部署体验

通过上述速览,我们已经对方案的整体有了一个非常清晰的认识了,下面将按照方案架构部署部分来体验如何实现。

在正式开始部署体验前,有两个必要条件,第一就是拥有一个阿里云得账号(如果您还没有阿里云账号,请访问阿里云账号注册页面),第二就是确保账户余额大于等于100元(如果账号余额不足,请为阿里云账号充值)。满足了这两个条件后,接下来我们将通过ROS一键部署服务。

创建Hologres实例

单击一键部署,前往ROS编排页面。由于本次体验涉及的产品较多,而ROS将完成基础环境的一键部署,如专有网络VPC和交换机、Hologres实例。

选择地区为华东1(杭州),资源栈名称可自定义,也可以默认,点击下一步。

image.png

在信息确认界面,点击创建即可。

image.png

如果你是第一次使用,将弹出依赖检查,点击开通权限即可。

image.png

完成后,点击继续创建。

image.png

在创建过程中,可以通过事件或者资源标签查看创建进度。

image.png

image.png

大概经历2分钟后,实例已经完成创建。此时状态变为创建成功。

image.png

创建数据库和内部表

登录Hologres管理控制台,单击实例名称,在实例详情页,单击登录实例。

image.png

HoloWeb页面,点击数据库,弹出新建数据库窗口,填入数据库名称,其他参数默认。

image.png

选择SQL编辑器,然后单击新建临时Query查询。在临时Query页面,粘如如下SQL并运行。

-- 新建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;

image.png

部署DataWorks服务

进入DataWorks服务开通页,地域选择华东1(杭州)、基础版、按量付费,其他默认。

image.png

image.png

image.png

勾选服务协议,点击确认订单并支付。

image.png

校验通过后,点击下一步。

image.png

价格清单确认无误后,点击下一步创建订单。

image.png

在支付页面,点击支付即可。

image.png

当出现下图这个页面时,就表示DataWorks服务已成功创建。

image.png

配置实时同步任务

登录DataWorks控制台,在左侧导航栏,找到更多,点击管理中心。

image.png

选择左侧导航栏的\数据源\ > *数据源列表**,然后单击新建数据源*

image.png

分别新建一个Mysql数据源和一个Hologres数据源。首次新建需要获取RAM授权,点击去授权即可。

image.png

分别按下图所示输入必要信息,而后点击完成创建。

image.png

image.png

访问DataWorks数据集成页面。在同步任务页面,选择来源去向,单击开始创建

image.png

同步类型选择整库实时。

image.png

资源组选择上述步骤中创建的,占用的CU量配置为2 CU,数据来源和数据去向均选择上述创建的。

image.png

在测试连通性上之所以Mysql出现连通失败,是资源组默认不具备公网访问能力。所以这里我们还需要需要为VPC配置公网NAT网关并绑定弹性公网IP(EIP)。

登录专有网络管理控制台,点击左侧导航栏的NAT网关——公网NAT网关。

image.png

地域、专有网络、交换机均选择同DataWorks服务一致的。

image.png

访问模式选择择VPC全通模式(SNAT),选择新购弹性公网IP,并设置带宽峰值为1Mbps。

image.png

确认信息无误后,点击立即购买。当出现下图就表示成功创建。

image.png

此时我们回到刚才的新建同步任务页面,重新点击测试连通性,可以发现已经连通成功了。

image.png

点击下一步,开始配置要同步的库表和目标表映射。勾选MySQL中的github_public_event表,添加至已选库表中。

image.png

目标表映射区域,勾选对应表,单击批量刷新映射

image.png

目标Schema名目标表名修改为上述已创建Hologres内部表,然后单击完成配置

image.png

实时任务配置完成后,在任务列表页面,单击操作列中启动

image.png

单击同步任务名称,可以查看同步任务的详情以及进度。

image.png

全量初始化耗时较久,需要耐心等待。可以通过下图所示查看进度。

image.png

实时同步阶段同样耗时较长,可以通过下图所示查看进度。

image.png

image.png

image.png

image.png

数据验证

完成上述的同步任务后,访问HoloWeb SQL编辑器页面,运行如下SQL,即可查询今日最活跃项目。

SELECT
    repo_name,
    COUNT(*) AS events
FROM
    hologres_dataset_github_event.hologres_github_event
WHERE
    created_at >= CURRENT_DATE
GROUP BY
    repo_name
ORDER BY
    events DESC
LIMIT 5;

资源清理

在完成部署体验后,如果不再使用,请及时释放相关资源,否则Hologres与DataWorks资源将会持续运行产生费用。

  • 删除DataWorks资源组

登录DataWorks控制台,单击左侧导航栏的资源组,在对应资源更多中点击退订。

image.png

  • 删除DataWorks数据源及同步任务

登录DataWorks控制台,单击左侧导航栏的数据集成,在下拉框中选择对应工作空间后单击进入数据集成

image.png

数据源页面,勾选MySQLData和HologresData数据源,然后单击批量删除,按照界面提示删除同步任务。

image.png

同步任务页面,选择操作\更多\ > *删除***,按照界面提示删除同步任务。

image.png

  • 解绑并释放弹性公网IP

登录NAT网关管理控制台,选择\公网访问\ > *弹性公网IP**。在弹性公网IP页面,单击目标弹性公网IP实例操作列中选择强制释放*,并按照界面提示进行解绑。

image.png

公网NAT网关页面,单击目标NAT网关实例操作列中的删除,并按照界面提示进行删除NAT网关。

image.png

  • 删除专有网络VPC、交换机和Hologres实例

登录ROS控制台,在左侧导航栏,选择资源栈。在资源栈页面的顶部选择部署的资源栈所在地域,找到资源栈,然后在其右侧操作列,单击删除

image.png

如果你只想快速体验产品,除了一键部署和手动部署方式可选以往,还有一个非常经济实惠的方式可选择,那就是云起实验室。实验链接如下,点击前往

image.png

写在最后

问题反馈

1、在方案优势阐述中,用表格方式例举产品优势非常值得肯定,但由于表格占用区域过大,显得内容很空,需要优化表格间距,做到整体统一。

image.png

2、部署文档中存在两处错别字,分别出现在VPC公网NAT网关的部分,文档中写成了网管(可以猜想下编辑的小伙伴是不是干过网管工作)。

image.png

此外,部署文档中存在多处不太精准的描述。如下图:

image.png

image.png

image.png

image.png

image.png

3、整个部署耗时非常长,均花在了DataWorks的全量初始化和实时同步的任务上了,而文档中并没有针对此处的优化配置建议,实际上可以通过调大占用CU的量调减初始数据量来实现调优的。

体验总结

(一)

该方案内容提供了较为详细的技术细节,确保了用户能够基本理解方案的深层原理和实施方法。方案中详细描述了Hologres作为一站式实时数仓引擎的优势,包括其统一、实时、弹性、易用的特性,以及能够支持多维分析、即席分析、在线服务、向量计算等多种场景。此外,还介绍了DataWorks数据集成工具如何将多种数据库(如MySQL、PG等)的数据实时同步到Hologres中,构建了完整的OLAP分析平台。然而,在深入技术实现方面,如具体的数据同步逻辑、Hologres的内部架构原理、查询优化策略等,方案并未详细展开。这些对于希望深入了解并自定义方案的技术人员来说可能略显不足。

(二)

改进建议

  • 资源选择与配置:方案中虽然提供了推荐的资源规格,但对于不同业务规模和性能需求下的资源选择未给出详细指导。用户可能需要根据自身情况自行调整,这要求用户有一定的云产品使用经验。
  • 数据迁移策略:对于从其他数据库(如ClickHouse)迁移到Hologres的具体步骤和注意事项,方案描述较为笼统,可能需要用户自行查阅更多迁移文档或进行试错。
  • 性能调优:方案中没有提及性能调优的具体方法和步骤,这对于追求极致性能的用户来说可能是一个需要额外关注的点。
  • 实验数据过于庞大:作为轻量级上手实验不应该用如此庞大数据量,足足有910多万条,导致后面实时同步耗时太久,本来是省钱的一个体验,硬是被这数据量搞成了费钱的体验了。整个体验耗时近2小时,耗费36元。

image.png

(三)

代码示例:部署过程中提供的代码示例与链接前往的存在差异,虽然功能上所实现的效果是一样的,但作为部署文档不应存在不一致的情况。

异常情况:在按照方案提供的步骤进行部署时,我并未遇到明显的错误或异常情况。最让我吐糟的点就是数据量太大,需要耗费非常长的时间来进行实时同步,加大了部署体验的不确定性。

(四)

根据本方案进行部署,我认为它能够满足一般的数据分析需求,特别是对于那些希望快速搭建轻量级OLAP分析平台的用户。Hologres的卓越查询性能和多场景支持能力使得数据分析更加高效和灵活。

需要改进或补充的地方

  • 数据安全性与合规性:方案中对于数据在传输和存储过程中的安全性以及合规性(如GDPR、HIPAA等)提及较少,这对于一些对数据安全性有严格要求的企业来说可能是个关注点。
  • 扩展性与可定制性:方案在描述时主要聚焦于基础功能的实现,对于如何在后续根据业务需求进行扩展和定制(如自定义函数、插件开发等)的指引不足。
  • 性能调优工具与指南:提供一套完整的性能调优工具和指南,帮助用户根据自身业务特点进行性能优化,将进一步提升方案的实用性和竞争力。

如果你想获取视频类的资料,今年上新的云端问道栏目恰好有本次评测的产品内容,可点击如下链接前往学习。(建议关注该栏目更新,因为参加实操打卡可以获得小礼品

云端问道5期方案教学-基于Hologres轻量实时的高性能OLAP分析

基于Hologres轻量高性能OLAP分析陪跑班

image.png

目录
相关文章
|
17天前
|
弹性计算 人工智能 架构师
阿里云携手Altair共拓云上工业仿真新机遇
2024年9月12日,「2024 Altair 技术大会杭州站」成功召开,阿里云弹性计算产品运营与生态负责人何川,与Altair中国技术总监赵阳在会上联合发布了最新的“云上CAE一体机”。
阿里云携手Altair共拓云上工业仿真新机遇
|
13天前
|
机器学习/深度学习 算法 大数据
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
2024“华为杯”数学建模竞赛,对ABCDEF每个题进行详细的分析,涵盖风电场功率优化、WLAN网络吞吐量、磁性元件损耗建模、地理环境问题、高速公路应急车道启用和X射线脉冲星建模等多领域问题,解析了问题类型、专业和技能的需要。
2548 19
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
|
13天前
|
机器学习/深度学习 算法 数据可视化
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
2024年中国研究生数学建模竞赛C题聚焦磁性元件磁芯损耗建模。题目背景介绍了电能变换技术的发展与应用,强调磁性元件在功率变换器中的重要性。磁芯损耗受多种因素影响,现有模型难以精确预测。题目要求通过数据分析建立高精度磁芯损耗模型。具体任务包括励磁波形分类、修正斯坦麦茨方程、分析影响因素、构建预测模型及优化设计条件。涉及数据预处理、特征提取、机器学习及优化算法等技术。适合电气、材料、计算机等多个专业学生参与。
1543 16
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
|
9天前
|
存储 关系型数据库 分布式数据库
GraphRAG:基于PolarDB+通义千问+LangChain的知识图谱+大模型最佳实践
本文介绍了如何使用PolarDB、通义千问和LangChain搭建GraphRAG系统,结合知识图谱和向量检索提升问答质量。通过实例展示了单独使用向量检索和图检索的局限性,并通过图+向量联合搜索增强了问答准确性。PolarDB支持AGE图引擎和pgvector插件,实现图数据和向量数据的统一存储与检索,提升了RAG系统的性能和效果。
|
11天前
|
人工智能 IDE 程序员
期盼已久!通义灵码 AI 程序员开启邀测,全流程开发仅用几分钟
在云栖大会上,阿里云云原生应用平台负责人丁宇宣布,「通义灵码」完成全面升级,并正式发布 AI 程序员。
|
15天前
|
编解码 JSON 自然语言处理
通义千问重磅开源Qwen2.5,性能超越Llama
击败Meta,阿里Qwen2.5再登全球开源大模型王座
700 14
|
10天前
|
人工智能 开发框架 Java
重磅发布!AI 驱动的 Java 开发框架:Spring AI Alibaba
随着生成式 AI 的快速发展,基于 AI 开发框架构建 AI 应用的诉求迅速增长,涌现出了包括 LangChain、LlamaIndex 等开发框架,但大部分框架只提供了 Python 语言的实现。但这些开发框架对于国内习惯了 Spring 开发范式的 Java 开发者而言,并非十分友好和丝滑。因此,我们基于 Spring AI 发布并快速演进 Spring AI Alibaba,通过提供一种方便的 API 抽象,帮助 Java 开发者简化 AI 应用的开发。同时,提供了完整的开源配套,包括可观测、网关、消息队列、配置中心等。
529 6
|
3天前
|
Docker 容器
Docker操作 (五)
Docker操作 (五)
142 68
|
3天前
|
Docker 容器
Docker操作 (三)
Docker操作 (三)
133 69
|
15天前
|
人工智能 自动驾驶 机器人
吴泳铭:AI最大的想象力不在手机屏幕,而是改变物理世界
过去22个月,AI发展速度超过任何历史时期,但我们依然还处于AGI变革的早期。生成式AI最大的想象力,绝不是在手机屏幕上做一两个新的超级app,而是接管数字世界,改变物理世界。
565 49
吴泳铭:AI最大的想象力不在手机屏幕,而是改变物理世界

热门文章

最新文章

下一篇
无影云桌面