2024.05.17
2024年5月16日,九章云极DataCanvas公司自主研发和设计的开源多模向量数据库DingoDB顺利完成中国信息通信研究院(以下简称中国信通院)多模数据库产品测试。本次测试的成功标志着DingoDB在技术能力、性能表现和产品稳定性方面得到了权威机构的高度认可,并进一步印证其为用户提供可靠高效数据管理解决方案的能力,以及在多模数据库领域的领先地位和卓越品质。目前,DingoDB已完成中国信通院《向量数据库标准》和《多模数据库技术要求》两大数据库领域的重量级测试。
图1 DingoDB多模向量数据库的多重能力
中国信通院作为国家级科研机构,承担了多项国家级重大科研任务和标准制定工作,具有极高的权威性和公信力,其测试和认证在业内广受认可。中国信通院定期对数据库产品进行全面测试,为用户选择合适的数据库产品提供权威指南,本次多模数据库产品测试正是基于《多模数据库技术要求》的标准。该标准由中国信通院云计算与大数据研究所联合多家企业专家制定,涵盖了多模数据库的基本能力、管理能力、兼容能力、安全能力、扩展能力、高可用等六大能力域,共33个测试项(包括21个必选项和12个可选项),测试产品需要满足所有必选项方可通过。
DingoDB——功能完全内建的数据库,而非多组件的简单堆砌
DingoDB集成了关系型、文档、向量和键值四种数据模型,能为用户提供高效多模型数据库解决方案。区别于市场上很多多模数据库厂商,它不是多个数据模型组件的简单堆砌,而是一款具备在线强一致性的完全内建的数据库。
DingoDB产品特性:
企业级存储可靠性:基于Multi-Raft多副本存储,确保数据强一致性,满足企业级容灾需求。
多模数据联合检索:支持通过SQL进行执行关系、向量、文档的联合检索,并提供丰富的索引类型,简化RAG应用的开发复杂度,满足各种场景需求。
多模数据库的能力:部署一套DingoDB即可拥有键值缓存加速、关系数据库和向量数据库和文档的服务能力,减少多个数据库系统的维护和管理成本,提高整体系统的效率和灵活性。
兼容MySQL协议:用户可以直接使用原生的MySQL客户端访问,无需学习新的数据库语法和工具,降低用户的使用门槛。
水平扩缩容:基于存算分离的架构设计,DingoDB能够实现对性能和资源的一键水平扩容和缩容,使得企业能够根据业务需求快速调整数据库规模,有效应对流量变化。
多存储引擎兼容:支持多种存储引擎,使得企业可以根据业务特点选择最适合的存储引擎,最大化性能效益。
分布式事务:支持多种数据模态下的分布式事务,同时提供多种隔离级别,既兼容乐观事务和悲观事务,确保事务在分布式环境下的完整性和一致性。
多租户支持:原生支持多租户,服务隔离防止数据泄露与干扰。支持请求级动态流控,灵活分配资源。支持混合存储与按租户和资源组隔离,确保资源的合理分配和高效利用。
开源开放:完整开放数据库源代码,提供丰富的多语言SDK及详尽的开发文档,满足用户在不同应用开发场景中的需求。
DingoDB场景应用:
1)基于RAG技术的场景的应用
DingoDB覆盖关系型、文档、向量和键值等多种数据模型的特点,使得它在基于RAG技术(Retrieval Augmented Generation)的场景中得到广泛应用,例如企业知识管理场景。该场景的目标是从海量的技术文档中找到与问题相关的片段并生成回答。这个过程需要结合大语言模型(LLM,large language model)和多模数据库的能力。其中,LLM因为无法直接生成与技术内容相关的答案,只起到辅助性作用,效果好坏是由执行检索任务的多模数据库决定。在该场景,DingoDB提供两种不同的检索方式来召回相关文本数据,包括向量检索和关键词检索。向量检索依赖于DingoDB的向量数据库功能,而关键词检索则依赖于其文档数据库功能。这种多模检索方式能有效提高生成内容的准确性、连贯性和信息量,确保用户获得更高质量的响应。
使用DingoDB的企业知识管理场景的流程如下(图2),分为下列三个步骤:
图2 基于DingoDB多模向量数据库的RAG构建流程
Step1.文档解析入库
将企业的技术文档上传,通过Text Splitter模块进行分割,生成多个文本块(段落、句子等)。对文本块进行标注提取,生成标题或标签,便于检索。对于包含表格的数据,生成描述性句子,确保表格内容能被准确理解和检索。最后,通过Embedding模型将文本块向量化,生成用于向量检索的表示,存入DingoDB。
Step2. 基于DingoDB的向量检索和关键词检索
用户提出问题后,通过Embedding模型生成向量表示,在DingoDB中进行向量检索,找到最相关的多个文本块。关键词检索是为解决用户口头表达与专业文档不匹配而造成的检索不准确问题。关键词检索通过LLM提取关键词,输入DingoDB进行关键词匹配(match召回),找到相关文本块。DingoDB支持标量向量联合检索,结合关键词匹配和向量召回进行混合召回,返回TopN相关文本块。
Step3. 答案生成
将检索到的TopN相关文本块通过预定义的Prompt模板传递给LLM,由LLM生成详细且准确的答案。
综上所述,在大语言模型时代的RAG典型应用企业知识管理场景,DingoDB可以高效地处理和检索海量技术文档,提供精准、及时的答案,支持企业内部的信息查询和知识管理。依托该场景,DingoDB在多家央企客户得到应用。
2)分布式KV场景的应用
在金融行业的实时风控、反欺诈、精准营销、产品推荐等需要亚秒级决策的场景,DingoDB以其高性能和低延迟的特点,轻松驾驭亚秒级大规模数据处理与分析,为实时决策提供坚实的服务支撑。DingoDB采用先进的数据复制与故障转移机制,并通过持久化技术确保数据安全可靠。同时,能根据业务需求灵活扩展计算与存储资源,从容应对数据处理需求的持续增长。DingoDB具备满足信创标准的高频Serving计算能力,使企业在面对实时数据处理和决策时能够快速响应。
3)其他场景的应用
除上述两类场景,DingoDB还在多种丰富场景应用中展现了其强大的功能和多样化的能力(图3)。
图3 DingoDB多模向量数据库支撑多种业务场景
Vector Ocean数据支撑:Vector Ocean是九章云极DataCanvas对数据架构的一种全新设想。DingoDB在Vector Ocean中提供结构化和非结构化数据的存储,支持多模态数据分析能力和科学计算能力。其强大的数据处理能力使得企业能够在一个平台上处理多种数据类型,简化数据管理流程。
大模型记忆体:DingoDB辅助大语言模型生成前的Prompt管理,提供高效并发的搜索答案能力。这在大语言模型时代尤为重要,能够为AI模型提供可靠的数据支持,提升模型生成答案的准确性和效率。
结构化与非结构化数据的融合分析:DingoDB支持音频、视频、文本等非结构化数据的向量化存储,提供结构化与向量数据的联合分析和计算能力。这种融合分析能力使得企业能够从多维度进行数据分析,获取更全面的洞察。
总结
综上所述,DingoDB作为一款多模数据库,在企业知识管理、实时决策、数据支撑、大语言模型应用以及多类型数据检索和分析等方面展现出强大的应用能力,获得了广泛的认可和好评。DingoDB不仅可以充当海量数据的存储中心,还是推动数据驱动决策的核心动力。在数字化转型的浪潮中,DingoDB成为传统业务与前沿技术的重要桥梁。无论是云计算的高效处理、大数据的深度分析、人工智能的智能决策,还是物联网的实时数据交换,DingoDB都能提供坚实的数据分析和处理支撑。