查看原文
其他

金融科技公司 Kaito 使用 RisingWave 实现实时智能化

RisingWave 社区 RisingWave中文开源社区
2024-09-10

1公司背景

Kaito (官网:https://www.kaito.ai/)是一家总部位于美国西雅图的金融科技公司。由 Dragonfly、Sequoia、Jane Street 等投资方支持,该公司的使命是打造业内首个基于大型语言模型(LLM)的金融搜索引擎,旨在满足 Web3 社区对于聚合分散在各种私有信息源以及链上数据的需求,这些信息对传统搜索引擎如 Google 等不可见。通过将其专有的金融搜索引擎的实时数据与先进的LLM能力相结合,Kaito 公司旨在为 3 亿用户提供革命性的信息访问体验。

2公司业务

Kaito 公司为投资者、日间交易员和量化交易公司提供及时信息的分析能力。这要求公司能够实时合并链下和链上数据,进行复杂分析之后,在亚秒级延迟内将结果展现给用户。由于数据量庞大,公司必须能够构建出可扩展的基础架构,以满足数据分析需求。

3核心诉求

Kaito 公司的平台开发人员对基础架构有两大诉求:

  • 易于使用: 作为一家高速发展的公司,Kaito 非常注重快速交付新功能。在过去,Kaito 依赖 Amazon Glue 来执行来自各种来源的链下数据的回填和重新索引操作。然而,这一经验被证明效果不佳,因为它要求工程师使用复杂的 API 编写 Java 或 Python 代码。因此,Kaito 寻求提供 SQL 作为主要接口的解决方案。这个选择不仅降低了学习曲线,加速了开发过程,还使 Kaito更容易找到具备 SQL 技能的候选人。
  • 成本高效: Kaito 持续从链下和链上各种来源收集大量数据,保持着 24 小时不间断的数据流。处理和存储数据的需求相当大,因此成本效益是一个至关重要的要求。鉴于现实世界数据的不可预测和突发性质,解决方案具有弹性非常关键,意味着它可以根据当前工作负载无缝扩展和缩减。这确保我们避免资源瓶颈和不必要的浪费。

4产品调研

当 Kaito 的技术团队开始寻找合适的解决方案时,他们进行了市面上各种流处理系统的调研,其中包括 Apache Flink 等。然而,经过测试,以下问题逐渐浮现:

  • 陡峭的学习曲线: 尽管团队具备深厚的技术背景,但对于像 Kaito 这样一个高速发展的公司来说,他们不太愿意在繁琐的系统学习过程中投入大量时间和精力,而是需要一个能够快速上手并满足当前需求的解决方案。
  • 复杂的数据栈: Flink 仅提供计算功能,如果 Kaito 希望使用 Flink 来构建仪表板,他们将需要额外购买数据库来支持查询服务,这将导致显著的成本增加。
  • 无法瞬时弹性扩缩容:Flink 作为一个 12 年前诞生的系统,它采取用了存储计算耦合的架构。在扩缩容时,数据需要重新排布、并导入相应的本地RocksDB。在 Kaito 巨大的数据量下,这个耗时的过程额外漫长。无法给予Kaito 保证客户可以 24 小时获取实时信息流的能力。

5为什么选择 RisingWave?

Kaito 的市场研究深入到了市场,最终选择了 RisingWave 作为他们的解决方案,这是因为以下原因:

  • 熟悉和灵活:RisingWave 与 Postgres 兼容,为开发人员提供了使用最广泛的 SQL 变体之一构建应用程序的灵活性。这种兼容性还允许他们接入现有的生态系统,实现与第三方商业智能工具和客户端库的无缝集成。
  • 强大的弹性: RisingWave 采用了解耦的存储-计算架构,提供了卓越的弹性和低延迟性能。相比之下,传统解决方案使用耦合的存储-计算架构,在扩展时需要对本地磁盘上的数据进行重排。这种操作的典型延迟可以延伸到数十分钟甚至数小时,这对于 Kaito 来说是不可接受的。
  • 集成查询:RisingWave 拥有处理物化视图并直接从中提供查询服务的能力。这一意外的优势在 Kaito 进行广泛的解决方案研究期间浮现。许多其他流处理系统只能将结果发送到下游系统,如 Redis 或 Cassandra,供用户查询使用。这种方法需要部署第二个系统,增加了运营和维护的开销,损害了数据的一致性,并导致开发者的体验孤立。在线上验证了 RisingWave 的物化视图功能后,Kaito 便停止考虑缺乏这一功能的系统。

6RisingWave 的实践效果

在成功将 RisingWave 部署到他们的 GKE 集群后,Kaito 的一位数据工程师仅用短短两周时间,就在单个 RisingWave 集群上构建了超过 1000 个用户可见的分析仪表盘(物化视图)以及用于内部跟踪产品数据的仪表盘。这些仪表盘目前已经在生产环境中投入使用,为公司的数据分析和业务运营提供了重要支持。

如今,Kaito 正积极准备推出新的功能,其中包括实时消息提醒,使用户能够自定义并通过 Telegram、Slack、电子邮件等平台接收重要消息的通知。这将为用户提供更多实用的功能和更灵活的信息交流方式。

Kaito 预计,根据他们现有的客户基础,新功能将需要创建另外 1000 多个流处理作业,以满足不断增长的需求,这进一步突显了 RisingWave 的扩展性和性能。这一成功案例显示了 Kaito 在数据处理和分析领域的不断发展和创新。

7Kaito的数据栈

Kaito 公司内部数据栈如下图所示:



8客户评价

“在 Kaito,及时准确的信息对我们的业务价值巨大。我们为一群富有洞察力的高级交易员、投资者和量化交易公司提供服务,他们都已经习惯了 Risingwave提供的实时分析和低延迟警报,这些都成为了他们决策过程中不可或缺的组成部分。Risingwave 以惊人的速度让我们能够推出新功能,如此令人印象深刻,以至于我们的数据工程师们简直离不开它。”

9结论

对于像 Kaito 这样的高速发展的公司,灵活性和快速适应性不仅仅是时髦词汇;它们是增长的基石。通过选择 RisingWave,Kaito 不仅解决了他们当前的挑战,而且为未来的可扩展性和功能开发做好了准备。Kaito 和 RisingWave 的成功故事证明了新一代的流处理基础架构是如何产生变革性的。




关于 RisingWave
RisingWave是一款分布式 SQL 流处理数据库,旨在帮助用户降低实时应用的的开发成本。作为专为云上分布式流处理而设计的系统,RisingWave 为用户提供了与 PostgreSQL 类似的使用体验,并且具备比 Flink 高出 10 倍的性能以及更低的成本。了解更多:
✨ GitHubrisingwave.com/github
💻 官网: risingwave.com
👨‍💻‍ Slack: risingwave.com/slack
📖 文档: risingwave.dev
🎬 B站RisingWave中文开源社区
🔍 知乎: RisingWave 中文开源社区


继续滑动看下一个
RisingWave中文开源社区
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存