Corsearch 用 ClickHouse 替换 MySQL 进行内容和品牌保护

news2024/11/23 15:10:10

图片

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

作者:ClickHouse Team

本文在公众号【ClickHouseInc】首发

图片

Chase Richards 自 2011 年在初创公司 Marketly 担任工程负责人,直到 2020 年公司被收购。他现在是品牌保护公司 Corsearch 的工程副总裁。他在最近的一次聚会上与我们分享了他使用 ClickHouse 的经验。

Corsearch 于 2018 年从 Wolters Kluwer 分离出来,成为一家专业公司。新公司通过多次收购迅速扩展,整合专业知识,成为品牌保护解决方案的领导者。Chase Richards 作为工程副总裁,在提升 Corsearch 的品牌保护解决方案方面发挥了关键作用,服务于全球的组织。专注于跟踪国际商标、检测冲突和侵权、打击假冒伪劣、保护内容免受盗版和网络侵权,这意味着需要从大量无害或授权数据中筛选出侵权行为和恶意行为者。早在 2017 年(仍在 Marketly 时),Chase 就面临一些挑战:

  • 事务性数据库的限制——行数据库(如 MySQL)在应用于分析时限制了构建面向外部客户的交互式数据驱动用户界面的可扩展性和灵活性。

  • 操作复杂性——使用多个数据库后端,包括 MySQL、BigQuery 和 MongoDB,以支持关键的面向客户的应用程序,这意味着花费更多时间进行维护而不是构建新功能。

采用 ClickHouse 进行反盗版

Corsearch 的主要客户报告产品之一是搜索引擎保护服务,支持反盗版和内容保护业务。Corsearch 每小时抓取数百万个搜索结果,寻找侵权内容。他们大量投资开发复杂的搜索引擎监控指标,借鉴了 SEO 和 SEM 的最佳实践,如排名跟踪和流量份额。他们专注于让用户界面对试图优化搜索引擎表现的营销团队来说既熟悉又有吸引力,只是把这个理念反过来应用。“我们告诉营销团队,盗版者实际上是在侵占他们的领地——搜索结果的位置,”Chase 说。Corsearch 为他们提供了可视化工具和手段来反击。

然而,报告界面需要对数百个指标进行实时分析,并且这种体验必须是互动的,否则营销团队会感到沮丧。这意味着所有活跃用户在最近和历史数据上的几十个并发查询必须在毫秒内完成。MySQL 数据库不适合处理有 10 多个可筛选维度的工作负载,并且基于时间序列数据进行日、周和月的分组。“我们开发了出色的指标并构建了前端。但我们运行在一组预聚合的 MySQL 表上,进行了大量表分区。操作复杂,但仍然无法扩展。”随着应用使用量增加,这个问题变得更加明显——查询变得越来越慢,用户开始离开应用。Chase 在聚会上说:“起初效果很好,但随着客户系统的不断增长——这对我们的初创企业来说是好消息——数据量也不断增加,而 MySQL 的索引限制和行技术让我们难以应对。”

“我们得到了一些令人瞠目的数据。仅压缩比就使得服务器管理和部署变得更加容易。”

切换到 ClickHouse 实时分析

更换数据库是由 Chase 推动的,他花了大量时间阅读社区内容,寻找新技术和优化性能的方法。他通过几篇 2017 年的 Percona 和 Cloudflare 博客发现了 ClickHouse:“我决定尝试 ClickHouse。很快就发现 ClickHouse 可能带来效率、可靠性和可扩展性的提升。”团队开始用敏捷、可扩展的解决方案替换笨重的 MySQL 系统,从而简化操作并提升客户体验。“我基于 ClickHouse 构建了一个即插即用的替代原型,使用与 MySQL 几乎相同的表结构,2019 年全面投入生产。”这个原型很快成为产品的新架构。“它至今仍在使用,仍然是流程的一部分。”

这不仅仅是让应用程序运行起来。ClickHouse 对时间序列数据的压缩率远超 MySQL(见下图),这减少了运行应用程序所需的服务器数量,简化了服务器管理。“我们得到了一些令人瞠目的数据。压缩比本身就使服务器管理和部署变得更加容易。”当然,ClickHouse 并没有停滞不前,每次发布都在改进数据压缩和性能。“ClickHouse 变得更好了。例如,低基数在性能和压缩比方面是一个巨大的飞跃,”Chase 解释道。

图片

通过向量搜索加强反盗版工作

最近,Corsearch 在其现有的启发式欺诈检测方法中加入了基于向量的分析。Corsearch 使用语言模型的嵌入在网站内容之间创建语义相似性搜索,无论是跨网站还是跨时间,这有助于发现使用类似语言的已知盗版网站并识别网站内容的重大变化,通常表明它已关闭或被屏蔽(盗版生态系统中的常见现象)。“通过利用专家模型和嵌入,我们检测到网页内容的实质性变化,并识别出具有相似特征的页面之间的连接,”Chase 解释道。

Chase 和他的团队对 ClickHouse 与专用向量数据库进行了比较分析,发现尽管专用向量数据库在近似索引方面可能表现更好,但它们仍然是特殊用途的系统,需要特定的技能来采用和维护。相比之下,Corsearch 能够在 ClickHouse 中直接执行多维度限定的向量距离计算,并结合其他检测盗版的方法,借助 SQL 语法实现。因此,无需维护额外的基础设施或学习新的语言。

采用 ClickHouse 进行可观测性

在另一个重要用例中,Corsearch 使用 ClickHouse 监控其搜索引擎抓取设置。搜索引擎服务负责解析 Google、Yahoo 和 YouTube 等主要搜索引擎的结果,必须无缝运行。Chase 和他的团队没有使用现成的可观测性工具,而是开发了自定义埋点来跟踪搜索引擎操作,将遥测数据发送到 ClickHouse,并使用 Grafana 可视化结果并对潜在问题进行告警。最近,这种方法被称为基于 SQL 的可观测性,已经被 Uber、eBay 等技术领导者采用。

从架构上看,这个设计很简单,仅包含两个表。一个表用于通用指标系统,跟踪各种指标如队列深度。另一个表记录“工作原子单元”,用于跟踪抓取网页的尝试。这个基础设施能够轻松创建图表和时间序列指标。每列都可以成为独立的时间序列,确保数据可以随时恢复到原始形式。

“对于我的小团队来说,这非常有效,”Chase 在聚会上说道。虽然埋点是自定义的,但 Chase 承认,如果今天开始,他会优先考虑使用 OpenTelemetry,因为它正在成为标准。ClickHouse 在这个用例中也展示了其性能和资源效率优势:“该系统在磁盘上以不到 325 GB 的空间存储了四年内的 100 亿行数据,”Chase 分享道。

图片

未来方向

ClickHouse 是 Corsearch 数据基础设施的关键元素,提供了业务核心的关键能力,整合了多个用例的分析数据管理,并简化了操作:“ClickHouse 在捕获网络流量数据方面发挥了重要作用,我们通过将复杂的数据管道整合到单一的 ClickHouse 集群中,提高了整体效率和性能。”

展望未来,Chase 计划进一步简化操作:“我很期待在我们的生产工作负载上尝试 ClickHouse Cloud。看到 ClickHouse 的云原生架构在那里的发展真的很酷,这提供了额外的差异化。”在聚会演讲之后,Corsearch 已经开始使用 ClickHouse Cloud 存储每天从数百万抓取图像中生成的嵌入,用于相似性搜索——这使团队能够利用该服务提供的低操作开销和无限存储,以及在相同数据集上实现更快的线性距离扫描。

征稿启示

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

​​联系我们

手机号:13910395701

邮箱:Tracy.Wang@clickhouse.com

满足您所有的在线分析列式数据库管理需求

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

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

相关文章

【Linux】-----工具篇(编译器gcc/g++,调试器gdb)

目录 一、gcc/g 简单认识 程序的翻译过程认识gcc 预处理(宏替换) 编译 汇编 链接 宏观认识 如何理解(核心) 什么是链接? 链接的分类 二、gdb 基本的认识 基本操作及指令 安装gdb 启动gdb ​编辑 显示源代码(list) 运行程序…

网友提问:桌面与web开发哪个难度更大?

关于桌面应用开发与Web开发哪个难度更大的问题,实际上并没有绝对的答案,因为这取决于具体的开发任务、所使用的工具和技术栈等因素。不过,我们可以从几个方面来进行比较: 技术栈 Web开发: 前端通常涉及到HTML、CSS、J…

Ansible之playbook剧本编写(二)

tags 模块 可以在一个playbook中为某个或某些任务定义“标签”,在执行此playbook时通过ansible-playbook命令使用--tags选项能实现仅运行指定的tasks。 playbook还提供了一个特殊的tags为always。作用就是当使用always作为tags的task时,无论执行哪一个t…

全球奈拉滨市场规模预测:未来六年年复合增长率CAGR为1.1%

据恒州诚思研究,2023年全球奈拉滨市场规模大约为3.8亿元,预计未来六年年复合增长率CAGR为1.1%,到2030年市场规模将接近4.2亿元。这一增长反映了奈拉滨在全球医药行业中的重要性及其在未来发展中的潜在机会。随着科学的进一步发展和市场的扩展…

中小学汉字听写大赛方案及执行流程

一、活动背景 汉字作为中国最宝贵的文化遗产,在五千年的历史长河里,汉字以其浩瀚广博抒写着华夏历史,以其灵秀展示着炎黄之精神。传承汉字文明是我们的使命和主责任。为提高我校七年级学生听写汉字的能力,规范汉字书写的能力&…

ESD防护之电容妙用

谈到ESD防护,应用最广泛的是ESD/TVS管,对于正负4KV的pin脚不上电ESD测试,也可以仅仅依靠nf级电容完成ESD防护。下面以一篇实际案例进行说明。 实验要求:正负4KV对产品connector的Pin脚进行ESD测试,connector中的地脚接…

idea启动项目报:the command line via JAR manifest or via a classpath file and rerun.

解决方案 1.打开Edit Configurations,进去编辑,如下: 笔记配置 2.选择Modfiy options,点击Shorten command line 3.在新增的Shorten command line选项中选择JAR manifest或classpath file 4.点击保存后即可

企业如何通过红酒传达品牌理念?

在繁忙的商业世界中,品牌理念的传达往往是企业成功的关键。而红酒,这一优雅的饮品,不仅具有深厚的文化底蕴,更是品牌理念传递的很好载体。今天,我们就来探讨一下企业如何通过定制红酒——特别是洒派红酒(Bo…

Java漏洞复现(ctfshow279-297)strust 漏洞复现及原理解释

Java漏洞复现 Strust原理 JavaEE--------Struts2框架-CSDN博客 Web279 struts2漏洞 S2-001是当用户提交表单数据且验证失败时,服务器使用OGNL表达式解析用户先前提交的参数值,%{value}并重新填充相应的表单数据。 这里的%{value}简单理解就是和flask的…

【计算机网络】IP分片实验

一:实验目的 1:理解IP数据报分片的工作原理。 2:理解IP协议报文类型和格式。 二:实验仪器设备及软件 硬件:RCMS-C服务器、网线、Windows 2019/2003操作系统的计算机等。 软件:记事本、WireShark、Chrom…

昇思25天学习打卡营第22天|CycleGAN图像风格迁移互换

相关知识 CycleGAN 循环生成网络,实现了在没有配对示例的情况下将图像从源域X转换到目标域Y的方法,应用于域迁移,也就是图像风格迁移。上章介绍了可以完成图像翻译任务的Pix2Pix,但是Pix2Pix的数据必须是成对的。CycleGAN中只需…

DosSnake-入土为安第八天

记录一下不能F5反编译 加密方式 密文 异或操作函数 xor_string_with_key: 接受两个字符串作为输入:待处理的 text 和 key。对每个字符进行异或操作。使用 ord(char) 获取字符的 ASCII 值,ord(key[i % key_length]) 是 key 中对应位置的字符的…

3D Web轻量化引擎HOOPS Communicator针对复杂大模型Web端可视化的解决方案

随着工程设计、制造和建筑领域中三维模型的日益复杂化,如何在Web端高效处理和展示这些大规模数据成为一大挑战。HOOPS Communicator作为一款强大的3D可视化工具,提供了一套针对复杂大模型的轻量化解决方案,涵盖了模型轻量化及格式转换、超大模…

【基础算法总结】队列 + 宽搜(BFS)

队列 宽搜BFS 1.N 叉树的层序遍历2.二叉树的锯齿形层序遍历3.二叉树最大宽度4.在每个树行中找最大值 点赞👍👍收藏🌟🌟关注💖💖 你的支持是对我最大的鼓励,我们一起努力吧!😃&#…

活动报名小程序

#活动报名工具# # 活动报名小程序 ## 项目简介 一款通用的活动报名工具,包含活动展示,微信支付,订单管理,分享评价等功能。 品客聚精彩,有你才精彩!不只有线下活动还可以进行线上裂变活动。 …

SpringBoot知识笔记

一、基本概念 1.1 特性 起步依赖 自动配置 其它特性:内嵌的Tomcat、Jetty(无需部署WAR文件),外部配置,不需要XML配置(properties/yml)。 1.2 配置文件 SpringBoot提供了多种属性配置方式 //application.properties server.port=9090 server.servlet.context-path…

自从与泰勒斯威夫特约会以来,特拉维斯凯尔西表现得像布拉德皮特一样挥霍打扮

今年对于泰勒斯威夫特和特拉维斯凯尔西来说可谓是风云变幻的一年,他们秘密开始约会,然后有了今年最引人瞩目的恋情。对于这位 NFL 运动员来说,这是一个巨大的变化,因为随着斯威夫特的粉丝们了解了凯尔西家族的一切,他的…

人机交互不仅仅是科技问题

人机交互不仅仅局限于物理和数理科学的应用,还涉及到更广泛的管理、文理、哲学、艺术、伦理以及法律等领域。下面这些领域在人机协同和智能系统应用中扮演着重要角色: 智能系统在企业管理、资源分配、决策支持等方面的应用,可以帮助管理者优化…

自学网络安全,从小白到大神的破茧之路!

在当今数字化高速发展的时代,网络安全已经成为了至关重要的领域。无论是个人的隐私保护,还是企业、国家的关键信息资产维护,都离不开网络安全的有力保障。出于对这一领域的浓厚兴趣以及对未来职业发展的清晰规划,我毅然决然地踏上…

基于物联网的区块链算力网络,IGP/BGP协议

目录 基于物联网的区块链算力网络 IGP/BGP协议 IGP(内部网关协议) BGP(边界网关协议) 内部使用ISP的外部使用BGP的原因 一、网络规模和复杂性 二、路由协议的特性 三、满足业务需求 四、结论 基于物联网的区块链算力网络 通 过 多个物联网传感器将本地计算…