TechAgent 基于 MatrixOne 统一替代 MySQL、MongoDB、ElasticSearch、Faiss、ClickHouse 五大组件,客户交付周期从 2 个月缩短至 1 周。
深圳素问智能 TechAgent 成立于 2017 年,是一家专注于提供产业链舆情数据的服务商。素问智能服务了数十家制造业龙头企业及政府产业管理机构。其打造了一套名为 TechAgent 的产业舆情大数据平台,基于企业基本信息、研报、财报、专利、新闻等全网数据,通过自然语言处理挖掘企业特色信息以及企业产业链深度链条,构建全方位的企业画像,并实时捕捉产业链信息,支持产业链分析、产业规划、产业咨询跟踪等服务。
TechAgent 是典型的以数据加工与处理为核心能力的场景,业务形式包括直接的数据报告服务,数据 SaaS 及 API 服务。这几种业务交付形式实际上最终都是依赖于素问自己搭建的一整套数据处理平台,而这套数据处理平台为了满足多样化的功能及业务形式整体设计的相当复杂,在运维和开发迭代等方面都遇到了一定的挑战。
TechAgent 的上游是大量的数据采集程序,包括通过网络爬虫获取公开数据,通过 API 接口获得一些商业数据,通过一些预处理程序从文件中提取的数据等。所有这些数据都会经过结构化处理之后存到 MySQL 中。其中一部分数据在应用之前需要经过 LLM 大模型处理,由于算法本身的特点,会输出结构较为复杂的 JSON 文件,MySQL 的 JSON 能力不足以满足需求,为了存储和查询这些 JSON 文件,素问专门引入了一个 MongoDB 实例来进行处理。
TechAgent 的一个核心能力是搜索能力,这其中既包含了基于关键词的全文检索能力,又包含了基于语义的向量检索能力,因此 TechAgent 又引入了 ElasticSearch 和 Faiss,专门用于两种独立的搜索能力。
随着业务规模的逐步扩大以及采集数据源的增加,MySQL 的处理能力已经越来越难以满足需求,一方面在写入测的并发压力增大,现在只能通过前端通过一段代码将数据缓存一段时间再写入,另一方面单表规模超过千万,为了保证查询性能不得不开始使用手工分表的形式来限制查询的规模。而针对部分报表生成及大量数据分析的查询,TechAgent 不得不再次求助于增加一个 Clickhouse 实例来保证性能。
MatrixOne 是一款新型的云原生超融合数据库,通过简化的分布式数据库引擎,基于 K8s 及共享存储构建,同时支持 OLTP、OLAP、时序、向量、搜索等混合负载,同时高度兼容 MySQL 语法。MatrixOne 在 AIOT 和 AIGC 场景上有自己独特的优势,可以作为一站式的数据底座。对于 TechAgent 这样深度应用大模型和文档数据的场景非常适合,能够一站式完成底层数据处理,极大地减轻其数据架构的复杂度和交付运维难度。
MatrixOne 是一款 HTAP 数据库,对 OLTP 及 OLAP 的支持程度较高,可以一站式解决以 MySQL 和 ClickHouse 分别进行事务处理与分析处理的传统模式,也避免了定时通过 ETL 工具从 MySQL 把数据搬迁到 ClickHouse 的运维动作,而是直接通过创建视图(VIEW),使用 SQL 编写各类分析语句。MatrixOne 高度兼容 MySQL,与 TechAgent 使用的 Django 框架及 SQLAlchemy ORM 工具均可无缝对接。因此,将 MySQL 和 ClickHouse 迁移至 MatrixOne 是整个改造的基础环节。
MatrixOne 自带 JSON 及向量两种数据类型。用户可以非常方便的在任意表中创建向量 vecf32/vecf64 类型,或JSON类型的列,同时 MatrixOne 也提供了向量索引和搜索相关的函数,以及 JSON 解析相关函数,可以满足绝大部分 JSON 处理及语义搜索相关的需求。因此通过一定的应用适配和改造,MatrixOne 也可以将 MongoDB 及 Faiss 所起到的作用进行替代。
MatrixOne 支持倒排索引,而倒排索引就是 Elastic 全文搜索中的核心技术,并且 MatrixOne 的倒排索引与向量语义检索可以混合使用,同时允许用户自主调节其中的比例。这不仅可以解决单独采用 Elastic 的问题,还可以直接在数据库层面实现基于语义和全文的混合检索。之所以 TechAgent 的架构需要采用 Elastic 及 Faiss,也就是为了在应用层能将语义检索的优点和全文检索的优点结合起来,以提供给用户最优质的搜索体验。MatrixOne 的实现则可以进一步简化这个模式。
TechAgent 在与 MatrixOne 接触之前,正面临着给各类大客户交付的困境,每个客户平均的交付周期要长达2个月,而其中最复杂的就是数据库层的部署和调试。了解到 MatrixOne 的能力和架构后,TechAgent 团队果断的开启了架构转型,最终成功的将过去的大杂烩式的架构简化成了与单机 MySQL 一样简洁的架构。TechAgent 团队也在矩阵云原生团队的帮助下顺利的完成了整体的云原生化改造,将应用和数据库形成了高效的一体化交付,整体交付时间缩短到1周。另外,在整体数据处理的效率上,过去小时级的数据端到端处理效率也缩短到分钟级。
TechAgent CEO 王巍表示:“过去在业务快速发展的过程中采用了比较粗犷的架构模式,缺什么就补什么,而没有从全盘的角度考虑问题,导致后期迭代和交付进度都受到影响,和矩阵团队合作让我们再次轻装上阵,一次性的解决了沉重的技术包袱。未来 TechAgent 及 MatrixOne 也将继续在 AIGC 领域共同探索,为交付给产业客户更优质的AI咨询师而努力。”