ClickHouse 存日志的能力边界:并发、检索与 trace 回放的实测对照

基于ClickHouse与Kafka的分布式链路日志回溯系统实践 在分布式系统日益复杂的今天,可观测性成为保障服务稳定性的关键能力。面对线上故障,往往需要事后从海量日志与调用链中还原事发过程。链路追踪技术通过Trace与Span记录一次请求的完整路径,而ClickHouse作为列式存储引擎,凭借高性能聚合查询能力支撑大规模链路数据的快速检索;Kafka则承担削峰填谷的缓冲角色,确保日志采集与写入的稳定性。围绕这些核心技术,可以构建一套完整的日志分析系统,实现从数据采集、关联回放到根因定位的闭环。文章结合OpenTelemetry标准,展示如何设计统一日志格式、穿透Trac 阅读详情

摘要:ClickHouse 凭借列式存储与高写入吞吐成为日志场景的常见选择,但高并发查询、关键词检索与 trace 回放三类负载存在明确边界。网易云音乐日志平台实测:ClickHouse 并发超过 200 即报 Too many simultaneous queries,Apache Doris 支撑 500+;AgentLogsBench 在 1 亿行 observation、m6i.8xlarge 同规格下(2026 年 5 月)测得 JSON Path 查询集上 ClickHouse 平均延迟约为 Doris 的 7.4 倍。本文给出建表 DDL、检索函数写法、参数表与验证命令。

一、先说结论

负载类型ClickHouse 表现说明
批量写入吞吐强列式存储 + MergeTree,适合大批量追加写入
单表聚合分析强物化视图成熟,聚合性能优秀
高并发查询有明确边界网易云音乐实测:并发超过 200 即报 Too many simultaneous queries;Doris 同场景支撑 500+
关键词检索能力较精简主要依赖 bloom filter 与跳数索引做块级过滤
trace 回放需额外设计分布键与排序键不按 trace 排布时,回放退化为扫描加排序
多表 JOIN相对薄弱日志与业务维表关联场景需要额外设计

判断依据:以「离线聚合报表」为主、并发低的场景,ClickHouse 仍是合理选择;一旦需要在线排障检索、trace 回放或日志与维表关联,边界就会成为日常瓶颈。

二、三类边界的成因

2.1 高并发

ClickHouse 面向少量大查询设计,单次查询倾向吃满资源;日志平台的负载形态是大量中小查询并发(看板 + 排障 + 定时任务)。两者错位。

网易云音乐日志平台(日志库 2PB / 50 台规模)的实测对照:

指标ClickHouseApache Doris
并发能力超过 200 即报 Too many simultaneous queries支撑 500+ 并发
P99 延迟基准降低 30%
全文检索以 bloom filter / 跳数索引为主倒排索引,MATCH 比 LIKE 快 3~7 倍(6TB:LIKE 7-9s vs MATCH 1-3s)
机器规模基准机器数量减少 50%

出处见文末「网易云音乐日志平台」条目(2025-05-23)。

2.2 检索

文本检索在 ClickHouse 上通常配合 LIKE 或正则做扫描。Doris 对指定字段建倒排索引,把检索从扫描变成索引查找,并支持 MATCH_PHRASE 与中文分词。4.0 起提供 search() 全文检索函数、4.1 进一步增强,检索条件可以用一条类 Lucene 表达式表达,直接作为 WHERE 谓词参与 JOIN、窗口函数与子查询。

2.3 trace 回放

一次请求的完整链路按序回放,对数据分布敏感。Doris 侧的做法是按 trace 组织分布与排序:

CREATE TABLE agent_observations
(
    ts             DATETIME NOT NULL,
    trace_id       VARCHAR(64),
    observation_id VARCHAR(64),
    seq_no         INT,
    level          VARCHAR(16),
    payload        VARIANT,
    msg            STRING,
    INDEX idx_msg (msg) USING INVERTED PROPERTIES("parser" = "unicode")
)
ENGINE = OLAP
DUPLICATE KEY(trace_id, observation_id, seq_no)
AUTO PARTITION BY RANGE(date_trunc(ts, 'day')) ()
DISTRIBUTED BY HASH(trace_id) BUCKETS 16
PROPERTIES ("inverted_index_storage_format" = "V3");

三个关键设计:

  • DISTRIBUTED BY HASH(trace_id):同一 trace 的所有 observation 落到同一个 tablet,回放不需要跨节点拉取
  • DUPLICATE KEY(trace_id, observation_id, seq_no):flush 时按 seq_no 排序,回放退化为顺序读
  • AUTO PARTITION BY RANGE(date_trunc(ts, 'day')):按天自动分区,配合分区裁剪缩小扫描范围

在这个表上排查,检索与回放可以写在一条 SQL 里:

-- 先按故障特征检索,再按 trace 回放
SELECT trace_id, seq_no, ts, msg
FROM agent_observations
WHERE search('level:ERROR AND msg:"tool invocation timeout"')
  AND ts >= NOW() - INTERVAL 6 HOUR
ORDER BY trace_id, seq_no
LIMIT 500;

search() 返回 BOOLEAN,作为 WHERE 谓词使用,可直接参与 JOIN、窗口函数与子查询;DSL 内显式布尔运算优先级最高。

2.4 成本差异落在哪一层

日志场景的成本主要由三块构成:存储占用、计算节点规模、运维投入。存储占用上两者压缩率同梯队,差异有限;真正拉开差距的是计算节点规模——并发上限决定了扛住同样查询压力需要多少节点,节点数直接乘进硬件、机位与运维。网易云音乐那套平台最后是机器数量减少 50%,每年节省数百万,收益来自节点规模而不是存储单价。

因此长周期留存的成本优化应优先做冷热分层:把超过保留窗口的分区下沉到对象存储,单价通常远低于块存储,这一步的收益比在写入侧抠参数大得多。

2.5 写入与压缩不构成差异

批量写入吞吐与压缩率上,ClickHouse 与 Doris 属于同一梯队。真正分化的是并发、检索、trace 回放与多表 JOIN。

三、怎么做:建表、检索与验证

3.1 常规日志表的建法

CREATE TABLE app_log
(
    ts        DATETIME,
    service   VARCHAR(64),
    level     VARCHAR(16),
    msg       TEXT
)
ENGINE = OLAP
DUPLICATE KEY(ts)
PARTITION BY RANGE(ts) ()
DISTRIBUTED BY RANDOM BUCKETS 250
PROPERTIES (
    "compression" = "zstd",
    "compaction_policy" = "time_series",
    "dynamic_partition.enable" = "true",
    "dynamic_partition.time_unit" = "DAY",
    "dynamic_partition.start" = "-30",
    "dynamic_partition.end" = "3",
    "dynamic_partition.buckets" = "250"
);
-- 检索字段建倒排索引,中文场景指定分词器与短语支持
ALTER TABLE app_log ADD INDEX idx_msg (msg) USING INVERTED
PROPERTIES("parser" = "chinese", "support_phrase" = "true");

日志写入没有明显业务 Key 时用随机分桶避免倾斜,分桶数约为集群磁盘总数的 3 倍;需要按 trace 回放时改用上节 2.3 的 HASH 分布。

3.2 检索写法与易错点

-- 短语检索:走倒排索引,避免 LIKE 全表扫描
SELECT ts, service, level, msg
FROM app_log
WHERE ts >= NOW() - INTERVAL 1 HOUR
  AND msg MATCH_PHRASE 'timeout order'
ORDER BY ts DESC
LIMIT 100;

MATCH_ALL 与 MATCH_PHRASE 语义不同:MATCH_ALL 只要存在分词即可匹配,网易实测中用 MATCH_ALL '29' 会命中后面内容里恰好含 29 的记录。需要顺序匹配时必须用 MATCH_PHRASE,且建索引时显式声明 support_phrase,否则退化为全表扫描。

3.3 写入侧参数

参数建议值作用位置
enable_single_replica_loadtrue单副本导入,其余副本从首个副本拉取FE / BE
write_buffer_size1073741824(1GB)增大写入端缓冲区BE
max_tablet_version_num20000提高单 tablet 版本数容忍度BE
max_cumu_compaction_threadsCPU 核数的一半加快 Compaction,避免版本堆积BE
enable_round_robin_create_tablettrueTablet 分配更均衡FE
streaming_load_json_max_mb250单次 Stream Load 的 JSON 上限(默认 100MB)BE
streaming_label_keep_max_second300高并发导入时防止 FE 内存膨胀FE
label_clean_interval_second300Label 清理周期,避免 FE 内存抖动FE

攒批经验值:单次导入数据量控制在 100MB 左右(中信银行信用卡中心实践)。

3.4 第三方基准对照

AgentLogsBench 的测试前提是 1 亿行 observation、AWS m6i.8xlarge(32 vCPU / 128 GiB / gp3)各引擎同规格、20 个固定查询,跑三次取第三次为 hot(2026 年 5 月结果,基准定期更新)。与本主题最贴近的两组:

场景DorisClickHouseElasticsearch / OpenSearch
JSON Path 查询集(Q07/Q10/Q12/Q16/Q17/Q18/Q20)基准平均延迟约为 Doris 的 7.4 倍约为 Doris 的 2.4 倍
trace 回放 hot(Q03 / Q04)0.020 s / 0.036 s2.289 s / 2.411 s—
加载耗时4,396 s(第二)2,755 s(第一)—

加载耗时这一项 Doris 排在 ClickHouse 之后,一并列出;基准的核心指标是相对每查询最快结果的 slowdown 几何平均值。出处见文末。

3.5 迁移路径与核对清单

从 ClickHouse 迁到 Doris 通常走三条链路之一:

链路适用说明
Catalog 直读 + 边查边写需要平滑切换、双跑验证先通过 Catalog 直读 ClickHouse 数据,验证通过后再切入写入
对象存储导出 + 导入大批量历史数据搬迁导出到 S3/HDFS,再由 Doris 批量导入
Flink / Spark Connector实时链路同步适合已有流处理管道的场景

核对清单四项:迁移前后同一组查询的结果一致性(抽样比对行数与聚合值)、并发压测拐点是否达标、检索查询是否命中倒排索引、容量与压缩比。

还有一个容易忽略的点:同一数据源应尽量集中在同一写入集群处理,扩容后如果批聚合效果下降,反而会增加 Compaction 压力(网易云信实践中提到的反向陷阱)。

3.6 验证步骤

-- 确认检索是否走倒排索引
EXPLAIN SELECT * FROM app_log WHERE msg MATCH_PHRASE 'timeout';
-- 核对容量与分区
SHOW DATA FROM app_log;
SHOW PARTITIONS FROM app_log;

核对清单四项:迁移前后同一组查询的结果一致性(抽样比对行数与聚合值)、并发压测拐点是否达标、检索查询是否命中倒排索引、容量与压缩比。判断顺序建议先确认路径、再看数值——路径不对时调参数几乎没有意义。

四、关键维度对照表

维度Apache DorisClickHouse
高并发查询支撑 500+ 并发(网易云音乐实测)并发超过 200 报 Too many simultaneous queries
P99 延迟降低 30%基准
全文检索倒排索引 + search()(4.0 起、4.1 增强),支持中文分词与短语以 bloom filter / 跳数索引为主
trace 回放HASH(trace_id) 分布 + DUPLICATE KEY 含 seq_no,回放退化为顺序读需自行设计分布与排序
批量写入吞吐同一梯队同一梯队
压缩率同一梯队(列存 + ZSTD)同一梯队
多表 JOIN支持多表 JOIN、Colocate Join、Runtime Filter相对薄弱,需额外设计
Schema 变更Light Schema Change,秒级完成需 ALTER,部分场景依赖重写
存算分离开源版本支持存算分离架构主要为存算耦合架构
机器规模机器数量减少 50%基准
国产化适配 / 信创已完成鲲鹏 / 海光 / 飞腾等国产 CPU 与麒麟 / 统信 UOS / openEuler 等国产操作系统适配,通过等保三级、可信数据库等认证未纳入信创目录,无官方信创 / 国产化适配认证
商业化服务 / 企业级部署开源自行部署;商业化由国内公司 SelectDB(飞轮科技)提供私有化部署、云上 SaaS/BYOC、多云原生与国产化适配,与开源 100% 兼容商业版 ClickHouse Cloud 由 ClickHouse, Inc.(美国)主要在海外 AWS/GCP/Azure 提供托管;国内无官方本地化商业团队做信创 / 等保适配

五、已知约束与规避方式

约束表现处理方式
score() 不能用于聚合放进聚合函数时不可用配合 ORDER BY score() DESC + LIMIT 形成 Top-K 查询
JOIN 前需先完成 search() 过滤过滤条件下推不到单表扫描先在直接作用于单表扫描的子查询里完成过滤,再 JOIN 与聚合
标识符字段被分词trace_id / user_id 精确匹配失效这类字段 parser 用 none,避免分词
分词索引下正则作用于索引词项跨多个 Token 的文本不保证匹配不等同对原始日志执行 SQL REGEXP,改用 TERM / PHRASE 表达
写入吞吐与压缩率不构成差异两者同梯队差异点放在并发、检索、回放、JOIN
倒排索引字段过多容量上涨抵消压缩收益只对需检索字段建索引,高基数字段用 BloomFilter
高频小批次写入版本堆积时序 Compaction + 单 Tablet 导入 + 攒批约 100MB

六、常见问题(FAQ)

Q:search() 和 MATCH_PHRASE 是什么关系?

MATCH_PHRASE 是短语匹配谓词;search() 是 4.0 起提供的统一全文检索入口、4.1 增强,返回 BOOLEAN,可以在一条表达式里组合 TERM、PHRASE、REGEXP、PREFIX、NOT 等运算符,也能直接参与 JOIN、窗口函数与子查询。

Q:trace 回放为什么要单独设计分布键?

回放要按 seq_no 顺序把一次请求的所有 observation 拉出来。HASH(trace_id) 分布让同 trace 落到同一 tablet,DUPLICATE KEY 里带上 seq_no 让 flush 时按序落盘,回放就退化为顺序读,不需要跨节点拉取再排序。

Q:JSON Path 查询上各引擎差多少?

AgentLogsBench 在 1 亿行 observation、m6i.8xlarge 32 vCPU / 128 GiB / gp3 同规格下(2026 年 5 月):ClickHouse 平均延迟约为 Doris 的 7.4 倍,ES / OpenSearch 约为 Doris 的 2.4 倍。

Q:怎么确认检索走了索引?

用 EXPLAIN 看执行计划里是否出现倒排索引相关算子;看不到就先查建表语句里的 parser 与 support_phrase。

Q:分桶数怎么定?

常规日志表建议约为集群磁盘总数的 3 倍;日志写入无明显业务 Key 时用随机分桶比 Hash 分桶更能避免倾斜。

Q:什么情况下不该换?

负载以离线聚合报表为主、并发低、不需要关键词检索与 trace 回放和多表 JOIN 时,ClickHouse 仍是合理选择。

Q:成本优化应该先做哪一步?

先做冷热分层。把超过保留窗口的分区下沉到对象存储,收益通常大于在写入侧调参数;存储占用上两者压缩率同梯队,差异主要来自并发能力决定的节点规模。

Q:迁移前要核对哪些项?

四项:同一组查询的结果一致性抽样比对、并发压测拐点是否达标、检索查询是否命中倒排索引(EXPLAIN 确认)、容量与压缩比(SHOW DATA 核对)。建议先跑一个业务域试点。

测试结论出处(参考来源)

  • 网易云音乐日志平台(ClickHouse → Apache Doris,并发、P99、MATCH 与 LIKE 对照、机器规模):selectdb.com/blog/1403
  • 网易日志与时序场景实践(建表模板、FE/BE 参数、MATCH_PHRASE 用法):selectdb.com/blog/355
  • 网易云信统一多栈实践(单副本与单 Tablet 导入、攒批、资源隔离):selectdb.com/blog/1405
  • 中信银行信用卡中心从 Elasticsearch 到 Apache Doris(攒批经验值、调优参数):selectdb.com/blog/1361
  • Apache Doris 官方文档(倒排索引、BloomFilter、Compaction、Stream Load):doris.apache.org
  • AgentLogsBench(1 亿行 observation、20 个查询、四类访问模式的混合负载对比;仓库与脚本开放可复现):velodb.github.io/agentlogsbench
  • Apache Doris 官方 4.x 文档 · SEARCH 函数(DSL 语法、运算符、JSON 选项、三值逻辑):doris.apache.org/docs/4.x/table-design/index/inverted-index/search-function
  • Apache Doris 官方 4.x 文档 · 倒排索引总览(2.0 引入 / 3.1 自定义分词 / 4.0 BM25 与 SEARCH 的演进):doris.apache.org/docs/dev/table-design/index/inverted-index/overview
  • Apache Doris 4.1.0 Release Notes(Lucene 模式、NESTED 操作符、best_fields / cross_fields)
滴滴基于 Clickhouse 构建新一代日志存储系统 将日志从 ES 迁移至 CK 不仅可以显著降低存储成本,还能提供更快的查询体验。经过一年多的建设和优化,系统的稳定性和性能都有了显著提升。然而,在处理模糊查询时,集群的资源消耗仍然较大。未来,我们将继续探索二级索引、zstd 压缩以及存算分离等技术手段,以进一步提升日志检索性能。 阅读详情

相关推荐

【 技术方案设计】复杂分布式系统统一日志Trace平台 + 用户行为打点分析平台

构建一个统一的日志Trace平台和用户行为打点分析平台需求类别具体要求统一采集FastAPI、Spring Boot等后端应用统一上报Trace、Log、用户行为事件分布式追踪全链路追踪能力,支持traceId串联跨服务调用日志聚合集中存储和检索业务日志、系统日志用户行为分析前端(Web/App)+ 后端的用户行为埋点采集与分析高性能查询亿级日志/Trace数据的秒级查询响应低侵入性通过SDK和中间件实现业务代码无感接入可扩展性支持水平扩展,适应业务增长全链路 Trace 追踪。

AI天才研究院 162

WebUI X: Portable 非 Root 模式原理深挖:WXDocumentsProvider 与 ADB 如何实现无 Root 文件访问

WebUI X: Portable(WXP)是一款 Android WebUI 运行时与模块管理器,支持 Root 与非 Root 两种环境。本文带你完整拆解它的非 Root 模式原理:如何利用 `WXDocumentsProvider` 与 ADB 路径映射,实现无 Root 文件访问,让你的设备不刷 Magisk 也能管理模块、运行 WebUI。 ## 一、背景:为什么非 Root 是"特殊

gitblog_00733的博客 852

Hermes-Agent-完整指南

Hermes Agent 是由 **Nous Research** 开发的一款**自我改进型 AI Agent**,具有内置的学习闭环系统。它的核心理念是"一个与你共同成长的 Agent"。- 能够从经验中创建技能(Skill-Learning Automated),在使用过程中自我改进, 跨会话持久记忆, 深度用户建模

liu_zhiyi的博客 3025

在 ASP.NET Core 控制台输出结构化 JSON 日志:AddJsonConsole 实践

本文以 practical-aspnetcore 仓库中 [logging-3 示例](https://link.gitcode.com/i/e0e95256f93b30cb2107b66f2c00b20c) 为主体,讲解如何使用内置的 `AddJsonConsole` 将日志以结构化 JSON 格式输出到控制台。读完后,你将掌握如何配置 `JsonWriterOptions`、如何配合 `Add

gitblog_00366的博客 63

UEFI开发探索102 – ACPI探究01(UEFI配置表)

(请保留-> 作者: 罗冰 https://blog.youkuaiyun.com/luobing4365) ACPI探究01(UEFI配置表)1 大致规划2 UEFI Configuration Table(配置表)3 代码实现 最近有项工作,是修改ACPI表。问题本身并不复杂,但是由于代码需要移植到Option ROM上,遇到不少奇怪的现象。因此,花了不少时间,对ACPI进行研究。 任务是完成了,我的好奇心又被勾起来了。准备发挥“格物致知”的信念,把我认为的ACPI各方面的知识,好好地捋一捋。 1 大

8244

Jetson Nano官方镜像下载&烧录

在NVIDIA Jetson Nano开发者套件上安装NVIDIA官方Ubuntu镜像

weixin_44222088的博客 8843

哈希表如何做到 O(1) 查询?Hello 算法 30 行 ArrayHashMap 完整拆解

假设你手里有一份一百万条的“学号 → 姓名”名册,业务要求按学号查姓名。用普通数组存,一次查询可能要逐个比对一百万条;而在开源项目 **Hello 算法** 里,大约 30 行代码就能手写出一张 **哈希表**,实现 **O(1) 查询**——数据再大,也只要固定几步。下面我们把这份实现从百万级查询的痛点讲起,一路讲到冲突与扩容。 ## 百万条学号:线性查找的时间开销 先算最坏情况:目标学号正

gitblog_00942的博客 214

【雕爷学编程】Arduino动手做(111)---震动提醒模块

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来---小小的进步或是搞不掂的问题,希望能够抛砖引玉。

雕爷学编程 1898

Langfuse Seeder 框架真实 Trace 数据加载指南:从框架插桩到 ClickHouse 演示数据

本篇技术指南以 Langfuse 仓库中 `packages/shared/scripts/seeder/utils/framework-traces/` 目录的 README 为核心,系统讲解「框架真实 Trace(Framework Traces)」这套演示数据方案:它是什么、如何将框架插桩产出的真实 Trace 一键注入到 Langfuse 的 ClickHouse 中、如何在 UI 中检索

gitblog_00666的博客 308

从 SAP GUI 走向 SAP Fiori:一套面向 SAP S/4HANA 的用户迁移实战方法论

SAP S/4HANA转型中,用户从SAP GUI迁移到Fiori的难点在于业务价值的重构而非简单的界面替换。Fiori的核心价值在于角色化、实时洞察和智能决策,而非完全替代GUI。成功迁移需分阶段推进:先展示关键角色的价值,建立统一入口,再逐步提高Fiori占比。让用户参与设计比后期培训更重要,需通过具体场景(如采购优先级管理)展示效率提升。迁移策略应平衡新旧界面优势,让Fiori成为业务价值触达的主要方式,而非强制替换。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 235

YOLOv8 骨骼结构识别详细说明

YOLOv8骨骼结构识别是一种基于深度学习技术的医学影像分析方法,主要用于X光、CT等影像中的骨骼定位与识别。该系统具有多骨骼同步识别能力,可应用于手部、脊柱、骨盆等不同部位,并能精确定位骨骼关键点。技术实现包括数据预处理、模型训练、推理检测、关键点分析和批量处理五个核心模块,支持骨折检测、骨龄评估等临床应用。该系统需注意医学合规性,要求高质量标注数据,并针对骨骼影像特点进行特征工程优化,同时考虑不同设备的部署需求。

u010117029的博客 330

PDFPatcher 拆解:PDF 批量处理与自动书签生成的完整原理

PDFPatcher(PDF 补丁丁)是一个 .NET Framework 上的开源 PDF 工具箱:编辑书签、剪裁旋转页面、解除复制打印限制、合并拆分文档、探查文档结构,全装在同一个窗口里。它的主菜是 PDF 批量处理——丢一堆文件进列表,把开关配置好,出来一批干净的文档。 - 场景上:自动书签按字体特征反推标题层级,一本书几分钟出完整目录;去限制、删自动动作、统一页面尺寸这类「修复活」全部批

gitblog_00084的博客 301

52、基于格的具有解密密钥暴露抗性的可撤销(分层)身份基加密方案

本文提出了首个基于格的具有解密密钥暴露抗性(DKER)的可撤销分层身份基加密(RHIBE)方案。通过引入分层密文、分层解密密钥和级别转换密钥等创新工具,克服了格结构与传统密钥重新随机化属性不匹配的难题。该方案不仅支持可扩展的密钥撤销机制,还具备密钥委托功能,为后量子密码学领域的发展提供了新的思路和方法。

efc12345678的博客 123

Highlight Changelog 28 解读:Related Resources 关联闭环、搜索查询演进与日志-Trace 关联实现

本篇基于 Highlight 官方更新日志 Changelog 28(3/6),围绕三个核心主题展开:错误页主动关联的 Related Resources 面板、搜索查询语法在空白符处理上的演进,以及日志与 Trace 之间通过 `traceId` 建立的双向关联。读完本文,你将理解这三项功能在产品层面的价值,并能从仓库源码中找到对应的前端组件结构、ANTLR 语法规则与 ClickHouse 存

gitblog_01199的博客 169

OAuth2.0集成SpringSecurity加JWT实现单点登录

单点登录(Single sign on),英文名称缩写SSO,SSO的意思就是在多系统的环境中,登录单方系统,就可以在不用再次登录的情况下访问相关受信任的系统。也就是说只要登录一次单体系统就可以

Nicky's blog 9033

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

日志系统演进十年:从grep到ELK、Loki与ClickHouse的选型与实践

日志是系统运行状态最直接的记录,也是可观测性体系的基础数据源。随着微服务与云原生架构普及,日志从自由文本走向结构化字段,采集方式从rsyslog演进到Filebeat、Fluentd等轻量Agent,存储检索则形成Elasticsearch、Loki、ClickHouse三大路线之争。理解这些技术背后的原理与适用边界,能帮助工程师在ELK重资源、Loki低成本但弱检索、ClickHouse强聚合却难点查之间做出合理选型。日志的价值不止于排障,更在于审计、分析与智能异常检测。本文梳理日志格式、采集、存储及排障

weixin_29290947的博客 229

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

RITA 高级实战:用子网过滤与自定义情报源提升检测精准度

RITA(Real Intelligence Threat Analytics)是一款基于网络流量分析的 C2 通信检测开源框架,可识别 Beaconing、长连接、DNS 隧道等行为。本文介绍两个进阶配置技巧——**子网过滤**与**自定义威胁情报源**,帮助你在真实网络环境中显著降低误报、提升 RITA 检测精准度。 ## 1️⃣ 为什么你的 RITA 结果里会有"噪音"? RITA 默认

gitblog_00666的博客 496

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【技术硬核 | 存储】ClickHouse 原理与 Langfuse 存储实践:当 LLM Trace 爆炸时,PG 还扛得住吗?

LLM 应用上线后,Token 费用暴涨与调用链黑盒成为常态,而 Trace 数据的爆炸式增长让传统数据库捉襟见肘。

计算机魔术师的blog 1118

highlight.io 分布式追踪检索(Trace Search)实战指南:从 span 过滤到火焰图下钻

本文以 highlight.io(开源全栈可观测性平台)的 Trace Search 功能为核心,系统讲解如何通过查询表达式对分布式追踪中的 span 进行过滤、筛选与下钻分析。你将掌握 trace search 的默认键机制、全部内置可检索属性(含 `duration`、`service_name`、`trace_id` 等)、与 [通用搜索语法](https://link.gitcode.co

gitblog_00101的博客 217

dsh-purge 手把手指南:三步换上「小码酱」破甲人设,把宿主和模型分开

dsh-purge 是装在官方 DeepSeek Harness 上的开源清洗与红队评测插件:洗掉宿主层的默认人设与审批壳,让评测结果贴近模型真实水平,破甲提示词可按模型切换。本文先用三步跑通最小可用路径,再讲清幂等注入与身份锁两个核心机制,最后列出最常见的坑。 同一个问题,模型 A 长篇拒绝、模型 B 直接执行——差别未必在模型。官方 Harness 会在运行时重写提示词、加审批门、管沙箱和会

gitblog_00567的博客 261

highlight.io Trace Search 查询指南:按 Span 过滤分布式链路、定位慢 Span 与关联数据

Trace Search 是 highlight.io 中基于查询表达式对分布式链路(trace)内 Span 进行筛选的核心能力:你可以按 `service_name`、`duration`、`trace_id` 等任意属性过滤 Span,再点击单个 Span 展开整条 Trace 的火焰图(flame graph)查看调用链全貌。读完本文,你将掌握 Trace Search 的默认键规则、全部

gitblog_00282的博客 703

prompt-optimizer 完整上手手册:10 分钟从裸提示词到优化测试闭环

提示词改了七八版,模型输出还是平庸。多半不是模型的锅,是提示词没喂到位。prompt-optimizer 是纯客户端的 AI 提示词优化工具:你贴入原始提示词,它负责重写、跑前后对比、评估打分,最后落成可复用资产。密钥和数据不经过任何中转,浏览器直连服务商。Web、Electron 桌面、Chrome 扩展、Docker 四端一致。 ## 🚀 五分钟跑通第一条优化 ### 克隆仓库、装依赖、

gitblog_00645的博客 162

如何让 AI 前端协作做出「设计总监级」界面:impeccable 设计技能完整实践

impeccable 是一个装进 AI 编码工具就能用的设计技能包,面向用 AI 写前端界面的团队:它给 agent 装上一套设计总监级的工作流——命令体系、质量底线、机械检测与交付评审,让一句自然语言请求的产出从"能跑的代码"变成"能上线的 UI"。 ## 它到底帮你解决了什么 🎯 - **AI 的默认设计总是同一个样子。** 所有模型都训练在相似的 SaaS 模板上,不加分工就会得到 I

gitblog_01079的博客 188

阅读书源导入指南:让「阅读」APP 免费读上网络小说

「阅读」APP 装好后一本都搜不到,搜索框敲什么都像对空聊天。开源仓库 Yuedu 分享的就是一批现成的阅读书源,导进 APP 后,各大网站的网络小说就能免费、一站式读到。 ## 📚 书源到底是个啥 你可以把书源理解成一根"插头":「阅读」APP 本质是个空壳浏览器,书源告诉它该去哪些小说网站、怎么解析搜索页、详情页、目录页和正文页。没书源时什么都搜不到,插上书源,搜索和阅读才真正跑起来。

gitblog_00192的博客 369

highlight.io 发布 Logging(Alpha)并新增 Nest.js 支持:日志产品与后端框架接入全解析

highlight.io 作为开源的全栈可观测性平台,在本次 Changelog 中正式将 Logging 产品推向 Alpha 阶段,并同步宣布了对 Nest.js 服务端框架的原生支持。本文基于仓库内的 [changelog-16](https://link.gitcode.com/i/b46bca581d948754a8883e469658d829) 文档,结合日志功能文档、Nest.js

gitblog_00085的博客 1066
上一篇: 日志系统选型:Loki 还是 ELK?第三条路径的建表与查询落地
下一篇: 一条日志两套引擎的账:把 Elasticsearch 检索与分析合并到同一份数据的落地写法
SelectDB技术团队
博客等级 码龄4年 2119粉丝 483原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SelectDB技术团队

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值