Catalyst 是一家立足于纽约的SaaS创业公司,专注于提供一个直观且灵活的客户成功平台——Custom Success Platform。该平台旨在帮助客户成功团队整合和分析客户数据,洞察客户健康状态,从而促进客户留存和业务增长。近期,Catalyst 完成了B轮融资。
Catalyst 整合来自多个数据源的大量信息,如Salesforce、Mixpanel和PostgreSQL等,构建起其生态系统,进行数据处理、分析并生成实用的洞察。平台处理三类数据:事务型数据、只读数据及时序数据。事务型数据包含内部创建的笔记和任务,以及来自外部平台的外部数据;只读数据则包括从Jira和Zendesk等平台收集的工单数据;时序数据是Catalyst数据处理的关键组成部分。
最初,Catalyst 使用PostgreSQL来管理所有收集的数据。随着业务扩展和数据源增加,PostgreSQL的能力受限。为解决查询性能问题,Catalyst尝试使用JSON文档存储数据,但效果不佳。随后,引入Elasticsearch进行缓存,以加快响应速度,但由于不支持SQL风格的JOIN操作,导致数据预处理步骤繁琐,成本激增。
为应对挑战,Catalyst团队重新规划了数据处理和存储系统,引入了TiDB这一新一代分布式关系型数据库。新架构由五层组成,包括数据摄取层、数据湖层、Spark层、数据服务层和Web应用层。原始数据首先通过摄取层进入,然后进入数据湖层。Spark层负责数据组合与预计算,确保数据的实用性。数据服务层存储预处理数据,以供客户查询,其对Catalyst至关重要。数据服务层以下的层无需实时更新,而数据服务层需实现亚秒级延迟,以确保客户快速获取结果。
为满足不断增长的客户需求,Catalyst迫切需要具备以下特性的数据库: - 混合事务与分析工作负载支持:处理事务型、只读和时序数据的综合需求。 - 快速响应:提供高效查询性能与用户界面响应速度。 - 复杂数据处理能力:适应高度定制的数据设置,包括自定义查询、数据转换和关系。 - 高可用性:确保系统稳定运行,快速响应客户反馈。 - 水平扩展性:易于扩展至大规模数据处理环境。 - 数据一致性:在流处理环境中实现最终一致性。
在评估阶段,Catalyst对比了TiDB与其他候选方案(Aurora+AWS Timestream和YugaByte+AWS Timestream)的性能。通过使用真实数据集作为负载,连续并行执行分组查询,TiDB在查询响应时间、时序聚合处理效率等方面展现出显著优势,远超竞争对手,成为Catalyst的最佳选择。
通过采用TiDB,Catalyst不仅提升了客户体验,加速了数据处理与分析,还降低了整体维护成本。这一转型使得Catalyst能够更好地应对业务挑战,优化资源利用,确保系统的高效运行和数据安全,为未来的业务增长奠定了坚实的基础。