doris

一,安装

拉去镜像

以3.1.4 版本为例,我们需要拉去两个(fe、be)

复制代码
docker pull apache/doris:fe-3.1.4


docker pull apache/doris:be-3.1.4
创建docker-compose 文件
复制代码
docker-compose.yml
编辑内容

说明:里面的IP的必须指定为固定的 不能用docker 的服务去代替 内部需要无法解析

复制代码
services:
  doris-fe:
    image: apache/doris:fe-3.1.4
    container_name: doris-fe
    hostname: doris-fe
    environment:
      - FE_SERVERS=fe1:172.25.80.2:9010
      - FE_ID=1
      # 关键修改:通过环境变量强制设置默认副本数为 1
      - CONFIG_default_replication_num=1
    ports:
      - "8030:8030" 
      - "9030:9030" 
    volumes:
      - ./doris/fe/doris-meta:/opt/apache-doris/fe/doris-meta
      - ./doris/fe/log:/opt/apache-doris/fe/log
    networks:
      doris-net:
        ipv4_address: 172.25.80.2
 
  doris-be:
    image: apache/doris:be-3.1.4
    container_name: doris-be
    hostname: doris-be
    depends_on:
      - doris-fe
    environment:
      - FE_SERVERS=fe1:172.25.80.2:9010
      - BE_ADDR=172.25.80.3:9050
    ports:
      - "8040:8040" 
    volumes:
      - ./doris/be/storage:/opt/apache-doris/be/storage
      - ./doris/be/log:/opt/apache-doris/be/log
    networks:
      doris-net:
        ipv4_address: 172.25.80.3
 
networks:
  doris-net:
    driver: bridge
    ipam:
      config:
        - subnet: 172.25.80.0/24
启动
复制代码
docker compose up -d doris-fe doris-be
操作

fe 的访问界面

账号:root 密码 无

二,表的定义

1,表类型

在 Doris 中支持三种表类型:

  • 明细表(Duplicate Key Table):允许指定的 Key 列重复,Doirs 存储层保留所有写入的数据,适用于必须保留所有原始数据记录的情况;

  • 主键表(Unique Key Table):每一行的 Key 值唯一,可确保给定的 Key 列不会存在重复行,Doris 存储层对每个 key 只保留最新写入的数据,适用于数据更新的情况;

  • 聚合表(Aggregate Key Table):可根据 Key 列聚合数据,Doris 存储层保留聚合后的数据,从而可以减少存储空间和提升查询性能;通常用于需要汇总或聚合信息(如总数或平均值)的情况。

在建表后,表类型已经确认,无法修改。针对业务选择合适的类型至关重要:

  • Duplicate Key Table:适合任意维度的 Ad-hoc 查询。虽然同样无法利用预聚合的特性,但是不受聚合表的约束,可以发挥列列存的优势(只读取相关列,而不需要读取所有 Key 列)。

  • Unique Key Table:针对需要唯一主键约束的场景,可以保证主键唯一性约束。但是无法利用 ROLLUP 等预聚合带来的查询优势。

  • Aggregate Key Table :可以通过预聚合,极大地降低聚合查询时所需扫描的数据量和查询的计算量,非常适合有固定模式的报表类查询场景。但是该类型表对 count(*) 查询很不友好。同时因为固定了 Value 列上的聚合方式,在进行其他类型的聚合查询时,需要考虑语意正确性。

不写了 看官网把

主键表 - Apache Doris

相关推荐
daxiangxm17 小时前
GEO策略:让AI直接引用你的内容
开发语言·团队开发·运维开发·个人开发·数据库开发
geovindu4 天前
sql: JSON and XML Data Handling in SQL using sql server 2025
大数据·数据库·sqlserver·数据库开发·数据库架构
Allen_LVyingbo12 天前
信息化部门在AI时代的编程转移路径分析(上)
人工智能·python·算法·健康医疗·数据库开发·时序数据库·数据库架构
学好statistics和DS12 天前
数据库数据世界的逻辑基石:Armstrong公理系统全解析
数据库·数据库开发
Allen_LVyingbo12 天前
信息化部门在AI时代的编程转移路径分析(下)
人工智能·log4j·线性回归·健康医疗·数据库开发·时序数据库·数据库架构
geovindu18 天前
sql: Transaction & Concurrency Patterns using postgresql 18
postgresql·数据库开发·数据库架构
geovindu19 天前
sql: Transaction & Concurrency Patterns using Oracel 21c
oracle·数据库开发·数据库架构
geovindu19 天前
sql: Transaction & Concurrency Patterns using mysql 9.0
mysql·数据库开发·数据库架构
geovindu22 天前
sql:Data Modeling Patterns using PostgreSQL 18
postgresql·数据库开发·数据库架构
geovindu22 天前
sql: Query Design Patterns using sql server 2019
sqlserver·数据库开发·数据库架构