Cold-Hot Separation Storage for Doris BE

This document describes how to configure multi-disk storage and cold-hot separation storage for Doris BE on Kubernetes.

Doris BE supports multiple independent data storage directories, balancing the read and write performance as well as the cost of hot and cold data by simultaneously mounting SSD and HDD storage medium.

The Doris deployment documentation provides details on this aspect. The Doris Operator offers a straightforward way to configure this process through the spec.be.storage item in the DorisCluster CRD.

apiVersion: al-assad.github.io/v1beta1
kind: DorisCluster
metadata:
  name: basic
spec:
  version: 2.0.3
  fe:
    baseImage: ghcr.io/linsoss/doris-fe
    replicas: 3
    requests:
      cpu: 500m
      memory: 1Gi
      storage: 50Gi
  be:
    baseImage: ghcr.io/linsoss/doris-be
    replicas: 3
    requests:
      cpu: 500m
      memory: 1Gi
    ## The custom storage of BE used to support cold and hot storage separation.
    ## Ref: https://doris.apache.org/docs/1.2/install/standard-deployment/#deploy-be
    ##    name: custom storage name
    ##    medium: storage medium, SSD(hot storage) or HDD(cold storage)
    ##    request: storage capacity, e.g. "500Gi"
    ##    storageClassName: k8s storage class name for the pvc
    storage:
      - name: storage-cold-1
        medium: HDD
        request: 500Gi
        storageClassName: hdd-pool
      - name: storage-cold-2
        medium: HDD
        request: 500Gi
        storageClassName: hdd-pool
      - name: storage-hot
        medium: SSD
        request: 200Gi
        storageClassName: ssd-pool

For the preparation of StorageClass and PV, please refer to: Configuring Storage Class.