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

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

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

相关文章:

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

本文字数:4187;估计阅读时间:11 分钟 作者:ClickHouse team 本文在公众号【ClickHouseInc】首发 Tekion 由前 Tesla CIO Jay Vijayan 于 2016 年创立,利用大数据、人工智能和物联网等技术,为其汽车客户解决…...

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…...

使用Java和Hazelcast实现分布式数据存储

使用Java和Hazelcast实现分布式数据存储 大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 在分布式系统中,实现高效的数据存储和管理是非常重要的。Hazelcast作为一个内存数据网格(IMDG)&…...

Hi3751V560_SELinux

Hi3751V560_SELinux setenforce Enforcing setenforce Permissive(或“setenforce 0”) getenforce V560:demo本身的: [ 13.765161] type=1400 audit(1628821512.905:4): avc: denied { read } for pid=1926 comm="system_server" name="ifindex" d…...

邮件安全篇:邮件反垃圾系统运作机制简介

1. 什么是邮件反垃圾系统? 邮件反垃圾系统是一种专门设计用于检测、过滤和阻止垃圾邮件的技术解决方案。用于保护用户的邮箱免受未经请求的商业广告、诈骗信息、恶意软件、钓鱼攻击和其他非用户意愿接收的电子邮件的侵扰。 反垃圾系统的常见部署形式 2. 邮件反垃圾…...

LoRaWAN设备的两种入网方式(ABP和OTAA)

目录 一、OTAA 1、名词解释 2、入网流程 二、ABP 三、两种入网方式的比较 一、OTAA 1、名词解释 (1)AppEUI:64位(8字节)的唯一标识符,用于标识特定的应用程序或组织(如果用的是chirpstac…...

【Rust光年纪】极致性能与灵活选择:Rust语言数学优化库详解

Rust语言中的数学优化:六大利器汇总 前言 在当今信息时代,数据处理和数学优化成为了各行各业中不可或缺的重要环节。为了满足对高效、快速计算的需求,Rust语言逐渐成为了许多开发者的首选,因其性能优越、并发安全等特点。本文将…...

机器学习 | 回归算法原理——最小二乘法

Hi,大家好,我是半亩花海。很早便想学习并总结一本很喜欢的机器学习图书——立石贤吾的《白话机器学习的数学》,可谓通俗易懂,清晰形象。那就在此分享并作为学习笔记来记录我的学习过程吧!本章的回归算法原理基于《基于…...

.NET Core 中的字符串压缩方法

字符串压缩的概念 字符串压缩通常指的是通过算法减少字符串表示所需的数据量,同时保持字符串的原始信息或能够无损地恢复原始字符串。这种压缩可以是针对文本数据的特定算法,也可以是更通用的数据压缩算法。 .NET Core 中的字符串压缩方法 使用数据压…...

SQL 基础知识

SQL(结构化查询语言)是一种用于管理和操作关系数据库的标准编程语言。以下是一些 SQL 的基础知识: 基本概念 数据库(Database): 存储和管理数据的容器。一个数据库可以包含多个表。 表(Table&…...

【数据结构初阶】单链表经典算法题十二道——得道飞升(上篇)

目录 1、移除元素 2、反转链表 3、链表的中间节点 4、合并两个有序链表 Relaxing Time!!! ———————————————— 天气之子幻 ———————————————— 1、移除元素 思路: 创建一个新链表&#xff0…...

Python爬虫技术 第16节 XPath

XPath是一种在XML文档中查找信息的语言,尽管XML和HTML在语法上有区别,但XPath同样适用于HTML文档的解析,尤其是在使用如lxml这样的库时。XPath提供了一种强大的方法来定位和提取XML/HTML文档中的元素和属性。 XPath基础 XPath表达式由路径表…...

本地部署,Whisper: 开源语音识别模型

目录 简介 特点 应用 使用方法 总结 GitHub - openai/whisper: Robust Speech Recognition via Large-Scale Weak SupervisionRobust Speech Recognition via Large-Scale Weak Supervision - openai/whisperhttps://github.com/openai/whisper 简介 Whisper 是一个由 O…...

history,hash缓存那些事

vue-router 中的 createWebHistory,createWebHashHistory两种模式 createWebHistory 是基于 window.history 对象是HTML5提供的用于维护当前标签页浏览历史的对象,主要功能是前进后退和在不刷新页面的情况下,修改地址栏里的URL地址。histor…...

Spring Boot的Web开发

目录 Spring Boot的Web开发 1.静态资源映射规则 第一种静态资源映射规则 2.enjoy模板引擎 3.springMVC 3.1请求处理 RequestMapping DeleteMapping 删除 PutMapping 修改 GetMapping 查询 PostMapping 新增 3.2参数绑定 一.支持数据类型: 3.3常用注解 一.Request…...

Spark 解析嵌套的 JSON 文件

1、什么是嵌套的JSON文件? 嵌套的JSON文件是指文件中包含了嵌套的JSON对象或数组。例如,以下是一个嵌套的JSON文件的示例: {"name": "John","age": 30,"address": {"street": "123…...

VMware虚拟机中CentOS7自定义ip地址并且固定ip

配置固定ip(虚拟机) 前提:虚拟机网络配置成,自定义网络并选择VMnet8(NAT 模式) 操作(如下图):点击虚拟机–》设置–》–》硬件–》网络适配器–》自定义:特定虚拟网络–》选择:VMnet8(NAT 模式) 虚拟机网络设置 需要记…...

CCS(Code Composer Studio 10.4.0)编译软件中文乱码怎么解决

如果是所有文件都出现了中文乱码这时建议直接在窗口首选项中修改:选择"Window" -> "Preferences",找到"General" -> "Workspace",将"Text file encoding"选项设置为"Other&quo…...

Flutter 3 完全支持网页端

Flutter 3 可以用于开发网页端应用。自 Flutter 2.0 起,Flutter 就已经支持 Web 平台,并且在 Flutter 3 中得到了进一步的改进和优化。以下是使用 Flutter 3 开发网页端的一些优势和特点: Flutter 3 开发网页端的优势: 跨平台一致…...

vue.js入门

目录 一. 框架概述 二. vue常用命令 2.1 插值表达式 2.2 v-text 2.3 v-html 2.4 v-on 2.5 v-model 2.6 v-show 2.7 v-if 2.8 v-else 2.9 v-bind 2.10 v-for 三. vue生命周期函数 目录 一. 框架概述 二. vue常用命令 2.1 插值表达式 2.2 v-text 2.3 v-html 2…...

【JavaSE】绘图与事件入门学习笔记

-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...

群晖NAS如何在虚拟机创建飞牛NAS

套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...

LangFlow技术架构分析

🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...

学习一下用鸿蒙​​DevEco Studio HarmonyOS5实现百度地图

在鸿蒙(HarmonyOS5)中集成百度地图,可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API,可以构建跨设备的定位、导航和地图展示功能。 ​​1. 鸿蒙环境准备​​ ​​开发工具​​:下载安装 ​​De…...

uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)

UniApp 集成腾讯云 IM 富媒体消息全攻略(地理位置/文件) 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型,核心实现方式: 标准消息类型:直接使用 SDK 内置类型(文件、图片等)自…...