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

news2024/11/13 8:04:34

图片

本文字数: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://www.coloradmin.cn/o/1951666.html

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

相关文章

X00078-基于深度强化学习图神经网络的云工作流调度python

强化学习(RL)技术通过蒙特卡洛树搜索(MCTS)的加速,成功解决了多资源需求下的DAG问题,优化目标为缩短makespan。根据当前的计算资源和任务状态,MCTS算法被用来探索并选择最佳的动作,在…

【Linux】远程连接Linux虚拟机(MobaXterm)

【Linux】远程连接Linux虚拟机(MobaXterm) 零、原因 有时候我们在虚拟机中操作Linux不太方便,比如不能复制粘贴,不能传文件等等,我们在主机上使用远程连接软件远程连接Linux虚拟机后可以解决上面的问题。 壹、软件下…

快速搞定分布式RabbitMQ---RabbitMQ进阶与实战

本篇内容是本人精心整理;主要讲述RabbitMQ的核心特性;RabbitMQ的环境搭建与控制台的详解;RabbitMQ的核心API;RabbitMQ的高级特性;RabbitMQ集群的搭建;还会做RabbitMQ和Springboot的整合;内容会比较多&#…

The resource type Sheet does not implement java.lang.AutoCloseable

The resource type Sheet does not implement java.lang.AutoCloseable 修改一下 应该是【高版本JDK】切换集成到我这个项目【低版本 JDK 8】出错了

Ubuntu设置网络

进入网络配置文件夹 cd /etc/netplan 使用 vim 打开下的配置文件 打开后的配置 配置说明: network:# 网络配置部分ethernets:# 配置名为ens33的以太网接口ens33:addresses:# 为ens33接口分配IP地址192.168.220.30,子网掩码为24位- 192.168.220.30/24n…

【MySQL】:表操作语法大全

表内容的操作 增删改查 CRUD (create、retrieve、update、delete) 新增 基本语法 语法为: insert into 表名 values (值,值,值...);这里的列数和类型,要和表结构匹配插入中文的话,要确保数据库创建的时候要设置字…

Python 高阶语法

前言: 我们通过上篇文章学习了Python的基础语法,接下来我们来学习Python的高阶语法 1.初识对象 在Python中我们可以做到和生活中那样,设计表格、生产表格、填写表格的组织形式的 面向对象包含 3 大主要特性:  封装  继承 …

NLP基础知识2【各种大模型的注意力】

注意力 传统Attention存在的问题优化方向变体有哪些现在的主要变体集中在KVMulti-Query AttentionGrouped-query AttentionFlashAttention 传统Attention存在的问题 上下文约束速度慢,显存占用大(因为注意力考虑整体信息,所以每一个位置都要…

mysql之触发器的使用

cr一:创建goods表和orders表; mysql> use mydb16_tirgeer Database changed mysql> create table goods(-> gid char(8) primary key,-> name varchar(10),-> price decimal(8,2),->-> num int); Query OK, 0 rows affected (0.0…

18 Python常用内置函数——排序与逆序

sorted() 对列表、元组、字典、集合或其他可迭代对象进行排序并返回新列表,reversed() 对可迭代对象(生成器对象和具有惰性求值特性的 zip、map、filter、enumerate 等类似对象除外)进行翻转(首尾交换)并返回可迭代的 …

《GPT-4o mini:开启开发与创新的新纪元》

在科技发展的快速进程中,OpenAI 推出的 GPT-4o mini 模型如同一阵春风,给开发者们带来了新的希望和机遇。它以其卓越的性能和极具吸引力的价格,成为了行业内热议的焦点。 当我首次听闻 GPT-4o mini 的消息时,内心充满了好奇与期待…

深度学习目标检测入门实战

深度学习目标检测入门实战 一、什么是目标检测二、目标检测常用的数据集(开源)(一)VOC数据集(1)背景知识(2)数据集的下载(3)VOC2007 数据集的标注&#xff08…

vue3前端架构---打包配置

最近看到几篇vue3配置项的文章,转载记录一下 Vue3.2 vue/cli-service 打包 chunk-vendors.js 文件过大导致页面加载缓慢解决方案-CSDN博客文章浏览阅读2k次,点赞8次,收藏9次。Vue3.2 vue/cli-service 打包 chunk-vendors.js 文件过大导致页…

苦学Opencv的第九天:模板匹配

Python OpenCV入门到精通学习日记:模板匹配 前言 模板匹配是一种最原始、最基本的识别方法,可以在原始图像中寻找特定图像的位置。模板匹配经常应用于简单的图像查找场景中,例如,在集体合照中找到某个人的位置。 #mermaid-svg-N…

Linux中,MySQL索引、事物与存储引擎

MySQL索引介绍 索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址。在数据十分庞大的时候,索引可以大大加快查询的速度。这是因为使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数据对应的物理地址然后访…

tinyxml2的入门教程

tinyxml2的入门教程 前言一、tinyxml2 创建xml 文件二、tinyxml2 添加数据三、tinyxml2 更改数据四、tinyxml2 删除数据五、tinyxml2 打印总结 前言 xml 是一种标记型文档,有两种基本解析方式:DOM(Document Object Model,文档对象模型)和SAX…

C++ 数字和数组解析

文章目录 1. 定义数字 2. 数学运算 3. 随机数 4. 数组 声明数组 初始化数组 5. 访问数组元素 6. 数组类型 7. 多维数组 二维数组 初始化二维数组 访问二维数组元素 8. 指向数组的指针 9. 传递数组给函数 10. 从函数返回数组 1. 定义数字 通常,当需要…

嵌入式人工智能(23-基于树莓派4B的温湿度传感器DHT11)

1、湿度传感器 目前市面上,仅测量湿度的传感器很少,普遍使用的都是温/湿度传感器,即以温/湿度一体式的探 头作为测温元件,将温度和湿度信号采集出来,再经过稳压滤波、运算放大、非线性校正、V转换、恒流及反向保护等电…

[Meachines] Lame smbd3.0-RCE

信息收集 IP AddressOpening Ports10.10.10.3TCP:21,22,139,445,3632 $ nmap -p- 10.10.10.3 --min-rate 1000 -sC -sV 21/tcp open ftp vsftpd 2.3.4 |_ftp-anon: Anonymous FTP login allowed (FTP code 230) | ftp-syst: | STAT: | FTP server status: | …

【Stable Diffusion】(基础篇五)—— 使用SD提升分辨率

使用SD提升分辨率 本系列博客笔记主要参考B站nenly同学的视频教程,传送门:B站第一套系统的AI绘画课!零基础学会Stable Diffusion,这绝对是你看过的最容易上手的AI绘画教程 | SD WebUI 保姆级攻略_哔哩哔哩_bilibili 在前期作画的…