6月22日,MongoDB宣布一系列新举措,包括在产品中增加了向量搜索,简化生成式AI(GenAI)和语义搜索在应用中的集成。

MongoDB与Apache Cassandra、DynamoDB、RethinkDB、Redis、Firebase等一样,一直深受开发人员的喜爱,成为备受欢迎的NoSQL数据库。而MongoDB的特色则是将数据存储在具有灵活模式的类似JSON的文档中。
因为大语言模型和生成式AI(GenAI)的流行,进入向量数据库的企业日渐增多。然而在向量数据库供应商格局日趋稳定的情况下,MongoDB以在其NoSQL数据库中增加向量搜索的方式进入向量数据库,是锦上添花,还是盲目跟风呢?

1.向语义搜索延展,树立NoSQL数据库新“标杆”

在NoSQL数据库中,MongoDB有特殊的贡献,受到市场的认可。
第一,MongoDB中的数据以文档(NoSQL)的形式存储,而不是传统数据库仍在使用的行和列(SQL)。这为开发人员提供了一个灵活的架构,一旦要修改应用程序,那么只需在数据库中更改,使开发人员更容易编写代码。
第二,2016年MongoDB推出了数据库即服务平台MongoDB Atlas,并将其用于各种云平台。
在过去的几年里,Atlas实现了增长。MongoDB Atlas是一个托管数据库平台,目前可在超过100 +地区的所有云提供商上使用。目前,包括AWS、Microsoft Azure、Google Cloud、阿里云等在内的云提供商正在提供MongoDB的数据服务,以满足业务需求。
第三,MongoDB推出了一个列式索引,可以实时处理应用内分析,对于跟踪应用中的实时分析非常有用,如欺诈检测、实时信用评分、客户关系管理等。
除此之外,MongoDB还推出了MongoDB Atlas Search,一个全文搜索解决方案,为构建基于相关性的功能提供无缝且可扩展的体验。这个新功能与Elasticsearch非常相似,也是MongoDB中使用比较流行工具之一。
如果顺着这个逻辑来看,MongoDB引入向量搜索,对其搜索的完善和发展,是向语义搜索的一个延展。
MongoDB Atlas向量搜索的生成式AI功能可实现精确的信息检索和个性化,此外,MongoDB Atlas搜索节点为企业级搜索工作负载提供专用资源。
传统上,当客户使用不同的搜索引擎时,在将源数据库与搜索引擎同步时存在挑战,从而导致架构复杂性和时间延迟。但是使用Atlas,搜索是同一平台的一部分,无需将数据移动到其他平台。所有搜索操作都可以直接在Atlas上实时执行,为客户提供无缝的搜索体验。
开发人员现在可以利用熟悉的MongoDB查询语言来执行语义查询,而无需专门的向量数据库或语言获取。

2.矢量搜索有助于构建生成式AI应用

当然MongoDB在Atlas中引入了矢量搜索功能——Atlas Vector Search的另一个目的是帮助企业用MongoDB中存储的数据构建基于生成式AI的应用。这种新的搜索功能有助于支持一系列新的工作负载,包括带有文本的语义搜索、图像搜索和高度个性化的产品推荐等。

搜索在向量上运行,原始数据的特征或属性用多维数学表示,可能包括文本、图像、音频或视频。因此,矢量搜索利用矢量通过快速识别和检索相似或相关数据来执行相似性搜索,矢量搜索也可用于补充大语言模型(LLM),通过合并批准的企业内容和数据,以减少对准确性和信任的担忧。
MongoDB Atlas的矢量搜索还允许企业通过使用LangChain和LlamaIndex等开源框架,用自己的数据增强GPT-4等预训练模型的功能。
这些开源框架可用于访问MongoDB合作伙伴和模型提供商的LLM,如AWS、Databricks、Google Cloud、Microsoft Azure、MindsDB、Anthropic、Hugging Face和OpenAI,以生成矢量嵌入并在Atlas上构建AI驱动的应用程序。
另外,MongoDB在GenAI上的另一个动作是与Google Cloud合作,发展AI能力,推出AI创新者计划。
MongoDB和Google Cloud联手加强生成式AI的发展,并促进创新应用的创建。MongoDB与Google Cloud合作整合Vertex AI功能,旨在加速基于生成AI的应用的开发。据Vertex AI将提供从MongoDB Atlas中存储的企业数据生成嵌入所需的文本嵌入API。
这些嵌入可以与 PaLM 文本模型结合使用,以创建高级功能,如语义搜索、分类、异常值检测、AI 驱动的聊天机器人和文本摘要。
MongoDB在Atlas中添加矢量搜索的举动并不是独一无二的,现有数据库的多个供应商都有益将矢量搜索引入已经存储在其数据平台中的数据。

3.在单个界面中管理实时流数据

为了帮助企业在一个界面中管理来自多个来源的实时流数据,MongoDB在Atlas中添加了一个流处理接口。
被称为Atlas Stream Processing的新接口可以处理任何类型的数据,并具有灵活的数据模型,将允许企业实时分析数据,并调整应用行为,以满足最终客户的需求。
MongoDB声称,Atlas Stream Processing绕过了开发人员使用多种专用编程语言、库、API和驱动程序的需要,同时避免了使用这些多种工具的复杂性。
新界面可帮助开发人员使用文档模型处理流数据和历史数据。在摄取数据时处理数据可以在添加新数据时连续查询数据,从而提供由摄取新数据触发的不断更新的实时视图。
Ventana Research的一份报告称,超过70%的企业的标准信息架构将包括流数据和事件处理,以便他们能够提供更好的客户体验。
根据SanjMo的首席分析师Sanjeev Mohan的说法,开发人员也可以使用Atlas Stream Processing来执行聚合等功能,以及对Kafka主题、Amazon Kinesis甚至MongoDB更改数据捕获中的数据进行过滤和异常检测。
Atlas Stream Processing内部的灵活数据模型也可以随着时间的推移进行修改,以满足需求。
Constellation的Henschen指出,向Atlas添加新界面可以被视为与Snowflake和Databricks等竞争对手的数据云提供商追赶的举动,这些提供商已经引入了处理实时数据的功能。

4.向量搜索与图技术,告别关系数据库的复杂性

“数据是一切的关键。如果没有这些数据库构成了大型语言模型的核心和灵魂,围绕生成式人工智能的杂音就会一直存在。”在NoSQL数据库中,除了矢量数据库外,Neo4j、OrientDB等图数据库正在通过图形技术,加入到GenAI的潮流中。
图形数据库更适合需要对实体之间的关系进行复杂查询的应用,而向量数据库更适合需要相似性搜索的应用程序。然而,在某些情况下,这两种类型的数据库都是需要的。
例如,社交网络可以使用图形数据库来存储用户关系,并使用向量数据库来存储用户特征。通过这样做,社交网络将能够执行复杂的关系查询和相似性搜索。
另外,两种数据库的综合应用对GenAI更有出奇的效果。星环科技推出了自研的向量数据库与图数据库,星环科技将向量数据库Hippo和图数据库StellarDB结合,并以此作为微调的数据凭依,可以更低成本、更高效地构建特定领域的大模型应用。将向量数据库、图数据库与大语言模型结合,可以构建业务域知识图谱和业务系统的应用服务,进一步提高人机交互的效率,提供更灵活的组合业务服务,激发出更多更深入的业务场景AI应用。
“关系数据库有其自身的一系列限制,因为使用多个利基数据库时会出现意想不到的复杂性。”为了解决这个问题,MongoDB现在已经将其关系迁移器提供给公众使用。迁移器识别工作负载、更新架构、现代化应用程序代码以及从各种关系数据库迁移数据。它支持Oracle、SQL和Postgres数据库,并利用AI生成代码更改,从而简化开发过程。
在去年试图扩大其用户群以包括传统数据库专业人员之后,MongoDB正在转换方向,增加功能将其NoSQL Atlas数据库即服务(DBaaS)转变为开发人员更完整的数据平台,包括支持构建生成AI应用程序的功能。
“MongoDB宣布的所有内容都可以被视为使Atlas成为开发人员更全面、更完整的数据平台的举措,”Constellation Research首席分析师Doug Henschen表示。“MongoDB为开发人员提供所需要的所有工具的能力越多,平台对这些开发人员和他们工作的企业就越有粘性。
参考资料:
https://analyticsindiamag.com/mongodb-ups-the-ante-with-vector-search-for-generative-ai/
https://analyticsindiamag.com/the-good-the-bad-and-the-ugly-the-story-of-mongodb/
https://analyticsindiamag.com/2022-in-review-mongodb/
https://www.infoworld.com/article/3700728/mongodb-adds-vector-search-to-atlas-database-to-help-build-ai-apps.html

春华秋实!

扫码关注
大数据应用
从现在开始

End




