Logstore读写日志必定保存在某一个分区(Shard)上。每个日志库(Logstore)分若干个分区,您在创建Logstore时需要为该Logstore设置Shard的数量,创建完成后还可以分裂或合并Shard,以达到增加或减少Shard的目的。

分裂Shard

每个分区(Shard)能够支持5Mbit/s的数据写入和10Mbit/s的数据读取,当数据流量超过分区服务能力时,建议您及时增加分区。扩容分区通过分裂(split)操作完成。
说明 您也可以通过日志服务命令行工具CLI一次性分裂Shard到指定数量,详细说明请参见使用CLI配置Shard

在分裂分区时,需要指定一个处于readwrite状态的ShardId和一个MD5。MD5要求必须大于分区的BeginKey并且小于EndKey。

在分裂完成后,被指定分裂的原分区状态由readwrite变为readonly,该状态下分区的数据仍然可以被消费,但不可写入新数据。新生成的分区状态为readwrite,排列在原有分区之后,且新分区的MD5范围覆盖了原来分区的范围。

  1. 登录日志服务控制台,单击Project名称。
  2. 单击目标日志库名称后的修改日志库,选择修改
  3. 单击Logstore属性右上角的修改按钮。
  4. 选择要分裂的分区,单击右侧的分裂
    分裂分区
  5. 选择分区的分裂数量。
  6. 单击确定进行分裂。
    分裂操作完成后,原分区变为readonly状态,新生成分区的MD5范围覆盖了原来分区的范围。
  7. 单击Logstore属性右上角的保存按钮完成分裂操作。

自动分裂Shard

除手动分裂Shard之外,日志服务还支持自动分裂Shard功能。

开启自动分裂Shard功能后,当满足以下两个条件时Shard会自动分裂:
  • 数据量超出当前已有Shard的服务能力且持续5分钟以上。
  • Logstore中readwrite状态的Shard数目未超过设定的最大shard总数。
说明 最近15分钟内分裂出来的新Shard不会自动分裂。
您可以在创建或修改Logstore时开启该功能,并设定Shard自动分裂后的最大数目。具体请参见操作Logstore自动分裂分区
  • 自动分裂shard

    Shard自动分裂功能开关。开启该功能后,Shard会在数据量超出Shard服务能力时自动分裂。

  • 最大分裂数

    Shard自动分裂后的最大数目。开启自动分裂Shard功能后,最大可支持自动分裂至64个分区。

合并Shard

您可以通过合并(merge)操作缩容分区。在进行合并操作时,必须指定一个处于readwrite状态的分区,指定的分区不能是最后一个readwrite分区。服务端会自动找到所指定分区的右侧相邻分区,并将两个分区范围合并。在合并完成后,所指定的分区和其右侧相邻分区变成只读(readonly)状态。同时新生成一个readwrite状态的分区,新分区的MD5范围覆盖了原来两个分区的范围。

  1. 单击目标日志库名称后的修改日志库,选择修改
  2. 单击Logstore属性右上角的修改按钮。
  3. 选择要合并的分区,单击右侧的合并
    合并分区
  4. 单击Logstore属性右上角的保存按钮完成合并操作。

删除Shard

  • 自动删除

    如果您在创建Logstore时设置了数据保存时间,那么分区及分区中的日志数据超出设置的时间后会被自动删除。

  • 手动删除

    如果您在创建Logstore时开起了永久保存,那么这部分Shard和日志数据将不会自动被删除。如果想要删除,建议您通过删除Logstore的方式删除整个日志库中的分区和数据。具体请参见删除Logstore