快速使用存算分离版实例

更新时间:2025-03-26 02:51:55

存算分离版实例适用于对存储成本高度敏感且对查询效率要求相对较低的业务场景,例如OLAP多维分析及数据仓库应用。此外,该实例也适合查询存储于Apache Hive、Apache Iceberg、Apache Hudi以及Apache Paimon等多种数据湖中的数据,涵盖OSS、OSS-HDFSHDFS等多个平台。通过该实例,无需进行数据迁移即可实现快速的数据湖查询与分析,其性能较Presto高出35倍。该实例类型采用存算分离架构,将数据存储于阿里云OSS对象存储中。

前提条件

  • 已注册阿里云账号,并完成实名认证。具体操作请参见账号注册(PC端)

  • 如果是RAM用户,已授权AliyunEMRStarRocksFullAccess系统权限策略,详情请参见RAM用户授权

    说明

    创建和管理StarRocks实例需要具备AliyunEMRStarRocksFullAccess系统权限策略。

注意事项

代码的运行环境由所属用户负责管理和配置。

操作步骤

步骤一:创建存算分离版StarRocks实例

  1. 进入EMR Serverless StarRocks实例列表页面。

    1. 登录E-MapReduce控制台

    2. 在左侧导航栏,选择EMR Serverless > StarRocks

    3. 在顶部菜单栏处,根据实际情况选择地域。

  2. 实例列表页面,单击创建实例

  3. 选择存算分离版的实例类型。

  4. E-MapReduce Serverless StarRocks页面,完成实例相关配置。

    配置项

    示例

    描述

    配置项

    示例

    描述

    付费类型

    按量付费

    支持包年包月和按量付费的计费方式。

    地域

    华北2(北京)

    实例所在的物理位置。

    重要

    实例创建后,无法更改地域,请谨慎选择。

    可用区

    可用区I

    实例所在可用区。

    重要

    实例创建后,无法更改可用区,请谨慎选择。

    专有网络

    vpc_Hangzhou/vpc-bp1f4epmkvncimpgs****

    选择对应地域下的专有网络。如果没有,单击创建VPC进行创建。创建完成后,单击右侧的刷新图标图标,可以选择刚创建的VPC。

    交换机

    vsw_i/vsw-bp1e2f5fhaplp0g6p****

    选择在对应专有网络下所选可用区内的交换机。如果在所选专有网络下没有交换机,可单击创建交换机前往创建。创建完成后,单击右侧的刷新图标图标,可以选择刚创建的交换机。

    多可用区容灾

    关闭

    该参数目前处于白名单模式。

    默认情况下,该功能处于关闭状态。一旦开启,系统将支持跨可用区的实时备份与容灾功能,从而显著提升数据的可靠性和系统的高可用性。

    重要

    需要注意的是,启用该功能会带来一定的资源和成本开销:

    • 系统需要额外的FE节点(用于协调和管理跨可用区的备份任务)。

    • 开启多可用区备份,底层存储将使用同城冗余存储,会产生额外的数据存储费用。

    系统支持两种配置模式:两个可用区或三个可用区。您可以根据业务需求选择合适的配置方案。

    如果您对数据安全性和容灾能力有较高要求,建议启用此功能;否则,默认关闭即可满足一般需求。

    更多信息,请参见容灾管理(Beta)数据存储(多可用区)费用

    实例系列

    标准版

    支持入门版标准版,详情请参见实例系列说明

    版本

    3.3

    StarRocks的社区版本号。

    CN规格类型

    标准规格

    StarRocks不同的实例系列对应CN节点的规格类型不同:

    • 入门版:支持标准规格

    • 标准版:支持标准规格内存增强型网络增强型高性能存储大规格存储五种规格。

      • 标准规格:默认推荐规格,1CU=1核 CPU + 4 GiB 内存。该配置使用ESSD云盘作为StarRocks的存储解决方案。

      • 内存增强型:1CU=1个核 CPU + 8 GiB 内存,适用于内存消耗较大的场景,如复杂查询数量较多、并发请求较大等。采用ESSD云盘作为StarRocks的存储解决方案。

      • 网络增强型:1CU=1核 CPU + 4 GiB 内存,网络带宽为标准规格的2倍以上,适用于外表分析数据扫描量较大的场景,使用ESSD云盘作为StarRocks存储。

      • 高性能存储:需要您选择详细规格。该规格类型使用本地SSD数据盘作为StarRocks存储,适用于对存储I/O性能要求极为严格的场景。

      • 大规格存储:需要您选择详细规格。该规格类型使用本地HDD数据盘作为StarRocks存储,适合于数据量极大的场景,能够有效降低整体存储成本,但对存储I/O性能的要求相对较低。

      说明

      高性能存储大规格存储目前处于白名单模式。

    CN规格

    8 CU

    • 入门版:默认8 CU规格。

    • 标准版

      • 标准规格内存增强型网络增强型:支持8 CU、16 CU、32 CU、64 CU规格。

      • 高性能存储大规格存储:在CN规格下拉列表中,可以选择详细规格。

    CN节点缓存

    使用默认值即可

    用于数据缓存,需要结合您期望的数据读写性能选择合适的云盘类型、云盘大小,以及云盘个数。

    • 入门版

      • 缓存盘类型:仅支持ESSD PL1云盘。

      • 缓存盘大小:默认50 GB。

      • 缓存盘数量:默认1个。

    • 标准版

      • 标准规格内存增强型网络增强型

        • 缓存盘类型:支持ESSD PL0、ESSD PL1云盘(推荐)、ESSD PL2云盘、ESSD PL3云盘。更多信息,请参见块存储概述

        • 缓存盘大小:取值范围为200 ~ 65000 GB。

          说明

          您可以输入所需的存储容量,系统将自动提供默认的推荐配置。如果您选择的云盘容量超出建议的阈值,系统会弹出相应的提示帮助您作出适当的调整以确保最佳性能。

        • 缓存盘数量:默认1个。取值范围为1~8个,步长为1。

    CN节点数量

    3

    StarRocks CN计算节点的数量。数量范围:1 ~ 100个。

    高可用

    开启

    默认开启。标准版支持开启高可用,打开高可用开关后,StarRocks FE节点数由1增加为3,以降低故障风险。

    重要

    生产环境强烈建议您开通高可用。

    FE资源配置

    • 规格:8 CU。

    • 存储大小:100 GB。

    • 节点数量:3个。

    • 入门版:FE的资源配置默认为4 CU,50 GB,节点数量为1。

    • 标准版:FE资源配置会随着BE的数量以及资源配置而自动适配。另外,FE的节点数量取决于是否开启高可用,不开启高可用,FE节点数量为1;开启高可用,FE节点数量为3。

    数据存储

    按实际使用量计费。

    数据存储费用将会按照您的实际使用量,按GB/小时进行计费。为进一步节省成本,建议您购买存算分离存储包,详情请参见存算分离存储包

    资源配置总计

    FE计算资源:24CU

    存储资源:ESSD PL1云盘(推荐)300GB

    CN计算资源:24CU

    缓存资源:ESSD PL1云盘(推荐)600GB

    数据存储:以实际使用量为准,计费详情请参考计费项

    展示FE资源详情、CN资源详情以及数据存储详情。

    实例名称

    自定义实例名称。

    实例名称,长度限制为1~64个字符,仅可使用中文、字母、数字、短划线(-)和下划线(_)。

    管理员用户

    admin

    用于管理StarRocks的管理员用户,默认为admin,无法修改。

    登录密码确认密码

    自定义密码。

    StarRocks实例内置管理员用户admin的密码。请记录该配置,管理和使用StarRocks实例需要您输入该密码。如果忘记该密码,可以进行重置,详情请参见如何重置实例的密码?

    密码长度限制为8~30个字符,且必须包含至少一个大写字母、一个小写字母、一个数字和一个特殊字符@#$%^*_+-

    执行RAM角色

    AliyunEMRStarRocksAccessingOSSRole

    该角色将会授权StarRocks实例访问对象存储OSS的数据内容的权限。

    (可选)高级设置 > 资源组

    选择已创建的资源组

    可以使用默认资源组,或者选择已有的资源组,或者单击创建资源组前往资源管理控制台新建一个资源组,详情请参见创建资源组

    说明

    资源组(Resource Group)是在阿里云账号下进行资源分组管理的一种机制,资源组能够帮助您解决单个阿里云账号内的资源分组和授权管理的复杂性问题。资源组更多信息,请参见什么是资源组

    (可选)高级设置 > 标签

    自定义标签

    您可以在创建集群时绑定标签,也可以在集群创建完成后添加标签,这可以方便您识别和管理拥有的集群资源,详情请参见设置标签

  5. 选中服务协议,单击创建实例,根据提示完成支付。

    支付完成后,回到实例管理页面,查看创建的实例。当实例状态运行中时,表示实例创建成功。

步骤二:连接StarRocks实例

  1. 实例列表页面,单击操作列的连接实例

    您也可以通过其他方式连接StarRocks实例

  2. 连接StarRocks实例。

    1. 新建连接页签,配置以下信息。

      image.png

      参数

      示例

      描述

      参数

      示例

      描述

      地域

      华东1(杭州)

      选择已创建的StarRocks实例所在的物理位置。

      实例

      StarRocks_Serverless

      选择已创建的StarRocks实例的名称。

      连接名称

      Connection_Serverless

      连接名称,自定义输入。

      长度限制为1~64字符,仅可使用中文、字母、数字、短划线(-)和下划线(_)。

      用户名

      根据实际情况输入

      默认初始用户名为admin,您可以选择使用该用户名进行连接,或者根据需要创建其他用户,创建用户详情请参见管理用户及数据授权

      密码

      根据实际情况输入

      StarRocks实例中已创建的用户名对应的密码。

    2. 单击测试连通性

    3. 验证通过后,单击确定

      进入SQL Editor页面,即可执行相关的SQL。更多使用信息,请参见通过EMR StarRocks Manager连接StarRocks实例

步骤三:SQL查询

SQL Editor查询列表页面,单击image.png图标,输入以下命令,然后单击运行

/**创建数据库**/
CREATE DATABASE IF NOT EXISTS load_test;

/**使用数据库**/
USE load_test;

/**创建表**/
CREATE TABLE insert_wiki_edit
(
    event_time DATETIME,
    channel VARCHAR(32) DEFAULT '',
    user VARCHAR(128) DEFAULT '',
    is_anonymous TINYINT DEFAULT '0',
    is_minor TINYINT DEFAULT '0',
    is_new TINYINT DEFAULT '0',
    is_robot TINYINT DEFAULT '0',
    is_unpatrolled TINYINT DEFAULT '0',
    delta INT SUM DEFAULT '0',
    added INT SUM DEFAULT '0',
    deleted INT SUM DEFAULT '0'
)
AGGREGATE KEY(event_time, channel, user, is_anonymous, is_minor, is_new, is_robot, is_unpatrolled)
PARTITION BY RANGE(event_time)
(
    PARTITION p06 VALUES LESS THAN ('2015-09-12 06:00:00'),
    PARTITION p12 VALUES LESS THAN ('2015-09-12 12:00:00'),
    PARTITION p18 VALUES LESS THAN ('2015-09-12 18:00:00'),
    PARTITION p24 VALUES LESS THAN ('2015-09-13 00:00:00')
)
DISTRIBUTED BY HASH(user) BUCKETS 10
PROPERTIES("replication_num" = "1");

/**插入数据**/
INSERT INTO insert_wiki_edit VALUES("2015-09-12 00:00:00","#en.wikipedia","GELongstreet",0,0,0,0,0,36,36,0),("2015-09-12 00:00:00","#ca.wikipedia","PereBot",0,1,0,1,0,17,17,0);

/**查询数据**/
select * from insert_wiki_edit;

返回信息如下所示。

image.png

说明

您可以通过执行SHOW CREATE TABLE load_test.insert_wiki_edit;命令,检查结果中是否包含datacache.enable属性来确认存算分离实例是否已经生效。此外,一旦存算分离库表创建成功,您还可以在OSS Bucket下找到新创建的库表目录。

image

步骤四:查看表信息

  1. SQL Editor中,输入以下命令,查看数据库。

    SHOW PROC '/dbs';

    返回信息如下所示。

    image.png

  2. 输入以下命令,查看表的详细信息。

    SHOW PROC '/dbs/10061';

    返回信息如下所示。

    image.png

    其中,在存算分离模式下,CLOUD_NATIVE为表的类型字段标识;StoragePath为表在OSS对象存储中的路径,通过该路径可以定位到存算分离表的数据存储位置。

步骤五:Cache特性演示

  1. 在左侧导航栏,选择诊断与分析 > 全部查询

  2. 找到对应的Query,单击查询ID。

  3. 单击执行详情页签。

    通过查看Profile执行树,您可以定位到相关节点,并重点关注右侧指标中的CompressedBytesReadLocalDisk(从本地缓存读取)和CompressedBytesReadRemote(从远端OSS对象存储读取)两个指标。

    本示例中,insert_wiki_edit_cache表开启了本地缓存功能。通过观察相关指标值,可以确定查询全部命中了本地缓存。

    image.png

    insert_wiki_edit_nocache表未启用本地缓存功能。通过分析其对应的指标值,可以确定该表的查询操作未命中本地缓存,数据全部来自远端OSS对象存储。

    image.png

步骤六:性能测试

本示例为您展示了存算分离结合本地缓存和存算一体两种模式下的查询性能对比。您可以使用SSB测试集进行更详细的性能对比测试,详情请参见SSB性能测试说明

  • 准备数据环境。

    • 集群资源配置:1FE(8CU)+3CN(算力:16CU|存储:1000 GB)。

    • 集群参数:使用默认设置,存算分离集群开启本地缓存。

    • 数据量:500 GB(sf=500)

  • 测试结果。

    • 存算一体总计用时:21.586s。

    • 存算分离总计用时(第2次执行时开启本地缓存的情况下): 27.364s。

    • 存算分离没有开启本地缓存,总计用时:117.529s。

执行sh ssb_query.sh ssb脚本进行SSB测试后,结果显示表明在开启本地缓存的情况下,存算分离和存算一体的查询性能基本相同,且明显优于未开启本地缓存时的性能。

SQL     

存算一体

存算分离开启data cache

存算分离没有开启data cache

SQL     

存算一体

存算分离开启data cache

存算分离没有开启data cache

Q1.1    

0m0.373s

0m0.380s

0m2.080s

Q1.2    

0m0.303s

0m0.292s

0m2.141s

Q1.3    

0m0.101s

0m0.097s

0m0.144s

Q2.1    

0m2.461s

0m2.821s

0m14.401s

Q2.2    

0m2.272s

0m2.735s

0m13.048s

Q2.3    

0m2.168s

0m2.588s

0m13.957s

Q3.1    

0m4.536s

0m4.864s

0m14.810s

Q3.2    

0m2.371s

0m2.682s

0m11.292s

Q3.3    

0m2.082s

0m2.648s

0m13.651s

Q3.4    

0m0.195s

0m0.212s

0m0.572s

Q4.1    

0m5.122s

0m5.847s

0m29.576s

Q4.2    

0m1.141s

0m1.369s

0m1.465s

Q4.3    

0m0.661s

0m0.829s

0m0.792s

Total   

21.586s

27.364s

117.529 s

(可选)步骤七:释放实例

重要

该操作将删除实例及该实例下的所有资源,且不可逆,请谨慎操作。

当您不再需要某个实例提供服务时,您可以释放该实例,以免产生额外的费用。

  1. 实例列表页面,单击实例操作列的释放

  2. 在弹出的对话框中,单击确定

相关文档

  • 如需了解SQL Editor更多操作,请参见SQL Editor

  • 如需查看当前实例的SQL查询信息,分析SQL的执行计划,及时诊断和排查SQL问题,详情请参见诊断与分析

  • 如需查看并分析数据库中发生的所有操作,详情请参见审计日志

联系我们

如果您在使用过程中有任何疑问或问题,可以使用钉钉搜索群号24010016636进行咨询。

  • 本页导读 (1)
  • 前提条件
  • 注意事项
  • 操作步骤
  • 步骤一:创建存算分离版StarRocks实例
  • 步骤二:连接StarRocks实例
  • 步骤三:SQL查询
  • 步骤四:查看表信息
  • 步骤五:Cache特性演示
  • 步骤六:性能测试
  • (可选)步骤七:释放实例
  • 相关文档
  • 联系我们