Doris:冷热分层

目录

一、冷热分层介绍  

二、存储策略(Storage policy)

2.1 创建存储资源

2.2 创建存储策略

2.3 使用存储策略

三、使用限制


一、冷热分层介绍  

        冷热分层支持所有 Doris 功能,只是把部分数据放到对象存储上,以节省成本,不牺牲功能。因此有如下特点:

  • 冷数据放到对象存储上,用户无需担心数据一致性和数据安全性问题
  • 灵活的 Freeze 策略,冷却远程存储 Property 可以应用到表和 Partition 级别
  • 用户查询数据,无需关注数据分布位置,若数据不在本地,会拉取对象上的数据,并 cache 到 BE 本地
  • 副本 clone 优化,若存储数据在对象上,则副本 clone 的时候不用去拉取存储数据到本地
  • 远程对象空间回收 recycler,若表、分区被删除,或者冷热分层过程中异常情况产生的空间浪费,则会有 recycler 线程周期性的回收,节约存储资源
  • cache 优化,将访问过的冷数据 cache 到 BE 本地,达到非冷热分层的查询性能
  • BE 线程池优化,区分数据来源是本地还是对象存储,防止读取对象延时影响查询性能

二、存储策略(Storage policy)

        存储策略是使用冷热分层功能的入口,用户只需要在建表或使用 Doris 过程中,给表或分区关联上 Storage policy,即可以使用冷热分层的功能。

2.1 创建存储资源

        仅 root 或 admin 用户可以创建资源。目前支持 Spark, ODBC, S3, JDBC, HDFS, HMS, ES 外部资源。

#创建资源

CREATE RESOURCE "s3_minio"
PROPERTIES
(
   "type" = "s3",
   "s3.endpoint" = "http://192.168.179.134:9000",
   "s3.region" = "bj",
   "s3.access_key" = "minio",
   "s3.secret_key" = "minio123456",
   "s3.root.path" = "/data/opt/minio/data",
   "s3.bucket" = "doris"
);

# 查看资源

 SHOW RESOURCES WHERE NAME = "s3_minio";

#删除资源

DROP RESOURCE s3_minio

2.2 创建存储策略

#创建存储测试
CREATE STORAGE POLICY s3_minio_policy PROPERTIES (
   "storage_resource" = "s3_minio",
   "cooldown_ttl" = "1d"
)


#查看存储策略
SHOW STORAGE POLICY;

#删除存储策略
DROP STORAGE POLICY s3_minio_policy

2.3 使用存储策略

        新建表时指定存储策略:

CREATE TABLE IF NOT EXISTS create_table_use_created_policy (
    k1 BIGINT,
    k2 LARGEINT,
    v1 VARCHAR(2048)
)
UNIQUE KEY(k1)
DISTRIBUTED BY HASH (k1) BUCKETS 3
PROPERTIES(
    "storage_policy" = "s3_minio_policy"
);

        对一个已存在的表,关联 Storage policy:

ALTER TABLE create_table_not_have_policy set ("storage_policy" = "s3_minio_policy");

        对一个已存在的 partition,关联 Storage policy:

ALTER TABLE create_table_partition MODIFY PARTITION (*) SET("storage_policy"="s3_minio_policy");

三、使用限制

  • 单表或单 Partition 只能关联一个 Storage policy,关联后不能 Drop 掉 Storage policy,需要先解除二者的关联。
  • Storage policy 关联的对象信息不支持修改数据存储 path 的信息,比如 bucket、endpoint、root_path 等信息
  • Storage policy 支持创建 和修改和支持删除,删除前需要先保证没有表引用此 Storage policy。
  • Unique 模型在开启 Merge-on-Write 特性时,不支持设置 Storage policy。

相关推荐

  1. Doris 日志分析案例

    2024-06-16 19:46:03       9 阅读
  2. Apache Doris 基础 -- 数据表设计(分层存储)

    2024-06-16 19:46:03       6 阅读
  3. 冷热数据分离方案

    2024-06-16 19:46:03       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-16 19:46:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-16 19:46:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-16 19:46:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-16 19:46:03       20 阅读

热门阅读

  1. node环境常见问题

    2024-06-16 19:46:03       5 阅读
  2. 【杂记-浅谈SNMP网络管理标准协议】

    2024-06-16 19:46:03       11 阅读
  3. Azure OpenAI 服务

    2024-06-16 19:46:03       9 阅读
  4. LeetCode 0521.最长特殊序列 Ⅰ:脑筋急转弯

    2024-06-16 19:46:03       10 阅读
  5. Qt进程间通信QLocalSocket客户端无法接收消息

    2024-06-16 19:46:03       7 阅读
  6. Eclipse 内容辅助

    2024-06-16 19:46:03       10 阅读
  7. Redis数据结构之字符串(sds)

    2024-06-16 19:46:03       5 阅读
  8. c语言中的宏是什么?

    2024-06-16 19:46:03       7 阅读
  9. 速盾:服务器遭受ddos攻击如何防御

    2024-06-16 19:46:03       10 阅读
  10. 堆排序(Heap_sort)

    2024-06-16 19:46:03       9 阅读
  11. stm32实战

    2024-06-16 19:46:03       6 阅读
  12. vue3:父组件如何给子组件传值

    2024-06-16 19:46:03       6 阅读
  13. leetcode 字符串

    2024-06-16 19:46:03       7 阅读