赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 日志服务
  4. 产品概述
  5. 产品简介
  6. 基本概念
  7. 分区(Shard)

分区(Shard)

  • 基本概念
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

日志服务使用Shard控制Logstore或MetricStore的读写数据的能力,数据必定保存在某一个Shard中。

Shard范围

每个Shard均有范围,为MD5左闭右开区间[BeginKey,EndKey)。每个Shard范围不会相互覆盖,且属于整个MD5范围内[00000000000000000000000000000000,ffffffffffffffffffffffffffffffff)。您可以在创建Logstore或MetricStore时指定Shard个数,日志服务将自动平均划分整个MD5范围。

  • BeginKey:指定Shard范围的起始值,Shard范围中包含该值。

  • EndKey:指定Shard范围的结束值,Shard范围中不包含该值。

例如Logstore A中包含4个Shard,各个Shard范围如下:

表 1. Shard范围

Shard ID

范围

Shard0

[00000000000000000000000000000000,40000000000000000000000000000000)

Shard1

[40000000000000000000000000000000,80000000000000000000000000000000)

Shard2

[80000000000000000000000000000000,c0000000000000000000000000000000)

Shard3

[c0000000000000000000000000000000,ffffffffffffffffffffffffffffffff)

在Shard读写数据过程中,读数据时必须指定Shard ID,写数据时可通过负载均衡模式或者指定Hash Key的模式。

  • 负载均衡模式:每个数据包随机写入当前可用的Shard中。

    如果您的写入流量大于单Shard的服务能力,建议采用负载均衡模式。

  • 指定Hash Key模式:指定MD5的Key值,数据将被写入包含该Key值的Shard中。

    例如Shard范围如Shard范围所示,当您写入数据时指定MD5的Key值为5F时,则数据将被写入包含5F的Shard1上;当您写入数据时指定MD5的Key值为8C时,则数据将被写入包含8C的Shard2上。

Shard的读写能力

每个Shard提供一定的服务能力,具体请参见数据读写。

建议您根据实际数据流量规划Shard个数。当数据流量超出读写能力时,及时分裂Shard以增加Shard个数,从而达到更大的读写能力。当数据流量远未达到Shard的最大读写能力时,及时合并Shard以减少Shard个数,从而降低活跃Shard租用费用。

重要
  • 当写入数据的API持续报告403或者500错误时,您可以通过Logstore云监控查看流量和状态码判断是否需要增加Shard。

  • 超过Shard服务能力的读写,日志服务会尽可能服务,但不保证服务质量。

Shard状态

Shard状态包括readwrite(读写)和readonly(只读)。

创建Shard时,所有Shard状态均为readwrite状态。执行分裂或合并操作后,Shard状态变更为readonly,并生成新的readwrite状态的Shard。Shard状态不影响其数据读取的性能。readwrite状态的Shard可保证数据写入性能,readonly状态的Shard不提供数据写入服务。

分裂与合并

日志服务支持分裂和合并Shard。

  • 分裂操作是指将一个Shard分裂为另外两个Shard,即分裂后Shard数量增加2。两个新生成的Shard的状态为readwrite,排列在原Shard之后且两个Shard的MD5范围覆盖原Shard的MD5范围。

    分裂Shard时,需指定一个处于readwrite状态的Shard。分裂完成后,原Shard状态由readwrite变为readonly,该Shard中的数据仍可被消费,但该Shard不支持写入新数据。

  • 合并操作是指将两个Shard合并为一个Shard。新生成的Shard的状态为readwrite,排列在原Shard之后且其MD5范围覆盖原来两个Shard的MD5范围。

    合并Shard时,需指定一个处于readwrite状态且未排列在最后一个的Shard,日志服务自动找到所指定Shard右侧相邻的Shard,并进行合并。合并完成后,原来两个Shard的状态由readwrite变为readonly,这两个Shard中的数据仍可被消费,但这两个Shard不支持写入新数据。

相关文章

术语表 2025-04-22 11:07

本文介绍日志服务所涉及的术语。 基础资源

日志(Log) 2025-04-22 11:07

日志(Log)是系统运行过程中变化的一种抽象数据,其内容为指定对象的操作和其操作结果按时间的有序集合。 格式 文本日志(LogFile)、事

日志组(LogGroup) 2025-04-22 11:07

日志组(LogGroup)是一组日志的集合,是写入与读取日志的基本单元。一个日志组中的数据包含相同Meta(IP地址、Source等信息)。 写入日志到日志服务或从日志服务读取日志时,多条日志被打包为一个日志组,以日志组为单元进行写入与读取。该方式可减少读写次数,提高业务效率。每个日志组最大长度为5

项目(Project) 2025-04-22 11:07

项目(Project)是日志服务的资源管理单元,是进行多用户隔离与访问控制的主要边界。 Project中包含Logstore、MetricStore和机器组等资源,同时它也是您访问日志服务资源的入口。建议使用不同的Project管理不同的应用、产品或项目中的数据。具体说明如下:

日志库(Logstore) 2025-04-22 11:07

日志库(Logstore)是日志服务中日志数据的采集、存储和查询单元。 日志服务提供标准型(Standard)和查询型(Query)两种类型的Logstore。 标准型Logstore:支持日志服务一站式数据分析功能,适用于实时监

时序库(MetricStore) 2025-04-22 11:07

时序库(MetricStore)是日志服务中时序数据的采集、存储和查询单元。 每个MetricStore隶属于一个Project,每个Project中可创建多个MetricStore。您可以根据实际需求为某个项目创建多个MetricStore,一般是为不同类型的时序数据创建不同的MetricStor

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号