iotdb 源码分析(5) -- iotdb 相关的数据文件说明

前言:

分析iotdb 内部原理以前,我们需要对 iotdb 整体的运行进行个说明,
参考以前的文件,iotdb的集群部署架构如下:

image.png

datanode , confignode 都属于一个 java 进程:
confignode : 好多年以前 zk 盛行的时候, 这里的 confignode 有点类似 zk 的作用。
datanode : 主要是用于存储元数据的。

confignode 数据目录:

.

.
├── consensus
│   └── 47474747-4747-4747-4747-000000000000
│       ├── current
│       │   ├── log_0-20848
│       │   ├── log_inprogress_20849
│       │   ├── raft-meta
│       │   └── raft-meta.conf
│       ├── in_use.lock
│       └── sm
└── system
    ├── confignode-system.properties
    ├── procedure
    ├── roles
    ├── udf
    │   └── ulog.txt
    └── users
        └── root.profile

9 directories, 8 files

consensus 目录里面存储的是 confignode 采用 raft 协议 生成的日志信息
system 目录里面主要是 一些配置信息。

所以,我们看到,confignode 里面是基本上不存储 iotdb 的数据的。他只是相当于 zk 的作用。

datanode :

我们可以看到, datanode 里面主要存储的 iotdb 的数据,数据分为如下的形式:

  • nodedata_dir

    • consensus

      • data_region

      • schema_region

    • data

      • sequence -- 顺序写入的数据

        • root.metadata -- 存储组的名字

          • 3 --- dataRegionId

            • 0 -- timePartition

              • xx.tsfile

              • xx.tsfile.resource

        • root.metadata -- 另外的存储组

        • ……

      • unsequence -- 非顺序写入数据

        • 和上面一致
    • system

      • schema

        • schema 相关的信息
      • storage_groups

        • sg 相关的
    • wal
      wal 日志相关的

总结

1、 iotdb 相关的数据主要存储与 datanode 上, confignode 起到的作用类似 zk的
2、 现在的分布式系统,基本上面用的都是 raft 解决方案, 需要对 raft 有一定的了解
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容