Doris: update 更新慢的问题 解决办法

10 阅读3分钟

doris: update 更新慢的问题 解决办法: 通过数据导入(INSERT INTO )实现高效的数据更新。

一:全列更新 :将update 换成 INSERT INTO 数据导入方式,带上唯一键。
做法:先查出来,再设置需要修改的列。 最后insert into 导入进去最终版本数据 update v2=1。

备注:改成导入的话,一个批次就写完了,秒级完成的。一个批次可以支持1Gb级别的数据量导入doris

help.aliyun.com/document_de…

二:部分列更新:

DDL 设置 : enable_insert_strict的值为false

做法

	<insert id="updateabc">
		SET enable_unique_key_partial_update = true;
		insert into tableA(a,b,c) select * from tableB;
		SET enable_unique_key_partial_update = false;
	</insert>
        

ask.selectdb.com/questions/D…

Apache Doris 简介

Apache Doris 是一个开源的 MPP(大规模并行处理)数据库,主要用于在线分析处理(OLAP)场景。它支持实时数据仓库和数据湖分析,能够高效地处理大规模数据集。Doris 以其高性能、高可用性和易用性而受到广泛欢迎,适用于各种数据分析和业务智能场景。

核心特性

  1. 高性能

    • 列存储:Doris 采用列存储格式,能够高效地进行数据压缩和编码,减少存储空间,同时提升读写性能。
    • 向量化执行:通过向量化执行引擎,Doris 能够批量处理数据,显著提升查询性能。
    • 分布式架构:Doris 采用分布式架构,支持水平扩展,能够处理大规模数据集。
  2. 高可用性

    • 多副本存储:数据在多个节点上存储多个副本,确保数据的高可用性和可靠性。
    • 自动故障转移:在节点故障时,Doris 能够自动进行故障转移,确保服务的连续性。
  3. 易用性

    • SQL 标准:Doris 支持标准的 SQL 语法,用户可以使用熟悉的 SQL 语言进行数据查询和分析。
    • 多种数据源支持:Doris 支持从多种数据源(如 MySQL、Kafka、HDFS 等)导入数据,方便数据集成。
    • Web 管理界面:Doris 提供了 Web 管理界面,用户可以通过浏览器进行集群管理和查询操作。

架构设计

Doris 的架构主要由以下几部分组成:

  1. FE(Frontend)

    • 协调节点:负责管理元数据、任务调度、查询优化等。
    • 高可用:通常部署多个 FE 节点,通过选举机制确保高可用性。
  2. BE(Backend)

    • 数据节点:负责存储数据和执行具体的计算任务。
    • 水平扩展:可以通过增加 BE 节点来提升集群的存储和计算能力。
  3. Broker

    • 数据代理:负责数据的导入和导出,支持多种数据源的接入。

使用场景

  1. 实时数据分析

    • Doris 能够实时处理和分析数据,适用于需要快速响应的业务场景,如实时监控、实时报表等。
  2. 数据仓库

    • Doris 可以作为数据仓库使用,支持数据的存储、管理和分析,适用于企业级数据仓库场景。
  3. 数据湖分析

    • Doris 支持与数据湖(如 HDFS、S3 等)集成,能够高效地分析数据湖中的数据,适用于数据湖分析场景。

优势

  1. 高性能

    • Doris 的列存储和向量化执行引擎使其在处理大规模数据集时表现出色,能够快速响应复杂的查询请求。
  2. 高可用性

    • 多副本存储和自动故障转移机制确保了数据的高可用性和可靠性,适用于对数据可用性要求较高的场景。
  3. 易用性

    • 支持标准 SQL 语法和多种数据源接入,用户可以轻松上手,快速构建数据分析系统。
  4. 社区支持

    • Doris 拥有活跃的开源社区,用户可以获取丰富的文档、教程和技术支持,方便问题解决和功能扩展。

参考文件

www.bookstack.cn/read/doris-…