apache doris 和 clickhouse的区别

news/2025/9/18 14:49:17/文章来源:https://www.cnblogs.com/hanease/p/19098772
Apache Doris 和 ClickHouse 均为 MPP(大规模并行处理)架构的列式存储 OLAP 数据库,核心定位都是解决海量数据下的高性能分析查询场景,但二者在技术设计、生态适配、适用场景等维度存在显著差异。以下从 核心架构、存储与计算、查询能力、生态与运维、适用场景 五大维度展开对比,帮助明确二者的区别与选型方向。

一、核心架构:Shared-Nothing 与 “存算分离” 的不同侧重

二者均基于 Shared-Nothing 架构(各节点独立存储和计算,无共享资源),但在 “存算关系” 和 “节点角色” 设计上存在本质差异:

 

特性Apache DorisClickHouse
节点角色 分为 FE(Frontend) 和 BE(Backend) 两层:
- FE:负责元数据管理、查询解析优化、集群调度(无状态,可水平扩展);
- BE:负责数据存储、计算执行(有状态,存储本地数据)。
节点角色统一为 Server,无明确 FE/BE 分层:
- 每个节点既是 “计算节点” 也是 “存储节点”,元数据(如表结构)通过 Zookeeper 同步;
- 需手动指定 “协调节点(Coordinator)” 处理查询解析,其他节点作为 “工作节点(Worker)” 执行计算。
存算架构 支持 本地存储(默认)和 存算分离(基于 S3/HDFS 等对象存储,2022 年后逐步成熟),BE 可按需选择 “存储 + 计算” 或 “纯计算” 角色。 以 本地存储 为核心设计,依赖节点本地磁盘(推荐 SSD)实现极致 IO 性能;
- 虽支持 S3 等对象存储作为 “冷数据存储”,但非核心场景,性能远弱于本地存储。
集群扩展性 FE 扩展(元数据 / 调度)和 BE 扩展(存储 / 计算)独立,支持数千节点规模,扩容时可按需新增 BE(存储 + 计算)或纯计算节点。 节点扩展需同步增加 “存储 + 计算” 资源,扩容成本较高;
- 单集群支持数百到上千节点,但大规模集群下元数据同步(依赖 ZK)和查询调度压力较大。

二、存储与计算:列式存储的 “精细化优化” 差异

二者均采用 列式存储(按列存储数据,减少分析查询的 IO 量),但在数据压缩、分区分桶、计算引擎优化上有不同侧重:

1. 数据存储与压缩

特性Apache DorisClickHouse
存储格式 自研 列式存储格式,支持动态分区(按时间 / 范围自动创建 / 删除分区)、分桶(Hash/Random 分桶,支持多列分桶);
- 支持 “前缀索引”(每行数据的前 N 个字段构成索引,加速等值查询)。
支持多种存储引擎,核心为 MergeTree 系列(如 ReplacingMergeTree、SummingMergeTree):
- 按 “分区键 + 排序键” 组织数据,分区支持动态创建,排序键决定数据物理存储顺序(加速范围查询);
- 无 “前缀索引”,依赖排序键和稀疏索引(Skip Index)优化查询。
压缩算法 默认 LZ4,支持 Snappy、ZSTD 等,压缩比适中,兼顾性能与空间。 支持 LZ4、ZSTD、Delta 等,尤其优化 整数类型压缩(如 Delta 压缩对时间序列数据极友好),压缩比通常高于 Doris,空间利用率更优。
数据更新 支持 UPSERT/MERGE INTO(基于主键的行级更新),更新逻辑由 BE 本地处理,延迟较低(秒级);
- 支持 Delete 操作(标记删除,后台异步清理)。
原生不支持行级更新 / 删除,需通过 ReplacingMergeTree(按主键替换)或 ALTER TABLE ... DELETE(标记删除)实现,更新为 “异步合并” 机制,延迟较高(分钟到小时级,依赖合并策略);
- 不支持事务,更新操作存在 “中间状态可见” 问题。

2. 计算引擎与执行

特性Apache DorisClickHouse
计算模型 基于 Volcano 模型(迭代式执行),支持向量化执行(Vectorized Execution),但向量化覆盖范围较 ClickHouse 窄(主要优化扫描、聚合算子)。 核心采用 向量化执行模型(全链路向量化,从扫描、过滤到聚合、Join 均优化),配合 SIMD 指令(单指令多数据),CPU 利用率极高,单节点计算性能远超 Doris。
Join 能力 支持 Hash Join、Broadcast Join、Shuffle Join,对大表 Join 优化较好(如动态调整 Join 策略);
- 支持 Left/Right/Inner Join,不支持 Full Outer Join(需通过 Union 间接实现)。
支持 Hash Join、Merge Join、Broadcast Join,Merge Join 性能极优(依赖数据按 Join 键排序,避免 Hash 构建开销);
- 支持 Full Outer Join,但大表 Shuffle Join 性能较弱(内存占用高,易 OOM)。
聚合能力 支持常规聚合(COUNT、SUM、AVG)和窗口函数(如 ROW_NUMBER、RANK),窗口函数性能中等,适合中小规模数据集。 聚合性能极强,支持 预聚合(如 SummingMergeTree 自动聚合历史数据)、近似聚合(如 HyperLogLog 计算基数、TDigest 计算分位数),窗口函数性能远超 Doris,适合超大规模数据集的复杂聚合。

三、查询能力:SQL 兼容性与场景适配

二者均支持标准 SQL,但在 SQL 兼容性、查询类型优化、特殊场景支持上差异明显:

 

特性Apache DorisClickHouse
SQL 兼容性 高度兼容 MySQL 协议,可直接使用 MySQL 客户端(如 Navicat、MySQL CLI)连接,SQL 语法贴近 MySQL(如 CREATE TABLE、INSERT 语法),降低用户迁移成本。 支持自定义 SQL 语法,兼容部分 MySQL 协议(需通过第三方驱动),但语法差异较大(如数据类型、函数命名);
- 函数丰富度极高(如时间序列函数、地理信息函数、字符串处理函数),但部分函数与标准 SQL 不一致。
查询延迟 支持 低延迟查询(毫秒到秒级),适合 “高并发小查询” 场景(如仪表盘、用户行为实时分析);
- 大查询(TB 级)性能中等,低于 ClickHouse。
极致优化 大查询性能(TB/PB 级数据查询可在秒到分钟级完成),但 “高并发小查询” 支持较弱(单节点并发能力约 100-500 QPS,超过易导致 CPU 飙升)。
特殊场景支持 - 支持 物化视图(预计算结果存储,加速高频查询),支持增量刷新;
- 支持 外部表(对接 Hive、Iceberg、Hudi 等,可直接查询外部数据,无需导入);
- 支持 OLTP 混合查询(如简单点查、小范围更新)。
- 支持 物化视图,但仅支持全量刷新,增量刷新需手动实现;
- 支持外部表(对接 HDFS、S3、Kafka 等),但对湖仓生态(Iceberg/Hudi)的支持不如 Doris 成熟;
- 不适合 OLTP 场景,点查性能差(无主键索引,需全列扫描)。

四、生态与运维:易用性与生态适配

特性Apache DorisClickHouse
生态对接 生态更 “轻量化” 且贴近数据湖 / 仓:
- 原生支持对接 Hive、Iceberg、Hudi、Kafka(实时导入)、MySQL(外部表);
- 支持与 Spark/Flink 集成(作为 sink 或 source),适合湖仓一体架构。
生态更侧重 “独立分析”:
- 原生支持 Kafka(实时导入性能极强)、HDFS、S3;
- 与 Spark/Flink 集成需通过第三方工具,对 Iceberg/Hudi 等湖表的支持较晚,成熟度低。
部署与运维 部署简单(FE/BE 二进制包启动,支持 Docker/K8s),提供 Web UI(FE 自带)监控集群状态;
- 元数据管理集中(FE 负责),集群扩容、缩容操作简单,运维成本低。
部署依赖 Zookeeper(元数据同步),节点角色无分层,需手动配置协调节点和副本;
- 监控需依赖第三方工具(如 Prometheus + Grafana),大规模集群下副本同步、数据合并(Merge)的运维复杂度高。
社区与文档 Apache 顶级项目,中文社区活跃(国内厂商如百度、字节跳动贡献大),中文文档完善,问题响应快。 由 Yandex 开源,国际社区活跃,中文文档较少(多为第三方翻译),国内社区支持主要依赖厂商(如阿里云、腾讯云)。

五、适用场景:选型的核心依据

二者的差异最终体现在适用场景的 “倾向性” 上,需结合业务需求(并发、延迟、数据规模、更新频率)选择:

Apache Doris 适用场景

  1. 高并发低延迟查询:如业务仪表盘(Dashboard)、实时报表(QPS 要求 1000+,延迟毫秒级);
  2. 湖仓一体分析:需对接 Hive/Iceberg/Hudi 等湖表,实现 “数据不迁移、直接查询”;
  3. OLTP 与 OLAP 混合查询:需支持简单点查、行级更新(如用户画像实时更新、订单状态分析);
  4. 中小规模数据量分析:数据量在 TB 级以内,需平衡查询性能与运维成本。

ClickHouse 适用场景

  1. 超大规模数据离线分析:如 PB 级用户行为日志分析、全量数据聚合(如 DAU/MAU 计算);
  2. 时间序列数据存储与分析:如监控数据(Metrics)、IoT 传感器数据(按时间排序,压缩比高,查询以范围聚合为主);
  3. 高吞吐实时导入:需从 Kafka 等消息队列实时导入数据(ClickHouse 单节点 Kafka 导入吞吐可达 10 万 + 行 / 秒);
  4. 复杂聚合查询:如多维度分位数计算、基数统计(依赖 HyperLogLog/TDigest 等近似算法)。

六、核心差异总结表

对比维度Apache DorisClickHouse
架构设计 FE/BE 分层,支持存算分离 无分层,依赖本地存储,存算耦合
存储优化 前缀索引,支持行级更新 MergeTree 引擎,排序键优化,更新延迟高
计算性能 高并发小查询优,大查询中等 大查询 / 聚合优,高并发弱
SQL 兼容性 兼容 MySQL,易用性高 自定义语法,函数丰富但兼容性低
生态适配 湖仓一体(Hive/Iceberg)支持好 Kafka 实时导入优,湖表支持弱
运维成本 部署简单,运维成本低 依赖 ZK,合并策略复杂,运维成本高
核心场景 实时报表、湖仓查询、混合负载 离线大数据分析、时间序列监控、高吞吐导入

选型建议

    1. 优先选 Apache Doris:如果业务需要 高并发低延迟查询、对接数据湖、简单行级更新,或团队熟悉 MySQL 生态、追求低运维成本;
    2. 优先选 ClickHouse:如果业务是 PB 级离线分析、时间序列数据处理、高吞吐实时导入,且能接受较高的运维复杂度和更新延迟。

-------------------------------------------------------------------------------------------

apache doris 和 clickhouse的技术对比
Apache Doris 和 ClickHouse 均为 高性能列式存储分析型数据库(OLAP),专注于海量数据的实时 / 离线分析场景,但二者在技术架构、核心特性、适用场景上存在显著差异。以下从 技术架构、存储引擎、查询能力、写入特性、生态集成、适用场景 六大维度进行深度对比,帮助理解二者的技术定位与选型逻辑。

一、核心定位与技术架构

二者的底层设计理念差异,决定了其在 “分析性能” 与 “功能通用性” 上的不同侧重:

维度Apache DorisClickHouse
核心定位 融合数仓与实时分析的 MPP 架构 OLAP,追求 “实时性 + 功能通用性”,支持复杂查询与高并发写入 极致性能的 列式存储 OLAP,专注 “单表 / 宽表极速分析”,以牺牲部分功能灵活性换取极致查询性能
架构模型 经典 MPP(Massively Parallel Processing):
- 前端节点(FE):负责元数据管理、查询解析与调度
- 执行节点(BE):负责数据存储、计算执行
- 无状态 FE 可水平扩展,BE 按分区 / 分桶并行计算
混合架构(类 MPP + 共享存储):
- 无严格 “FE/BE” 划分,每个节点既是计算节点也是存储节点
- 依赖 ZK 管理元数据,查询时通过节点间协同并行计算
- 支持本地存储(默认)或对象存储(S3/HDFS,需配置)
计算模型 基于 “SQL 引擎 + 算子下推”,支持复杂查询的多阶段执行(如 Join、子查询、窗口函数),计算过程中数据在节点间流转(Shuffle) 基于 “向量执行引擎(Vectorized Execution)”,计算以 “向量(批量数据)” 为单位,减少 CPU 指令开销;不擅长跨节点 Shuffle,复杂 Join 性能较弱
分布式一致性 基于 Paxos 协议实现 FE 元数据高可用,BE 数据通过副本(默认 3 副本)保证可靠性 元数据通过 ZK 保证一致性,数据可靠性依赖 “副本机制”(默认 1 副本,需手动配置多副本),无内置分布式一致性协议

二、存储引擎与数据模型

存储引擎的设计直接影响 数据压缩率、查询效率、写入延迟,二者均采用列式存储,但细节差异显著:

1. 存储结构

特性Apache DorisClickHouse
存储粒度 支持 行存(OLTP 场景)+ 列存(OLAP 场景),默认列存;数据按 “分区(Partition)+ 分桶(Bucket)” 两层划分:
- 分区:按时间 / 范围 / 列表划分(如按天分区)
- 分桶:按哈希 / 范围划分,实现数据均匀分布
仅支持 列存,数据按 “分区(Partition)+ 分桶(Replica)” 划分:
- 分区:支持范围 / 列表 / 哈希分区,时间序列数据常用 “按天分区”
- 分桶:每个分区下按哈希划分为多个 “部分(Part)”,每个 Part 是独立的压缩文件
压缩算法 默认 LZ4 压缩,支持 Snappy、ZSTD 等;压缩粒度为 “列组”(多列合并压缩,平衡压缩率与查询效率) 极致压缩:默认 LZ4,支持 ZSTD、Delta(数值型)、DoubleDelta(时间型)等算法;压缩粒度为 “列”,针对不同数据类型优化(如时间列用 DoubleDelta 压缩率极高)
索引机制 多层索引体系,兼顾查询效率与灵活性:
- 主键索引(Unique Key):支持唯一约束,用于快速定位行
- 分区索引:按分区过滤数据
- bloomfilter 索引:针对非主键列的模糊查询优化
- 位图索引(Bitmap Index):用于高基数列的过滤与聚合
轻量级索引,聚焦 “极速扫描”:
- 主键索引(Order By Key):非唯一约束,按主键排序存储,用于范围查询加速
- 跳数索引(Skip Index):针对稀疏数据的范围过滤优化
- 位图索引(RoaringBitmap):内置支持,用于高基数列的聚合(如 UV 计算)

三、查询能力:复杂 vs 极速

查询能力的差异是二者最核心的技术区别,直接决定适用场景:

维度Apache DorisClickHouse
SQL 兼容性 高兼容性:支持完整 SQL 标准,包括:
- 复杂 Join(内连接 / 外连接 / 交叉连接,支持多表 Join)
- 子查询(关联子查询、非关联子查询)
- 窗口函数(Rank、RowNumber、聚合窗口等)
- 常见数仓函数(Cube、Rollup、Grouping Sets)
基础 SQL 支持,复杂查询能力弱:
- 支持简单 Join(内连接为主,外连接需谨慎使用,多表 Join 性能差)
- 子查询支持有限(不支持关联子查询,需改写为 Join)
- 窗口函数支持,但性能弱于 Doris
- 不支持 Cube/Rollup 等数仓高级聚合
查询性能 中高查询性能:
- 针对复杂查询(多表 Join、子查询)优化,支持算子下推与 Runtime Filter
- 单表查询性能略逊于 ClickHouse,但复杂场景更稳定
极致单表性能:
- 向量执行引擎 + 列存压缩,单表扫描速度可达 GB/s 级别(如 10 亿行数据聚合秒级返回)
- 复杂查询(多表 Join)性能差,易出现内存溢出
并发查询支持 支持高并发:
- FE 可水平扩展,BE 按分桶隔离查询负载
- 支持查询队列与资源隔离,适合多用户同时查询(如 BI 报表场景)
低并发支持:
- 设计初衷是 “高吞吐离线分析”,单查询占用大量 CPU / 内存
- 并发查询(如 100+ 并发)易导致性能骤降,需通过 Proxy 层(如 ClickHouse Proxy)做限流

四、数据写入:实时性 vs 批量性

写入特性决定了二者在 “实时数据接入” 场景的适用性:

维度Apache DorisClickHouse
写入模式 支持多模式写入,兼顾实时与批量:
- 实时写入:Stream Load(HTTP 接口,秒级可见)、Flink/Spark CDC 接入
- 批量写入:Broker Load(从 HDFS/S3 导入)、Routine Load(从 Kafka 消费)
- 支持 Upsert/Delete(基于主键索引,支持实时数据更新)
以 “批量写入” 为主,实时写入需特殊优化:
- 批量写入:Insert Into、ClickHouse-client 导入(支持 CSV/Parquet 等格式)
- 实时写入:Kafka 引擎表(直接关联 Kafka Topic,准实时消费)
- Upsert/Delete 支持有限:需通过 “ReplacingMergeTree” 引擎异步去重,更新延迟高(分钟级)
写入性能 高写入吞吐量:
- 支持批量提交(默认 1024 行批量),单 BE 写入吞吐量可达 100MB/s
- 支持写入限流,避免冲击查询性能
极高批量写入性能:
- 列式存储 + 批量写入优化,单节点写入吞吐量可达 GB/s 级别
- 实时写入(Kafka 引擎表)延迟约 1-5 秒,但高并发写入易导致 Part 过多,影响查询性能
数据一致性 写入原子性:
- Stream Load/Broker Load 支持 “全量成功或全量失败”,数据写入后立即可见
- Upsert/Delete 操作基于事务,保证数据一致性
最终一致性:
- 批量写入原子性(单批次要么全成功,要么全失败)
- 异步去重(ReplacingMergeTree)导致短期数据不一致,需通过 “OPTIMIZE TABLE” 手动触发合并

五、生态集成与运维

生态适配性决定了与现有数据栈(如 Hadoop、Flink、BI 工具)的融合成本:

维度Apache DorisClickHouse
数据源集成 生态丰富,无缝对接大数据栈:
- 上游:支持 Kafka、Flink、Spark、HDFS、S3、MySQL(CDC)
- 下游:支持 JDBC/ODBC 对接 BI 工具(Tableau、PowerBI、FineBI)、导出至 HDFS
基础生态支持,部分需自定义集成:
- 上游:支持 Kafka(引擎表)、HDFS(通过 ClickHouse HDFS 插件)、Spark(通过 JDBC)
- 下游:支持 JDBC/ODBC 对接 BI 工具,但部分工具(如 PowerBI)需适配
监控与运维 完善的运维工具:
- 内置 Web UI(FE/BE 状态监控)
- 支持 Prometheus + Grafana 监控
- 提供命令行工具(mysql-client 兼容),运维成本低
运维工具较基础:
- 无内置 Web UI,需依赖第三方工具(如 Tabix、ClickHouse Manager)
- 支持 Prometheus 监控,但部分指标需自定义配置
- 分区 / Part 管理复杂(需手动清理过期 Part)
扩容与缩容 简单易用:
- FE 无状态,直接新增节点即可扩容
- BE 支持动态扩容(添加节点后自动 Rebalance 分桶)
- 缩容支持 “下线节点 - 数据迁移 - 删除节点”,过程平稳
扩容复杂:
- 新增节点后需手动迁移 Part(通过 ALTER TABLE ... MOVE PARTITION
- 缩容易导致数据丢失(需提前备份),无自动 Rebalance 机制

六、适用场景与选型建议

基于上述技术差异,二者的适用场景有明确边界:

Apache Doris 适用场景

  1. 实时数仓场景:需同时支持实时写入(如 CDC 数据)与复杂查询(多表 Join、窗口函数),例如实时销售分析、用户行为实时报表。
  2. 多用户 BI 分析:需支持高并发查询(如 100+ 用户同时访问),且查询包含复杂逻辑(如子查询、聚合),例如企业内部 BI 平台。
  3. 混合负载场景:需兼顾批量导入(HDFS 数据)与实时查询,且需要数据更新(Upsert/Delete),例如用户标签库(实时更新标签,离线计算指标)。

ClickHouse 适用场景

  1. 单表极速分析场景:数据为宽表(如 100+ 列),查询以单表聚合、过滤为主,例如用户行为日志分析(10 亿行数据秒级计算 PV/UV)。
  2. 离线高吞吐分析:批量导入大量数据(如每日 TB 级日志),并进行快速统计,例如日志审计、监控指标汇总。
  3. 时序数据存储:时间序列数据(如监控指标、IoT 数据),按时间分区,查询以 “时间范围 + 聚合” 为主,例如服务器监控 dashboard。

选型决策树

  1. 若查询包含 多表 Join、子查询、窗口函数 → 优先 Apache Doris;
  2. 若为 单表宽表分析,追求极致查询速度(如 10 亿行聚合秒级返回)→ 优先 ClickHouse;
  3. 若需 高并发查询(如 BI 多用户访问) → 优先 Apache Doris;
  4. 若需 实时数据更新(Upsert/Delete) → 优先 Apache Doris;
  5. 若为 时序数据 / 日志数据,批量写入 + 单表统计 → 优先 ClickHouse。

七、总结:核心差异对照表

对比维度Apache DorisClickHouse
架构 经典 MPP(FE+BE),支持灵活扩展 类 MPP(无 FE/BE 划分),扩展复杂
存储 行存 + 列存,支持分区 + 分桶 仅列存,分区 + Part 存储
查询能力 复杂查询(多表 Join / 窗口函数)强 单表查询极致快,复杂查询弱
写入特性 支持实时写入 + Upsert,一致性高 批量写入快,实时更新弱(最终一致)
并发支持 高并发(多用户 BI) 低并发(单查询占满资源)
生态 对接大数据栈(Flink/Spark/HDFS)好 基础生态,部分需自定义
适用场景 实时数仓、多用户 BI、混合负载 单表分析、日志 / 时序数据、离线统计

二者均为优秀的 OLAP 数据库,无绝对 “优劣”,关键在于 匹配业务场景的核心需求:追求 “功能通用性 + 复杂查询 + 高并发” 选 Doris,追求 “单表极致性能 + 批量吞吐” 选 ClickHouse。

-------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/907178.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python numba jit加速计算

安装pip install numba使用示例import timefrom numba import jit# 原始函数 def python_sum(n):total = 0for i in range(n):total += ireturn total# Numba 加速版本 @jit(nopython=True) def numba_sum(n):total = …

人机协作开发新体验:花两天时间与Cursor共同打造一个微信小程序

前言 在过去的几天里,我完成了一个完整的微信小程序项目——双色球机选应用。 这个项目的独特之处在于,所有的代码编写工作都是由 Cursor 完成的,而我主要负责需求分析、功能规划和调试测试。项目概述 应用功能 我开…

OEC-Turbo刷群晖Armbian流程记录

记录OEC-Turbo的刷机流程,为以后反复折腾做参考。 设备版本:OEC L2.0,不清楚1.0和2.0的区别 系统:Windows 11 准备工具瑞芯微驱动 瑞芯微烧录工具 Loader文件 固件 镊子 Type-C数据线工具下载链接:https://pan.qu…

01_网络分层模型

一、OSI 七层网络模型 所谓七层就是基于 URL 等应用层信息的负载均衡,四层就是基于 IP + 端口的负载均衡,同样的还有基于二层 MAC 地址,三层 IP 地址的负载均衡。 而 OSI(Open System Interconnection,开放式通信互…

SaaS 是什么?一文带你看懂 SaaS 与传统软件的区别

SaaS 发音类似于「萨斯」,是 Software as a Service 的缩写,直译过来就是「软件即服务」。你可以这样理解: 在 SaaS 模式下,软件变得和水电气很相似,你只需要每月缴纳固定的费用即可享受服务。再举个比较具体的例…

FreeCAD-即时入门-全-

FreeCAD 即时入门(全)原文:zh.annas-archive.org/md5/ba46ce5f33da4fa68df84701f1baaf8a 译者:飞龙 协议:CC BY-NC-SA 4.0前言 FreeCAD 是一个面向工程世界的通用建模工具。与为动画师和艺术家设计的其他建模工具…

UOS统信服务器操作系统V20(1070)安装mysql8.0.41(建议安装glibc2.28版本)

环境:OS:UOS Server 20 统信服务器操作系统V20(1070)mysql:8.0.41 glib.2.17 操作系统下载https://www.chinauos.com/resource/download-server查看系统glibc版本[root@localhost yum.repos.d]# ldd --versionldd (GNU…

MyEMS:重新定义人与能源的关系 —— 一场藏在数据里的能源管理革命

能源,这个推动现代文明运转却始终隐形的主角,正通过数字技术与我们建立全新的对话方式。MyEMS作为开源能源管理系统,正在悄然引领这场变革——它不仅改变我们管理能源的方式,更在重新定义人与能源之间的关系。 从被…

TJOI2007--线段

题目传送门代码点击查看代码 #include<bits/stdc++.h> using namespace std; const int N=2e4+10; int n; int l[N],r[N],len[N]; int dp[N][2]; //dp[i][0]表示停留在本行左端点 //那么就要到右端点在再回到左…

KEITHLEY 数字万用表 能测试电阻吗

KEITHLEY 数字万用表 能测试电阻吗KEITHLEY 数字万用表(DMM, Digital Multimeter) 都具备 电阻测量功能。 🔹 一般 KEITHLEY 的 DMM(如 DMM6500、DMM7510、2000/2100 系列 等)都有以下功能:直流电压 DCV交流电压…

PolarFire SoC 移植 xprintf

PolarFire SoC 移植 xprintf1、xprintf 简介ELM - Embedded String Functions xprintf 是一个紧凑的字符串 I/O 库。它非常适合程序内存不足的微型微控制器来执行常规 printf 功能。推荐用途是:将格式化的字符串写入 …

ceph集群的部署

需要准备三台虚机,下载好cephadm包 安装命令:ceph bootstarp --mon-ip=192.168.10.3 --allow-fqdn-hostname 像这样把下列命令对应要求填写命令,就可以安装ceph --allow-fqdn-hostname :允许使用主机作为域名访问mg…

充电桩测试:守护绿色出行的安全密码

在新能源汽车蓬勃发展的时代浪潮下,充电桩作为核心配套设施,其质量与安全性至关重要。每一次稳定的充电过程背后,都离不开严谨细致的测试工作。那么,在充电桩测试中究竟需要注意哪些关键点呢? 电气性能是首要考量…

如何写好一个缺陷报告?让开发无法拒绝修复的10个要素

记住,测试人员与开发人员不是对立关系,而是协作共赢的伙伴。我们共同的目标是交付高质量的产品,为用户创造价值。当你用专业、细致、合作的态度对待每一个缺陷时,开发人员会更加重视你的报告,团队协作也会更加顺畅…

代码规范与《数学之美》

代码规范与《数学之美》一、代码规范 1、命名规范 标识符命名:应做到统一、达意和简洁。例如,阿里巴巴规定类名使用 UpperCamelCase 风格,方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格。 常量…

不重启、不重写、不停机:SLS 软删除如何实现真正的“无感数据急救”?

SLS 全新推出的「软删除」功能,以接近索引查询的性能,解决了数据应急删除与脏数据治理的痛点。2 分钟掌握这一数据管理神器。作者:屈岳(尧道) 引言 日志服务 SLS 作为云原生观测与分析平台,为 Log、Metric、Trac…

C#记录类型与集合的深度解析:从默认实现到自定义比较器

本文深入探讨C#记录类型与不可变集合在实际应用中的挑战,包括默认相等性实现的局限性、自定义比较器的需求、引用相等性的应用场景,以及Visual Studio工具支持方面的不足,并提出了具体的语言和工具改进建议。记录与…

安徽京准:NTP时间服务器助力网络数据安全稳定

安徽京准:NTP时间服务器助力网络数据安全稳定 安徽京准:NTP时间服务器助力网络数据安全稳定安徽京准:NTP时间服务器助力网络数据安全稳定 京准电钟官微——ahjzsz NTP时间服务器确实是保障网络数据安全与稳定的重要…

UOS统信服务器操作系统V20(1070)安装mysql5.7.42

环境:OS:UOS Server 20 统信服务器操作系统V20(1070)mysql:5.7.42 操作系统下载https://www.chinauos.com/resource/download-server查看系统glibc版本[root@localhost yum.repos.d]# ldd --versionldd (GNU libc) 2.2…