Tekion 选择 ClickHouse Cloud 提升应用性能和指标监控

图片

本文字数:4187;估计阅读时间:11 分钟

作者:ClickHouse team

本文在公众号【ClickHouseInc】首发

图片

Tekion 由前 Tesla CIO Jay Vijayan 于 2016 年创立,利用大数据、人工智能和物联网等技术,为其汽车客户解决各种问题。

Tekion 于 2020 年推出了其经销商管理软件 Automotive Retail Cloud (ARC)。作为一个端到端的云平台,ARC 旨在无缝连接整个汽车经销商的业务,为经销商和制造商带来了新的简化、效率和连接体验。Tekion 的平台与架构副总裁 Ved Surtani 解释道:“过去,经销商常常需要使用超过 100 个不同的解决方案来运营业务。Tekion 将其减少到了仅仅 4 个。”

ClickHouse Cloud 已成为一个革命性的工具,Tekion 团队在多个关键用例中享受到了优化、性能提升和成本效益等诸多优势。

Tekion 内部的可观测性堆栈

Tekion 的业务依赖于一个内部构建的可观测性堆栈,包括应用性能监控(APM)和自定义指标分析。这个堆栈对 Tekion 快速执行其在汽车行业的众多 SaaS 产品至关重要——如果这些工具无法正常工作,工程师和数据科学家将无法有效地开发和发布新应用程序。过去,这个堆栈运行在一个知名的搜索提供商上,但随着数据量的增加,变得不再高效,成本也越来越高,维护难度也在增加。

Tekion 的 Dataplatform APM 是一个内部平台,用于应用性能监控(APM),分析软件应用的性能,以确保其高效运行并达到性能目标:“通过自定义仪表板来度量我们自己的性能质量,我们利用 ClickHouse 的功能来改进我们的决策过程,其效率和可扩展性已经变得不可或缺。”另一个内部平台 Dataplatform Custom Metrics 允许用户、应用程序、作业和工具从不同来源发送指标并创建自定义指标。Tekion 能够捕获、跟踪、监控和报告性能或行为的独特方面,识别异常或问题,以便采取适当的行动。

规模和成本的挑战促使寻找替代方案

随着 Tekion 的发展和工程运营的扩展,其内部可观测性堆栈在数据摄取速度和效率、查询性能和成本方面开始面临挑战:“随着我们的数据不断增长,现有技术在可扩展性、速度和成本效益方面的限制变得越来越明显。” Surtani 说。Tekion 考虑只存储聚合数据,认为这能满足大多数用户的需求。然而,无法深入了解单个事务以进行调试仍然是一个持续的挑战:“以前,摄取原始记录并获取详细事务信息的想法令人望而生畏。虽然理论上可以通过投入大量财力资源来建立一个大型集群以实现令人印象深刻的成果,但这种方法既不实际也不经济可持续。” Surtani 解释道。

在之前的架构中,来自应用程序的数据流通过 Kafka 摄取并通过自定义服务处理到数据存储中。这种方法便于执行自定义 Spark 作业以发现复杂的模式和警报。尽管这种方法在分析方面有效,但由于搜索性能缓慢和仪表板功能受限,消费过程受到了影响。

Tekion 评估了包括 Delta Lake 和 HBase 在内的各种选项,以寻找更快的数据检索机制:“我们在寻找一种既能快速摄取又能让我们更快检索单个事务的解决方案。” Surtani 说。他们最终选择了 ClickHouse:“我们看到了革新数据管理流程的潜力。” 他补充道。

概念验证:开源还是 ClickHouse Cloud?

在概念验证(POC)评估中,Tekion 先采用开源 ClickHouse,然后过渡到 ClickHouse Cloud。最初选择开源是 Tekion 的常规做法,旨在评估性能和成本效益后再决定是否采用基于云的解决方案:“这种方法提供了关于迁移益处的宝贵见解,并有助于做出知情的决策。” Surtani 说。POC 显示了令人兴奋的结果——ClickHouse 在处理大数据量方面表现出色:“我们在基本 POC 中意识到了它的优越性和潜力,因此期望值很高。” Surtani 说,这促使 Tekion 探索 ClickHouse Cloud。

能够在不影响性能或增加额外开销的情况下扩展集群的能力非常有吸引力。虽然 Tekion 完全有能力独立管理基础设施,但团队决定将精力集中在客户产品开发上,将维护工作交给 ClickHouse(通过 ClickHouse Cloud)。此外,Surtani 解释道:“ClickHouse Cloud 提供了开源解决方案之外的高级功能,例如无需手动索引的动态集群扩展,提升了操作效率和可扩展性。”最终,专家支持、先进功能和成本效益的结合使 ClickHouse Cloud 成为推动组织前进的最佳选择。

“ClickHouse Cloud 提供了以具有成本效益的方式超越性能目标的能力。”

Ved Surtani,Tekion 工程、平台与架构副总裁

ClickHouse Cloud 在 Tekion 的应用

Tekion 已成功将 ClickHouse Cloud 集成到其提到的两个平台中。截至 2023 年夏,该系统处理了超过 200TB 的数据,并且随着客户数量的增加,这个数字还在迅速增长。在 APM 解决方案中,ClickHouse Cloud 用于处理由容器生成的应用程序指标。ClickHouse Cloud 简化了数据摄取过程,使得计算指标和警报,包括 Tekion 需求的定制指标成为可能。Tekion 能够更快速地检索单个事务,进行全面的调试和实时数据分析。

此外,他们还开始将 ClickHouse Cloud 集成到高度专业化且通常没有预定义阈值的定制工作流程中。这些工作流程处理关键操作,目标是快速检测和响应异常。通过将这些工作流程迁移到 ClickHouse Cloud,开发人员可以直接摄取自定义指标,从而迅速识别异常和意外情况,并加快响应速度。“尽管涉及到复杂性,但我们适应得很快,过渡过程也很顺利。我们停用了 ATM 系统,只存储一天的数据。” Surtani 解释道。

“ClickHouse 被证明是一个改变游戏规则的工具,推动我们在管理数据基础设施方面变得更加高效和有效。”

Ved Surtani,Tekion 工程、平台与架构副总裁

使用 ClickHouse 的主要好处

存储需求优化

ClickHouse 通过其市场领先的数据压缩能力,大大减少了 Tekion 的存储需求。两个月的数据量从 27TB 减少到仅 2.5TB,实现了 10 倍的存储优化。

数据摄取性能

现在,即使在每分钟 120 万条记录的高峰吞吐量下,Tekion 使用 ClickHouse 也能无滞后地摄取数据。之前,即使尽最大努力,仍有大量事件未能成功处理或记录,但现在这种情况已经消除。此外,所需的 Spark 资源减少了 25%,大大节省了成本。这意味着作业执行时间更快,资源利用效率提高,可以在相同基础设施上处理更大的数据集。

查询性能

ClickHouse 的性能显著加快了查询执行和数据检索速度,即使是大型数据集,也能为用户提供真正的实时互动体验。查询延迟减少了 10 倍以上,而回溯时间增加了一倍——查询最多 14 天的数据时,现在只需 500 毫秒,而在之前的设置中,需要 8 秒,并且在 7 天窗口后超时。用户现在可以查询更长时间范围的数据,并实时分析原始数据,而无需依赖预聚合格式。这意味着更深入的见解,使 Tekion 能够适应不断变化的客户需求和市场趋势。

结论

优化可观测性数据堆栈是一个持续的过程,而持续改进的文化是 Tekion 的核心理念。团队已经开始将 APM 和指标迁移到 ClickHouse Cloud,并计划在未来将日志记录、审计报告和内部规划仪表板也整合进来。Ved 总结道:“我们非常喜欢 ClickHouse,团队对其支持评价很高。我们将继续合作。这是一项非常有前景的技术,已经产生了巨大的影响,我们希望在未来能够更广泛地使用它。”

征稿启示

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

联系我们

手机号:13910395701

邮箱:Tracy.Wang@clickhouse.com

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

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

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

相关文章

Week 3 DAY 6

Product C - Product (atcoder.jp) 一共N层,对于每一层的每个数,都遍历上一层更新过后的结果,更新为新的结果, 比如样例: 2 40 3 1 8 4 2 10 5动态数组a表示储存上一层除后留下来的数, 第一次a数组中只…

关于开源项目分享的通知

后续会逐步分享更多好用的开源项目,加入圈子: 圈子加入https://pc.fenchuan8.com/#/index?forum86631&yqm5EV39扫码加入:

初识git工具~~上传代码到gitee仓库的方法

目录 1.背景~~其安装 2.gitee介绍 2.1新建仓库 2.2进行相关配置 3.拉取仓库 4.服务器操作 4.1克隆操作 4.2查看本地仓库 4.3代码拖到本地仓库 4.4关于git三板斧介绍 4.4.1add操作 4.4.2commit操作 4.4.3push操作 5.一些其他说明 5.1.ignore说明 5.2git log命令 …

日拱一卒 | JVM

文章目录 什么是JVM?JVM的组成JVM的大致工作流程JVM的内存模型 什么是JVM? 我们知道Java面试,只要你的简历上写了了解JVM,那么你就必然会被问到以下问题: 什么是JVM?简单说一下JVM的内存模型?…

电脑系统安装软件,让系统安装变得更简单。

电脑原版操作系统下载:MSDN系统库 电脑U盘装机pe系统:优启通或微PE工具 驱动安装:360 驱动大师 电脑装机常用软件下载:https://www.bgrdh.com/favorites/7875.html

do while打印1~10

#include<stdio.h> int main() {int i 1;do{printf("%d", i);i;} while (i < 10);return 0; }

【JUC】LockSupport线程等待唤醒

文章目录 LockSupport线程等待唤醒机制三种让线程等待和唤醒的方法Object类中的wait和notify方法实现线程等待和唤醒Condition接口中的await和signal方法实现线程的等待和唤醒上述两种方法使用限制条件LockSupport类中的park等待和unpark唤醒LockSupport 是什么主要方法代码测试…

网易云音乐黑胶VIP会员免费领取入口直达词令是什么?

网易云音乐黑胶VIP会员免费领取是指网易云音乐VIP会员根据不同的等级尊享不同的权益&#xff0c;其中赠送礼品卡就是其一。不同等级的网易云音乐VIP会员可赠送的7天黑胶VIP会员张数不同&#xff0c;但是由于数量有限&#xff0c;每次更新后先领先得&#xff0c;我们将不定期根据…

SpringBoot3:轻松使用Jasypt实现配置文件信息加密

文章目录 前言一、概述1.1 Jasypt库简介1.2 Jasypt库的主要特点 二、开发环境三、Jasypt集成到SpringBoot33.1 引入依赖3.2 配置Jasypt3.3 加密配置文件信息3.3.1 方案一&#xff08;不推荐&#xff09;a.编写测试类生成加密后的配置文件信息b.运行c.修改原本的配置文件信息 3.…

vue实现电子签名、图片合成、及预览功能

业务功能&#xff1a;电子签名、图片合成、及预览功能 业务背景&#xff1a;需求说想要实现一个电子签名&#xff0c;然后需要提供一个预览的功能&#xff0c;可以查看签完名之后的完整效果。 需求探讨&#xff1a;后端大佬跟我说&#xff0c;文档我返回给你一个PDF的oss链接…

开源大模型的格式转成GGUF,并量化后使用ollama推理

https://github.com/ggerganov/llama.cpphttps://github.com/ggerganov/llama.cpp使用到的工具: llama.cpp ollama 步骤 1、下载llama.cpp,并使用make编译 2、新建conda环境,安装llama.cpp里所需的库(requirements.txt) 3、下载需要量化的模型

1. BES2700ZP概述

1. 概述 恒玄BES2700采用RTX5操作系统&#xff0c;配合mindmics算法或者自研算法。 RTX5相关接口可参考&#xff1a;RTX v5 Implementation 2. 芯片框架 2.1 内存 - 4MB 2.2 flash - 8MB

openmv 学习笔记(24电赛笔记)

模版匹配 模版匹配是一种计算机视觉技术&#xff0c;用于图像或者视频中查找特定的模版或者对象&#xff0c;查找模版可以是数字或者是物体&#xff0c;技术通过在目标图像中寻找与模版图像相似的区域来实现匹配。这种技术最早起源在 20世纪70年代 的图像处理领域。 使用模版匹…

《python程序语言设计》第6章14题 估算派值 类似莱布尼茨函数。但是我看不明白

这个题提供的公式我没看明白&#xff0c;后来在网上找到了莱布尼茨函数 c 0 for i in range(1, 902, 100):a (-1) ** (i 1)b 2 * i - 1c a / bprint(i, round(4 / c, 3))结果 #按题里的信息&#xff0c;但是结果不对&#xff0c;莱布尼茨函数到底怎么算呀。

无人机的飞行模式

无人机的飞行模式是提升飞行效率和完成特定任务的关键。现代无人机通常配备多种智能飞行模式&#xff0c;这些模式能够帮助飞行员高效且安全地完成飞行任务。以下是几种常见的无人机飞行模式及其应用场景的解析&#xff1a; 一、跟随模式 应用场景&#xff1a;跟随模式非常适…

【React】详解classnames工具:优化类名控制的全面指南

文章目录 一、classnames的基本用法1. 什么是classnames&#xff1f;2. 安装classnames3. 导入classnames4. classnames的基本示例 二、classnames的高级用法1. 动态类名2. 传递数组3. 结合字符串和对象4. 结合数组和对象 三、实际应用案例1. 根据状态切换类名2. 条件渲染和类名…

Halcon 设置处理区域AOI(用户交互,drawing_object)

主程序 * 1.加载并显示图片 ************************* read_image (Image, ./model)dev_get_window (WindowHandle) set_display_font (WindowHandle, 14, sans, true, false) dev_set_draw (margin) dev_set_line_width (3) dev_display (Image)* 读取字典文件 ************…

35.【C语言】详解函数递归

目录&#xff1a; 定义 作用 例子1~3 拓展学习 趣味练习 1.定义&#xff1a;函数自己调用自己&#xff08;递推回归&#xff09; int main() {main()return 0; } 这样容易死循环&#xff0c;导致爆栈(Stack Overflow) 所以需要设立限制条件&#xff0c;使执行时越来越接近条…

DOS攻击实验

实验背景 Dos 攻击是指故意的攻击网络协议实现的缺陷或直接通过野蛮手段&#xff0c;残忍地耗尽被攻击对象的资源&#xff0c;目的是让目标计算机或网络无法提供正常的服务或资源访问&#xff0c;使目标系统服务系统停止响应甚至崩溃。 实验设备 一个网络 net:cloud0 一台模…

顺序表算法题

在学习了顺序表专题后&#xff0c;了解的顺序表的结构以及相关概念后就可以来试着完成一些顺序表的算法题了&#xff0c;在本篇中将对三道顺序表相关的算法题进行讲解&#xff0c;希望能对你有所帮助&#xff0c;一起加油吧&#xff01;&#xff01;&#xff01; 1.移除元素 2…