dremio 数据存储结构示例
从dremio 运行系统摘录一些存储结构,方便了解dremio
分布式存储(主要以对象存储为主,当然nas 也是可以使用的)
部分,整体结构类似,但是文件夹名称可能会不要一样(反射内部的存储结构是一致的)
主要包含了反射,下载,上传,一致job 执行结果
├── accelerator
│ ├── 0251dece-9e59-446a-bae0-bb8c0528c570
│ │ ├── 0074a40a-7196-4e5f-b8a4-672076335059_0
│ │ │ ├── 1c4c7457-1e61-985a-8ea9-df09fc999600
│ │ │ │ └── 0
│ │ │ └── metadata
│ │ ├── 4dd9f4cf-b1b3-4b6d-bff0-979d93466545_0
│ │ │ ├── 1c4c8267-ad18-19c1-53bf-7aafba196d00
│ │ │ │ └── 0
│ │ │ └── metadata
│ │ └── c8c55ed3-f9e4-4b60-94e0-6f9104365c4f_0
│ │ ├── 1c4cac9a-263c-811f-f55a-a7a580cf1600
│ │ │ └── 0
│ │ └── metadata
│ │ ├── c3ea3a57-b62e-4bf5-af86-36cab6042ae7_0
│ │ │ ├── 1c4c9410-9fb9-87f3-da22-976a1373db00
│ │ │ │ └── 0
│ │ │ └── metadata
│ │ └── e62fab97-7fc6-403f-b3c2-b3042e2c8809_0
│ │ ├── 1c4ca220-c794-912f-a32e-19a6fdb28500
│ │ │ └── 0
│ │ └── metadata
├── downloads
├── metadata
├── results
│ ├── 1c4c7454-c4ea-9210-02b4-e2fea96a2100
│ ├── 1c4c7455-2941-57af-0abd-6cc4acbed900
│ ├── 1c4c7457-1e61-985a-8ea9-df09fc999600
│ ├── 1c4c77ef-2c28-1b98-d1f8-175320202300
├── scratch
└── uploads
├── _staging.dremiotest1
└── _uploads
db 元数据存储结构
blob 基于了rocksdb 进行开发,实际数据存储模块在services/datastore 模块中,其他服务依赖,比如namespace 、nessie、当让还是不少
间接的依赖(catalog,session。。。。)
├── db # 基于rocksdb 的kv 存储
│ ├── blob
│ │ ├── catalog-source-data
│ │ ├── collaboration_tags
│ │ ├── collaboration_wiki
│ │ ├── commit_log
│ │ ├── configuration
│ │ ├── dac-namespace
│ │ ├── datasetVersions
│ │ ├── dependencies
│ │ ├── external_reflection_store
│ │ ├── global_log
│ │ ├── global_pointer
│ │ ├── identity
│ │ ├── jobs
│ │ ├── key_list
│ │ ├── materialization_store
│ │ ├── metadata-dataset-splits
│ │ ├── metadata-multi-splits
│ │ ├── nessieCommit
│ │ ├── nessieRef
│ │ ├── options
│ │ ├── orphan_store
│ │ ├── profiles
│ │ ├── project_options
│ │ ├── provisioning
│ │ ├── reflection_entries
│ │ ├── reflection_goals
│ │ ├── reflection_settings
│ │ ├── ref_log
│ │ ├── refresh_requests
│ │ ├── refresh_store
│ │ ├── repo_props
│ │ ├── script
│ │ ├── statistic_entries_store
│ │ ├── statistic_store
│ │ ├── sys.options
│ │ ├── tokens
│ │ ├── upgrade
│ │ ├── userGroup
│ │ └── user_preference
│ ├── catalog
│ │ └── archive
│ ├── metadata # 包含一些json 文件,具体可以参考实际生成的
│ └── search
│ ├── catalog-search
│ │ └── core
│ ├── collaboration_tags
│ │ └── core
│ ├── collaboration_wiki
│ │ └── core
│ ├── dac-namespace
│ │ └── core
│ ├── external_reflection_store
│ │ └── core
│ ├── jobs
│ │ └── core
│ ├── materialization_store
│ │ └── core
│ ├── metadata-dataset-splits
│ │ └── core
│ ├── orphan_store
│ │ └── core
│ ├── reflection_goals
│ │ └── core
│ ├── refresh_store
│ │ └── core
│ ├── script
│ │ └── core
│ ├── userGroup
│ │ └── core
│ └── user_preference
│ └── core
├── spill # spill 服务的目录,主要是一些排序处理,hash 聚合等过程中使用,使用完成之后实际上应该是会释放的
│ └── spilling_dremiotest1_45678
│ └── 1672043728085
└── zk # zk 信息,主要是嵌入式模式的,比如单机
└── zookeeper
└── version-2
参考资料
https://docs.dremio.com/software/advanced-administration/dremio-conf/
https://github.com/facebook/rocksdb/tree/main/java/src/main/java/org/rocksdb
services/datastore
https://www.cnblogs.com/rongfengliang/p/16002483.html