文档中心

关于 SequoiaDB

快速入门

安装

基本操作

数据模型

SQL引擎

S3引擎

系统架构

数据库管理

连接器

驱动

参考手册

故障排除

SAC 管控中心

Web服务

版本信息

分区键

概念

分区键定义了每个集合中所包含数据的分区规则。每一个集合对应一个分区键,分区键中可以包含一个或多个字段。分区键可以在创建集合时指定,也可以集合创建之后进指定分区键

在编目节点中,每个集合都拥有自己的分区范围,分区范围中每个范围段对应一个分区组,标示该集合的某一数据段坐落于该分区组。

Note:

集合的分区键在创建集合时指定,集合创建成功后分区键无法修改。

分区集合中,记录插入数据库后无法对分区键值进行更新。

格式

  • Range 分区键

    Range 分区键的格式类似于索引键,为一个 JSON 对象。JSON 对象中每一个字段对应分区键的字段,数值为 1 或者 -1,代表正向或逆向排序。

    {
      ShardingKey: { <字段1>: <1|-1>, [<字段2>: <1|-1>, ...] },
      ShardingType: "range"
    }
  • Hash 分区键

    Hash 分区的 ShardingKey 组成方式与 Range 分区方式相同(但字段的正向/逆向不起作用)。Partition 的值必须是 2 的幂,范围在[ 23 , 220 ],默认为 4096。

    {
      ShardingKey: { <字段1>: <1|-1>, [<字段2>: <1|-1>, ...] },
      ShardingType: "hash",
      Partition: <分区数>
    }

示例

  • 一个包含两个字段,分别为正向和逆向排序的 Range 分区键如下:

    {
      ShardingKey: { Field1: 1, Field2: -1 },
      ShardingType: "range"
    }
  • Hash 分区键

    {
      ShardingKey: { Field1: 1, Field2: -1 },
      ShardingType: "hash",
      Partition: 4096
    }
回到顶部