import{_ as t,O as e,P as i,ah as l,aW as a}from"./framework-e4340ccd.js";const n={},o=a('<h2 id="集群基本概念" tabindex="-1"><a class="header-anchor" href="#集群基本概念" aria-hidden="true">#</a> 集群基本概念</h2><p>Apache IoTDB 集群版包含两种角色的节点，ConfigNode 和 DataNode，分别为不同的进程，可独立部署。</p><p>集群架构示例如下图：</p><img style="width:100%;max-width:500px;max-height:400px;margin-left:auto;margin-right:auto;display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Cluster/Architecture.png"><p>ConfigNode 是集群的控制节点，管理集群的节点状态、分区信息等，集群所有 ConfigNode 组成一个高可用组，数据全量备份。</p><p>注意：ConfigNode 的副本数是集群当前加入的 ConfigNode 个数，一半以上的 ConfigNode 存活集群才能提供服务。</p><p>DataNode 是集群的数据节点，管理多个数据分片、元数据分片，数据即时间序列中的时间戳和值，元数据为时间序列的路径信息、数据类型等。</p><p>Client 只能通过 DataNode 进行数据读写。</p><h3 id="名词解释" tabindex="-1"><a class="header-anchor" href="#名词解释" aria-hidden="true">#</a> 名词解释</h3><table><thead><tr><th style="text-align:left;">名词</th><th style="text-align:left;">类型</th><th style="text-align:left;">解释</th></tr></thead><tbody><tr><td style="text-align:left;">ConfigNode</td><td style="text-align:left;">节点角色</td><td style="text-align:left;">配置节点，管理集群节点信息、分区信息，监控集群状态、控制负载均衡</td></tr><tr><td style="text-align:left;">DataNode</td><td style="text-align:left;">节点角色</td><td style="text-align:left;">数据节点，管理数据、元数据</td></tr><tr><td style="text-align:left;">Database</td><td style="text-align:left;">元数据</td><td style="text-align:left;">数据库，不同数据库的数据物理隔离</td></tr><tr><td style="text-align:left;">DeviceId</td><td style="text-align:left;">设备名</td><td style="text-align:left;">元数据树中从 root 到倒数第二级的全路径表示一个设备名</td></tr><tr><td style="text-align:left;">SeriesSlot</td><td style="text-align:left;">元数据分区</td><td style="text-align:left;">每个 Database 包含多个元数据分区，根据设备名进行分区</td></tr><tr><td style="text-align:left;">SchemaRegion</td><td style="text-align:left;">一组元数据分区</td><td style="text-align:left;">多个 SeriesSlot 的集合</td></tr><tr><td style="text-align:left;">SchemaRegionGroup</td><td style="text-align:left;">逻辑概念</td><td style="text-align:left;">包含元数据副本数个 SchemaRegion，管理相同的元数据，互为备份</td></tr><tr><td style="text-align:left;">SeriesTimeSlot</td><td style="text-align:left;">数据分区</td><td style="text-align:left;">一个元数据分区的一段时间的数据对应一个数据分区，每个元数据分区对应多个数据分区，根据时间范围进行分区</td></tr><tr><td style="text-align:left;">DataRegion</td><td style="text-align:left;">一组数据分区</td><td style="text-align:left;">多个 SeriesTimeSlot 的集合</td></tr><tr><td style="text-align:left;">DataRegionGroup</td><td style="text-align:left;">逻辑概念</td><td style="text-align:left;">包含数据副本数个 DataRegion，管理相同的数据，互为备份</td></tr></tbody></table><h2 id="集群特点" tabindex="-1"><a class="header-anchor" href="#集群特点" aria-hidden="true">#</a> 集群特点</h2><ul><li>原生分布式 <ul><li>IoTDB 各模块原生支持分布式。</li><li>Standalone 是分布式的一种特殊的部署形态。</li></ul></li><li>扩展性 <ul><li>支持秒级增加节点，无需进行数据迁移。</li></ul></li><li>大规模并行处理架构 MPP <ul><li>采用大规模并行处理架构及火山模型进行数据处理，具有高扩展性。</li></ul></li><li>可根据不同场景需求选择不同的共识协议 <ul><li>数据副本组和元数据副本组，可以采用不同的共识协议。</li></ul></li><li>可扩展分区策略 <ul><li>集群采用分区表管理数据和元数据分区，自定义灵活的分配策略。</li></ul></li><li>内置监控框架 <ul><li>内置集群监控，可以监控集群节点。</li></ul></li></ul><h2 id="分区策略" tabindex="-1"><a class="header-anchor" href="#分区策略" aria-hidden="true">#</a> 分区策略</h2><p>分区策略将数据和元数据划分到不同的 RegionGroup 中，并把 RegionGroup 的 Region 分配到不同的 DataNode。</p><p>推荐设置 1 个 database，集群会根据节点数和核数动态分配资源。</p><p>Database 包含多个 SchemaRegion 和 DataRegion，由 DataNode 管理。</p><ul><li><p>元数据分区策略</p><ul><li>对于一条未使用模板的时间序列的元数据，ConfigNode 会根据设备 ID （从 root 到倒数第二层节点的全路径）映射到一个序列分区，并将此序列分区分配到一组 SchemaRegion 中。</li></ul></li><li><p>数据分区策略</p><ul><li>对于一个时间序列数据点，ConfigNode 会根据设备 ID 映射到一个序列分区（纵向分区），再根据时间戳映射到一个序列时间分区（横向分区），并将此序列时间分区分配到一组 DataRegion 中。</li></ul></li></ul><p>IoTDB 使用了基于槽的分区策略，因此分区信息的大小是可控的，不会随时间序列或设备数无限增长。</p><p>Region 会分配到不同的 DataNode 上，分配 Region 时会保证不同 DataNode 的负载均衡。</p><h2 id="复制策略" tabindex="-1"><a class="header-anchor" href="#复制策略" aria-hidden="true">#</a> 复制策略</h2><p>复制策略将数据复制多份，互为副本，多个副本可以一起提供高可用服务，容忍部分副本失效的情况。</p><p>Region 是数据复制的基本单位，一个 Region 的多个副本构成了一个高可用复制组，数据互为备份。</p><ul><li>集群内的副本组 <ul><li>ConfigNodeGroup：由所有 ConfigNode 组成。</li><li>SchemaRegionGroup：集群有多个元数据组，每个 SchemaRegionGroup 内有多个 ID 相同的 SchemaRegion。</li><li>DataRegionGroup：集群有多个数据组，每个 DataRegionGroup 内有多个 ID 相同的 DataRegion。</li></ul></li></ul><p>完整的集群分区复制的示意图如下：</p><img style="width:100%;max-width:500px;max-height:500px;margin-left:auto;margin-right:auto;display:block;" src="https://alioss.timecho.com/docs/img/UserGuide/Cluster/Data-Partition.png"><p>图中包含 1 个 SchemaRegionGroup，元数据采用 3 副本，因此 3 个白色的 SchemaRegion-0 组成了一个副本组。</p><p>图中包含 3 个 DataRegionGroup，数据采用 3 副本，因此一共有 9 个 DataRegion。</p><h2 id="共识协议-一致性协议" tabindex="-1"><a class="header-anchor" href="#共识协议-一致性协议" aria-hidden="true">#</a> 共识协议（一致性协议）</h2><p>每个副本组的多个副本之间，都通过一个具体的共识协议保证数据一致性，共识协议会将读写请求应用到多个副本上。</p><ul><li>现有的共识协议 <ul><li>SimpleConsensus：提供强一致性，仅单副本时可用，一致性协议的极简实现，效率最高。</li><li>IoTConsensus：提供最终一致性，任意副本数可用，2 副本时可容忍 1 节点失效，当前仅可用于 DataRegion 的副本上，写入可以在任一副本进行，并异步复制到其他副本。</li><li>RatisConsensus：提供强一致性，Raft 协议的一种实现，任意副本数可用，当前可用于任意副本组上。目前DataRegion使用RatisConsensus时暂不支持多数据目录，预计会在后续版本中支持这一功能。</li></ul></li></ul>',30);function d(s,r){return e(),i("div",null,[l(`

\`\`\`
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
\`\`\`

`),o])}const h=t(n,[["render",d],["__file","Cluster-Concept.html.vue"]]);export{h as default};