当前位置: 首页 > news >正文

GitTrends:谷歌趋势风格的GitHub生态系统视图

本文字数:3202;估计阅读时间:9 分钟

作者:Lionel Palacin

本文在公众号【ClickHouseInc】首发

GitHub 不断生成议题(issues)、拉取请求(pull requests)和评论(comments)。这些被称为 GitHub 事件(GitHub events)。随着时间的推移,这数十亿事件捕捉了技术的完整生命周期:框架(frameworks)、库(libraries)和工具(tools)如何兴起和衰落。但捕捉这种庞大的数据流并将其转化为实时趋势分析器(real-time trends analyzer)却是一个挑战。

GitTrends使这成为可能。它是一个新的开源(open-source)演示应用程序(demo application),功能类似于科技界的专业版 Google Trends,让你能够实时搜索和比较超过100亿个 GitHub 事件中任何主题、技术或关键词的趋势。

该应用现已上线,网址为 https://gittrends.clickhouse.com。

GitTrends 是一个公开演示应用,旨在展示 ClickHouse 的全文搜索(full-text search)能力。它功能齐全,但可能缺少一些功能或偶尔存在错误(bug)。

如何使用 GitTrends?

在 GitTrends 中输入一个搜索词,即可立即查看该词在每个 GitHub 仓库(repository)的议题(issues)、拉取请求(pull requests)和评论(comments)中被提及的次数。这为你提供了以下概览:一项技术随时间推移的流行度、推动相关讨论的仓库、最活跃地讨论该技术的开发者,以及该词出现的实际议题和拉取请求。

但当你开始进行比较时,GitTrends 的功能才真正变得有趣。

比较技术采用(tech adoption)

搜索和比较任何关键词的提及趋势,这与 Google Trends 完全相同,但其数据源是全球最相关的开源技术数据。例如,你可以比较ClickHouse vs Druid,以了解这两个分析型数据库(analytics databases)如何随时间推移此消彼长;或者追踪Claude vs OpenAI,观察人工智能(AI)格局如何在真实的开发者对话中发生转变。

识别生态系统(Ecosystems)

识别围绕任何话题推动讨论的顶级仓库。ClickHouse 的讨论主要集中在其自身生态系统内,还是正在拓展到数据工程(data engineering)和可观测性(observability)项目中?OpenAI 是否在广泛的仓库中被提及,而 Claude 则仅集中在少数几个仓库中?

了解一项技术主要活跃在哪些领域,其重要性不亚于了解它有多流行。

深入探究来源(Drill into the Source)

从宏观趋势深入了解其背后的实际讨论。选择任意一个仓库(repository),探索其具体活动:最活跃的贡献者,以及推动该趋势的最常被提及的议题(issues)和拉取请求(PRs)。

规模化全文搜索

GitTrends 基于一个简单的理念构建:在近 100 亿条 GitHub 事件中实时搜索任意词条,且无需进行数据转换。你无需查询预先计算好的结果,而是直接索引原始文本并在查询时进行搜索。这正是 ClickHouse 最近发布的新全文搜索(full-text search)功能所能提供的核心优势。只需在文本列上构建文本索引(text index)即可使用全文搜索功能。

ClickHouse 之所以在这里表现得特别强大,是因为全文搜索功能(full-text search)和聚合功能集成在同一个引擎中。单个查询就能一次性完成原始文本的搜索和结果的聚合,无需跨系统连接,无需数据迁移,且没有额外的延迟开销。正是这种结合,让用户体验到的是即时响应,而非仅仅是速度快。

GitHub 事件数据集,包含近 100 亿行议题(issues)、拉取请求(pull requests)和评论(comments),是一次刻意为之的压力测试。即便如此,GitTrends 依然能对所有这些数据提供快速搜索。

为了凸显新全文搜索索引的性能优势,GitTrends 内置了实时查询性能对比功能。进行任意搜索时,你可以在全文搜索(full-text search)、布隆过滤器(bloom filter)和全表扫描(full table scan)之间进行切换,并实时观察它们之间的性能差异。

这最直观地展示了,在海量数据规模下,选择正确的索引能带来怎样的优势。

探究内部机制

GitTrends 是完全开放的,其设计便于从各个层面进行探索和分析。

数据是如何摄取的?

我们一直在摄取 GitHub 事件数据集,并在我们的 SQL Playground 中公开它,供所有人通过 SQL 进行探索。我们还在这个页面上记录了多个示例查询和分析方法。

用于将数据加载到 ClickHouse 的摄取脚本可在此处查看。

请注意,GitHub 从2025年10月起对 Events API 有效载荷(payload)引入了更改。因此,某些字段与早期数据有所不同,这可能会影响分析,并使在完整历史数据上进行趋势检测的准确性降低。更多详情可查阅 GitHub 更新日志。

每个图表背后运行着什么 SQL 查询?

GitTrends 中的每个图表都由真实的查询驱动。点击任何图表上的 SQL 按钮,即可在 SQL playground 中打开该查询,你可以在其中检查、编辑并亲自运行它。

SELECT toStartOfDay(created_at) AS bucket, count() AS count FROM github.github_events WHERE event_type IN ('IssueCommentEvent','IssuesEvent','PullRequestEvent','PullRequestReviewCommentEvent','PullRequestReviewEvent') AND hasAllTokens(body, 'clickhouse') AND created_at >= (now() - toIntervalMonth(1)) AND 1=1 GROUP BY bucket ORDER BY bucket ASC SETTINGS enable_parallel_replicas = 1, enable_full_text_index = 1, use_skip_indexes = 1, query_plan_direct_read_from_text_index = 1, use_skip_indexes_on_data_read = 1

每种搜索类型,包括全文搜索(full-text search)、布隆过滤器(bloom filter)和全表扫描(full table scan),都有其专属查询,这样你就能清楚地看到底层机制的差异。

应用程序是如何构建的?

想在本地运行 GitTrends 或将此方法应用于自己的数据集吗?

此演示的大部分内容是使用 Claude Code 开发的。完整的源代码和详细部署说明可在 GitHub 上找到。

欢迎前往 https://gittrends.clickhouse.com 试用该演示,并与我们分享您的宝贵反馈。

征稿启示

面向社区长期正文,文章内容包括但不限于关于 ClickHouse 的技术研究、项目实践和创新做法等。建议行文风格干货输出&图文并茂。质量合格的文章将会发布在本公众号,优秀者也有机会推荐到 ClickHouse 官网。请将文章稿件的 WORD 版本发邮件至:Tracy.Wang@clickhouse.com

http://www.jsqmd.com/news/735140/

相关文章:

  • OpenCode:AI驱动的智能开发环境与自动化工作流实战指南
  • 在AutoDL上跑通nnUNet V2完整流程:从数据集准备到模型预测的保姆级避坑指南
  • 2026年Q2医考培训公司怎么选:事业单位考试培训、人才引进培训、公务员培训机构、公务员笔试培训、公务员考试培训选择指南 - 优质品牌商家
  • CNKI查新(引文格式)导出数据合并剔重程序(Python代码)
  • Canvas实现动态色彩光标:从原理到性能优化的完整指南
  • 终极指南:如何用抖音下载器轻松获取无水印视频和音乐
  • 2026年5月口碑好的禧龙手电钻源头厂家口碑推荐厂家推荐榜,J1Z-FF-10A、GBM 10RE、G3000、M18BPD2厂家选择指南 - 海棠依旧大
  • 构建AI长期记忆系统:从向量检索到上下文管理的工程实践
  • 2026年Q2国内中央厨房系统主流服务商盘点排行:中央厨房智能加工管理系统/中央厨房系统/农产品配送管理系统/学校食材阳光采购管理系统/选择指南 - 优质品牌商家
  • 物联网设备管理的多协议集成与NET+Works ISA架构解析
  • 从裸机到RT-Thread:RISC-V C驱动分层架构设计(HAL+MCU Abstraction Layer+Board Support Package三阶演进)
  • Unity 刚体的 默认力、瞬时力 区别
  • 2026年5月口碑好的‌江苏‌中大三局山西第一分公司公司口碑推荐厂家推荐榜,装配式建筑/重钢别墅/叠合钢网/免拆模板建房厂家选择指南 - 海棠依旧大
  • 黑龙江皮带机
  • 关于第一人称武器的研究
  • 2026山东电子厂房设计施工专业服务商排行一览:山东实验室设计施工/山东手术室设计施工/山东无尘车间设计施工/山东无菌车间设计施工/选择指南 - 优质品牌商家
  • 5步解锁本地AI字幕神器:重新定义你的视频创作边界
  • 银河麒麟V10 SP1修改MAC地址踩坑记:为什么你的脚本开机不执行?
  • 通过curl命令快速调试Taotoken大模型API接口与排查常见错误
  • Android AI聚合聊天应用RikkaHub:原生开发与架构设计全解析
  • GitHub Actions智能决策框架:基于autoagent-action的动态工作流实践
  • 抖音视频下载终极指南:5步搞定免费开源工具批量下载完整教程
  • 隐式能量模型与均衡匹配:新一代生成建模技术解析
  • 【毕设】基于Spring Boot的社区团购系统的设计与实现
  • 如何快速解密游戏音频:acbDecrypter完整实战指南
  • 2026镇江全屋定制板材厂家梯队盘点:滁州全屋定制板材/福人全屋定制/福人卧室全屋定制/福人精板南京授权门店/福人精板南通授权门店/选择指南 - 优质品牌商家
  • 从‘虚轴’到‘实轴’:用倍福NC过程映像,在包装产线上实现凸轮同步的完整配置流程
  • 2026Q2临江鳝丝好吃店:乐山正宗临江鳝丝/乐山美食临江鳝丝/四川乐山临江鳝丝/必吃临江鳝丝店/本地人推荐的临江鳝丝店/选择指南 - 优质品牌商家
  • Vivado仿真结果如何自动保存?手把手教你用$fwrite生成测试报告和波形数据文件
  • 地弹簧行业深度解析:2025年口碑推荐与选购指南 - 品牌策略师