从分钟到毫秒:Verint借助 InfluxDB 实现实时分析之旅
作者:Charles Mahler / 开发者
2025年1月2日
导航至
Verint 是一家客户体验自动化平台,帮助其客户简化和提高客户服务团队的效率。Verint 基于人工智能的 CX 工具已在改善客户保留率、NPS 评分和数百万美元的成本节约方面取得了成效。
挑战
Verint 是一家快速发展的公司,在存储分析数据方面,其之前的数据库面临可扩展性挑战。该平台需要存储更高粒度的数据更长时间,以跟上不断增长的监控数据量并提高其服务的可靠性。
Verint 最初使用关系数据库,但该数据库开始在数据摄取和查询性能方面遇到困难。虽然扩展硬件资源在一段时间内有效,但他们在大约每月 4 亿个数据点时遇到了性能瓶颈,之前只需毫秒的查询开始需要几分钟才能返回结果。
Verint 拥有 40 种不同的全球服务,按照目前的增长速度,它需要一个数据库,该数据库在不久的将来可以扩展到每月数十亿甚至更多的数据点。
寻找解决方案
Verint 寻找新解决方案的过程中,评估了几个时间序列数据库,包括:
- OpenTSDB
- Amazon Timestream
- TimescaleDB
然而,部署灵活性、可维护性和性能限制排除了许多这些选项。出于安全原因,Verint 希望采用本地部署解决方案,这排除了基于云的服务。它还希望数据库可以轻松地在其基于 Kubernetes 的云原生架构中部署和管理。在进行了多次概念验证后,Verint 团队决定选择 InfluxDB Clustered。
InfluxDB 的优势
除了性能和可扩展性之外,Verint 选择 InfluxDB Clustered 还有以下几个原因:
- 本地部署:出于安全原因,Verint 希望数据库可以在其自己的基础设施上运行,这排除了任何云数据库服务。在本地运行 InfluxDB 还可以减少延迟,更好地控制硬件分配,并允许用户配置如何对数据进行分区,从而为特定工作负载微调性能。
- 云原生架构 - InfluxDB 3.0 的解耦架构使 Verint 能够高效地扩展数据摄取和查询,而不会影响性能,因为他们将数据提供给更多的内部团队。
- InfluxDB 性能的持续改进:Verint 团队注意到,即使在他们使用 InfluxDB 3.0 进行概念验证测试期间,随着 InfluxDB 团队不断推出性能优化,其查询速度也在不断提高。这使 Verint 团队更加确信,基于 InfluxDB 构建是一个良好的长期决策。
- 使用 Parquet 文件的列式存储:InfluxDB 使用 Parquet 文件进行存储,这与 Verint 对长期分析能力的需求产生了共鸣。Parquet 的格式实现了与现有分析工具的无缝集成。
- 开发者生产力:InfluxDB 3.0 支持 FlightSQL,这使得集成写入和读取 InfluxDB 数据的服务变得更加容易。
- 备份和恢复:由于 InfluxDB 3.0 将数据存储在持久对象存储中,因此集群的任何潜在中断都不会导致数据丢失。竞争解决方案缺少开箱即用的强大备份功能。
未来计划
Verint 目前每月向 InfluxDB 摄取数亿个数据点。随着它继续将更多服务迁移到新的监控系统,预计到 2025 年,项目将增长到每月数十亿。
Verint 团队对即将推出的一个功能特别兴奋,该功能允许 InfluxDB 用户获取 Parquet 文件的历史快照。该团队计划将这些快照与 Trino 等查询引擎集成,使其他团队可以更轻松地访问数据,并允许对历史数据进行更多分析,而不会影响 Verint 的实时监控。Verint 还在尝试使用 Apache Superset 创建仪表板和可视化,使用存储在 InfluxDB 中的数据。