这是解决方案评测的第七篇,也是开发者新版评测的第七篇。希望大家可以踊跃参加,把你最真实的体验感受和建议分享出来。可点击下方链接前往评测活动首页:
解决方案评测|10 分钟构建 AI 客服并应用到网站、钉钉或微信中
方案速览
在经过了前几期评测活动完善后,当前的解决方案界面风格基本保持一致,方案整体更易读,针对性更强了。还是老惯例,放上整体方案界面一览。
从整体方案来看,依旧是从五个方面展开的,分别是方案优势、架构部署、应用场景、产品优惠、推荐方案。下面将逐个展开阐述。
方案优势
这一块内容一开始主要阐述的是复杂的OLAP场景带来一系列技术挑战,随后引出Hologres产品优势。除了方案中提到的这几个突出的挑战外,展开来实际上还有如下几个点:
- 技术栈复杂
- 多组件集成:OLAP分析往往需要集成多种技术产品来支撑业务,如MySQL、CK(ClickHouse)、Doris等数据库和数据处理系统,这导致了组件繁多,增加了系统的复杂性和维护难度。
- 统一管理困难:多种技术产品的使用使得数据管理和分析变得复杂,难以实现统一的数据管理和分析平台,增加了数据不一致的风险。
- 需求响应时间长
- 灵活性不足:业务对OLAP分析的需求往往灵活多变,而复杂的技术栈难以快速响应这些变化,导致需求响应时间长。
- 资源分配不均:在资源有限的情况下,复杂的技术栈可能无法高效地分配资源,以满足不同分析需求的优先级和时效性。
- 数据时效性低
- 实时更新困难:传统的OLAP系统往往无法实时更新和写入数据,导致数据的时效性低,难以满足业务对实时数据分析的需求。
- 复杂查询性能不佳:在大数据量的情况下,复杂查询的性能往往不佳,影响了数据分析的效率和准确性。
- 数据不一致性
- 数据同步问题:在多源数据环境下,数据同步的准确性和及时性成为一大挑战,容易导致数据不一致的问题。
- 数据质量问题:数据在传输和转换过程中可能出现错误或丢失,进一步加剧了数据不一致的风险。
- 成本和维护难度
- 高昂成本:复杂的技术栈意味着更高的部署和维护成本,包括硬件、软件、人力等方面的投入。
- 维护难度增加:多组件的集成和复杂的系统结构使得系统的维护和故障排查变得更加困难。
在方案的优势阐述上,非常好地用上了表格,直观清晰,一目了然。
架构部署
方案架构图通俗易懂
在部署方式上依旧提供了一键部署和手动部署两种方式。
应用场景
这块内容主要阐述的应用行业,实际上可以根据业务需求划分为如下几个场景:
- 实时数据分析
- Hologres支持实时数据同步与查询,可以将来自各种数据源(如MySQL、PostgreSQL等)的数据实时同步到Hologres中,并支持对实时数据进行快速查询和分析,满足企业对数据时效性的高要求。
- 实时数据分析场景包括但不限于在线广告点击分析、实时交易监控、实时用户行为分析等,这些场景要求系统能够快速响应并处理大量实时数据流。
- 多维度分析
- Hologres提供多维分析能力,允许用户从多个角度对数据进行切片、切块、旋转等操作,从而揭示数据背后的复杂关系和趋势。
- 多维度分析场景包括销售数据分析、用户画像构建、库存管理等,这些场景需要系统能够处理大量的历史数据,并支持复杂的查询和分析操作。
- 即席查询
- 即席查询是指用户根据需要随时提出新的查询请求,系统能够快速响应并返回查询结果。Hologres凭借其高性能的查询能力,支持用户进行即席查询,提高数据分析的灵活性和效率。
- 即席查询场景适用于数据分析师、业务人员等需要快速获取数据洞察的用户,他们可能需要根据不同的业务需求提出不同的查询请求。
- 在线服务
- 除了数据分析,Hologres还可以作为在线服务的后端数据库,支持高并发的读写操作。通过将OLAP与在线服务相结合,企业可以实现数据的实时分析和实时反馈,提高业务决策的时效性和准确性。
- 在线服务场景包括实时推荐系统、实时风控系统等,这些场景要求系统能够在高并发场景下保持稳定的性能和响应速度。
- 向量计算
- Hologres支持向量计算,可以处理向量数据类型的存储和查询,满足机器学习、深度学习等应用场景的需求。
- 向量计算场景包括特征向量的存储与检索、相似度计算等,这些场景在推荐系统、搜索引擎等领域具有广泛的应用。
产品优惠
针对本次解决方案涉及的产品罗列了购买链接以及试用链接,对于想要第一时间体验产品的开发者们来说还是非常方便的。
推荐方案
在这块内容阐述上突出列举了两个案例,分别是向量检索和数据湖仓的应用。如果你想了解更多技术解决方案,可点击该链接前往。技术解决方案
部署体验
通过上述速览,我们已经对方案的整体有了一个非常清晰的认识了,下面将按照方案架构部署部分来体验如何实现。
在正式开始部署体验前,有两个必要条件,第一就是拥有一个阿里云得账号(如果您还没有阿里云账号,请访问阿里云账号注册页面),第二就是确保账户余额大于等于100元(如果账号余额不足,请为阿里云账号充值)。满足了这两个条件后,接下来我们将通过ROS一键部署服务。
创建Hologres实例
单击一键部署,前往ROS编排页面。由于本次体验涉及的产品较多,而ROS将完成基础环境的一键部署,如专有网络VPC和交换机、Hologres实例。
选择地区为华东1(杭州),资源栈名称可自定义,也可以默认,点击下一步。
在信息确认界面,点击创建即可。
如果你是第一次使用,将弹出依赖检查,点击开通权限即可。
完成后,点击继续创建。
在创建过程中,可以通过事件或者资源标签查看创建进度。
大概经历2分钟后,实例已经完成创建。此时状态变为创建成功。
创建数据库和内部表
登录Hologres管理控制台,单击实例名称,在实例详情页,单击登录实例。
在HoloWeb页面,点击数据库,弹出新建数据库窗口,填入数据库名称,其他参数默认。
选择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;
部署DataWorks服务
进入DataWorks服务开通页,地域选择华东1(杭州)、基础版、按量付费,其他默认。
勾选服务协议,点击确认订单并支付。
校验通过后,点击下一步。
价格清单确认无误后,点击下一步创建订单。
在支付页面,点击支付即可。
当出现下图这个页面时,就表示DataWorks服务已成功创建。
配置实时同步任务
登录DataWorks控制台,在左侧导航栏,找到更多,点击管理中心。
选择左侧导航栏的\数据源\ > *数据源列表**,然后单击新建数据源*。
分别新建一个Mysql数据源和一个Hologres数据源。首次新建需要获取RAM授权,点击去授权即可。
分别按下图所示输入必要信息,而后点击完成创建。
访问DataWorks数据集成页面。在同步任务页面,选择来源和去向,单击开始创建。
同步类型选择整库实时。
资源组选择上述步骤中创建的,占用的CU量配置为2 CU,数据来源和数据去向均选择上述创建的。
在测试连通性上之所以Mysql出现连通失败,是资源组默认不具备公网访问能力。所以这里我们还需要需要为VPC配置公网NAT网关并绑定弹性公网IP(EIP)。
登录专有网络管理控制台,点击左侧导航栏的NAT网关——公网NAT网关。
地域、专有网络、交换机均选择同DataWorks服务一致的。
访问模式选择择VPC全通模式(SNAT),选择新购弹性公网IP,并设置带宽峰值为1Mbps。
确认信息无误后,点击立即购买。当出现下图就表示成功创建。
此时我们回到刚才的新建同步任务页面,重新点击测试连通性,可以发现已经连通成功了。
点击下一步,开始配置要同步的库表和目标表映射。勾选MySQL中的github_public_event表,添加至已选库表中。
在目标表映射区域,勾选对应表,单击批量刷新映射。
将目标Schema名和目标表名修改为上述已创建Hologres内部表,然后单击完成配置。
实时任务配置完成后,在任务列表页面,单击操作列中启动。
单击同步任务名称,可以查看同步任务的详情以及进度。
全量初始化耗时较久,需要耐心等待。可以通过下图所示查看进度。
实时同步阶段同样耗时较长,可以通过下图所示查看进度。
数据验证
完成上述的同步任务后,访问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控制台,单击左侧导航栏的资源组,在对应资源更多中点击退订。
- 删除DataWorks数据源及同步任务
登录DataWorks控制台,单击左侧导航栏的数据集成,在下拉框中选择对应工作空间后单击进入数据集成。
在数据源页面,勾选MySQLData和HologresData数据源,然后单击批量删除,按照界面提示删除同步任务。
在同步任务页面,选择操作列\更多\ > *删除***,按照界面提示删除同步任务。
- 解绑并释放弹性公网IP
登录NAT网关管理控制台,选择\公网访问\ > *弹性公网IP**。在弹性公网IP页面,单击目标弹性公网IP实例操作列中选择强制释放*,并按照界面提示进行解绑。
在公网NAT网关页面,单击目标NAT网关实例操作列中的删除,并按照界面提示进行删除NAT网关。
- 删除专有网络VPC、交换机和Hologres实例
登录ROS控制台,在左侧导航栏,选择资源栈。在资源栈页面的顶部选择部署的资源栈所在地域,找到资源栈,然后在其右侧操作列,单击删除。
如果你只想快速体验产品,除了一键部署和手动部署方式可选以往,还有一个非常经济实惠的方式可选择,那就是云起实验室。实验链接如下,点击前往。
写在最后
问题反馈
1、在方案优势阐述中,用表格方式例举产品优势非常值得肯定,但由于表格占用区域过大,显得内容很空,需要优化表格间距,做到整体统一。
2、部署文档中存在两处错别字,分别出现在VPC公网NAT网关的部分,文档中写成了网管(可以猜想下编辑的小伙伴是不是干过网管工作)。
此外,部署文档中存在多处不太精准的描述。如下图:
3、整个部署耗时非常长,均花在了DataWorks的全量初始化和实时同步的任务上了,而文档中并没有针对此处的优化配置建议,实际上可以通过调大占用CU的量和调减初始数据量来实现调优的。
体验总结
(一)
该方案内容提供了较为详细的技术细节,确保了用户能够基本理解方案的深层原理和实施方法。方案中详细描述了Hologres作为一站式实时数仓引擎的优势,包括其统一、实时、弹性、易用的特性,以及能够支持多维分析、即席分析、在线服务、向量计算等多种场景。此外,还介绍了DataWorks数据集成工具如何将多种数据库(如MySQL、PG等)的数据实时同步到Hologres中,构建了完整的OLAP分析平台。然而,在深入技术实现方面,如具体的数据同步逻辑、Hologres的内部架构原理、查询优化策略等,方案并未详细展开。这些对于希望深入了解并自定义方案的技术人员来说可能略显不足。
(二)
改进建议:
- 资源选择与配置:方案中虽然提供了推荐的资源规格,但对于不同业务规模和性能需求下的资源选择未给出详细指导。用户可能需要根据自身情况自行调整,这要求用户有一定的云产品使用经验。
- 数据迁移策略:对于从其他数据库(如ClickHouse)迁移到Hologres的具体步骤和注意事项,方案描述较为笼统,可能需要用户自行查阅更多迁移文档或进行试错。
- 性能调优:方案中没有提及性能调优的具体方法和步骤,这对于追求极致性能的用户来说可能是一个需要额外关注的点。
- 实验数据过于庞大:作为轻量级上手实验不应该用如此庞大数据量,足足有910多万条,导致后面实时同步耗时太久,本来是省钱的一个体验,硬是被这数据量搞成了费钱的体验了。整个体验耗时近2小时,耗费36元。
(三)
代码示例:部署过程中提供的代码示例与链接前往的存在差异,虽然功能上所实现的效果是一样的,但作为部署文档不应存在不一致的情况。
异常情况:在按照方案提供的步骤进行部署时,我并未遇到明显的错误或异常情况。最让我吐糟的点就是数据量太大,需要耗费非常长的时间来进行实时同步,加大了部署体验的不确定性。
(四)
根据本方案进行部署,我认为它能够满足一般的数据分析需求,特别是对于那些希望快速搭建轻量级OLAP分析平台的用户。Hologres的卓越查询性能和多场景支持能力使得数据分析更加高效和灵活。
需要改进或补充的地方:
- 数据安全性与合规性:方案中对于数据在传输和存储过程中的安全性以及合规性(如GDPR、HIPAA等)提及较少,这对于一些对数据安全性有严格要求的企业来说可能是个关注点。
- 扩展性与可定制性:方案在描述时主要聚焦于基础功能的实现,对于如何在后续根据业务需求进行扩展和定制(如自定义函数、插件开发等)的指引不足。
- 性能调优工具与指南:提供一套完整的性能调优工具和指南,帮助用户根据自身业务特点进行性能优化,将进一步提升方案的实用性和竞争力。
如果你想获取视频类的资料,今年上新的云端问道栏目恰好有本次评测的产品内容,可点击如下链接前往学习。(建议关注该栏目更新,因为参加实操打卡可以获得小礼品)