Michael Chen | 内容策略师 | 2024 年 10 月 15 日
数据库内机器学习是指将机器学习算法和技术集成到数据库管理系统。所有流程(包括数据集选择、训练算法和评估模型)都保留在数据库中。借助数据库内机器学习,企业可以直接在数据库中执行复杂的分析任务,从而无需在系统之间移动数据。这消除了数据导入/导出流程所涉及的延迟、数据完整性和安全问题。
假设一家公司突然出现了大量客户流失。机器学习 (ML) 算法可能会预测哪些客户可能会转向竞争对手,推荐个性化的营销活动,并就如何重新吸引这些买家提出其他方案。经常购买的商品可能存在库存过剩的情况。提供特别促销可以转移库存,让客户满意。如果机器学习可以直接在数据库中使用,就可以更快地基于新数据生成这些推荐方案。公司可以快速调整。而且,由于不需要将数据移动到外部机器学习引擎,因此无需担心暴露客户信息。
数据库内机器学习将机器学习算法直接引入数据库,无需在不同系统之间来回移动数据。传统上,机器学习需要从数据库中提取数据,并在单独的机器学习分析平台或工具中进行处理。这既耗时又耗费资源,尤其是在处理大型数据集时。
借助数据库内机器学习,数据将保留在原地,而机器学习算法则以原生方式在数据库环境中执行。在数据库中嵌入机器学习算法的一个关键优势是分析更快、更高效。
简单地说,移动数据会减缓一切。
对于训练 AI 模型等所需的大型数据集,数据库内机器学习尤其有用。借助数据库内机器学习,数据库环境可以使用工具对平台原生环境进行编码、构建模型和测试。这样,只需单击几下即可将数据库中的所有表用于数据密集型项目。
数据库内机器学习还提供了基础设施的一致性,无论是培训还是部署,这意味着 IT 团队可以从创建新的生产就绪基础设施(更不用说相关的维护和质量保证工作)中解放出来,以支持模型使用的下一个阶段。
关键要点
由于员工使用熟悉的数据库系统和工具,因此数据库内机器学习是一种无缝体验。同样,分析师可以使用现有的数据库和熟悉的查询语言来执行高级分析,而无需额外的软件或硬件投资。通过直接在数据库中分析数据,企业可以发现有关新数据的宝贵洞察,并做出更及时、数据驱动的决策。
如果没有数据库内机器学习,希望将机器学习分析应用于其数据的公司将需要执行提取/转换/加载 (ETL) 或提取/加载/转换 (ELT) 流程并将数据转移到外部系统。在这种传统模型下,数据科学家可以执行手动导入/导出操作,也可以通过 API 集成系统;在任一情况下,都需要执行多个额外的步骤来为机器学习功能做好准备,而这些额外的步骤为潜在问题打开了大门,包括:
数据库内机器学习可跳过导出/导入步骤,将机器学习任务与数据本身保持在同一环境中,而无需重新构建或重新格式化工作以确保兼容性。保持在数据库内部也消除了维护能够处理两者之间的系统的需求。
在大规模使用各种数据源来执行机器学习任务时,存在许多障碍,特别是 AI 模型训练。其中包括:
由于数据量和多样性的快速持续增长,数据库内机器学习对数据团队来说非常重要。简单地说,数据密集型任务将变得更加困难,而不是更容易,因此将数据库内机器学习集成到工作流中比以往任何时候都更加重要。
从根本上来说,数据库内机器学习的工作方式与标准机器学习类似。主要的区别在于,在系统之间移动数据所需的所有步骤(从提取到转换/清理)都被简单地删除了。但是,由于在数据库环境中工作的性质,这确实存在一些限制和要求。
在大致上,下面是数据库内机器学习的工作原理。
一切都从加载到数据库开始,但为了实现数据库内机器学习,需要注意的一点是:数据库必须支持该功能,特别是将代码保持在数据附近,以实现数据库内机器学习的全面效率改进。
无论机器学习算法是位于数据库内还是第三方平台,它们仍需要经历必要的优化过程。这意味着训练模型、评估结果并根据需要进行微调。与数据库内机器学习的主要区别在于,这些步骤是在数据库内执行的,而不是在与数据所在位置分开的系统内执行的。这样就无需在多个不同的系统和数据存储之间移动数据,即可执行模型优化任务。
在传统的机器学习中,数据必须从数据库移动到存储库(例如数据湖),以便训练模型、评估结果以及执行细化,例如调整单个算法和参数。这些步骤会占用计算资源,使基础设施耗尽。即使模型从开发环境到测试环境,数据库原生 API 也可以处理这些任务。
使用数据库内机器学习,对机器学习模型的修订可以通过对表进行版本控制来传播到其他数据库,无论是在开发、测试还是生产环境中。优化功能可以即时集成,在不中断其他步骤或陷入停滞的计算资源的情况下执行。
当直接在数据库中使用机器学习模型生成洞察时,结果是近乎实时的洞察,而无需执行其他步骤或担心 ETL/ELT 延迟和数据完整性。
数据库内机器学习可以自然地缩短流程并减少组织的硬件需求,从而带来许多好处。虽然这种方法有其自身的一套限制,但共同的好处如下:
在系统之间移动数据充其量是繁琐的。在坏的情况下,它可能会在降低操作速度的同时带来错误、延迟和安全风险。通过将分析任务保存在数据库中,ELT/ETL 在导出、数据转换和加载过程中所涉及的额外障碍被消除,从而确保整个分析流程尽可能快速地移动。
当企业不再需要迁移大型数据集时,可以节省存储和专家人工成本,并减少延迟。毕竟,时间就是金钱。此外,提高效率可以减少在硬件和软件问题故障排除上花费的时间,从而实现二次成本降低。
可扩展性通常取决于资源:流程所需的资金、人力或 CPU 越多,按需扩展就越困难。删除数据移动流程可消除执行导出或格式转换等步骤所需的额外计算能力。将数据保存在数据库中可减少解决兼容性问题的需求并提高计算效率,从而提供更大的灵活性和更易于扩展以满足需求。
ELT/ETL 进程是网络中重复数据的主要源。重复可能源于许多来源,例如硬件问题中断导出,导致数据损坏,或者数据转换工具出现问题,导致意外编辑或删除。ELT/ETL 流程的每个步骤都会带来风险,这可能会损害数据集的质量和准确性,同时也会降低流程效率。
数据库中的机器学习将数据保存在一个位置。这样就无需移动数据,从而减少了导出/导入和输入/输出。因此,进程可以在本地环境中发生,而无需依赖其他系统。这可释放各种任务的自动化工具和功能,例如部署、审计和维护检查。用户可以受益于这些功能,而无需担心可能出现的兼容性或集成问题。
数据库内机器学习工具提供各种服务和功能。在许多情况下,这些工具类似于数据库供应商作为独立功能提供的功能,可以是集成功能的子集,也可以是与供应商的机器学习平台的嵌入式连接。例如,Oracle Database 在环境中提供了机器学习功能,无需将数据从系统移动到系统。在这种情况下,Oracle Database 使用 Oracle Machine Learning 工具(例如 SQL、R、Python、REST、自动化机器学习 (AutoML) 和无代码接口以及各种可用算法)提供探索、准备和建模。
尽管它具有令人信服的优势,但数据库内机器学习在很大程度上依赖于数据库环境的特性和功能。这可能会导致未来迁移出现问题,或者当 ML 模型需要超出环境的本机功能时。
数据库内机器学习常见的缺点和局限性包括:
如果一切都符合项目的机器学习需求和目标,从测试到部署实际上是一个简单的步骤。但是,这些模型基于组织的数据库内工具的特定功能。当项目演变为更复杂或需要迁移时会发生什么情况?使用数据库内工具可以使即时机器学习工作负载更快、更高效,但未来可能是一个问号,因此有必要考虑长期目标是否与当前功能保持一致。
数据库内机器学习仅适用于受支持的数据库应用,并且可以提供一组有限的 API。随着数据库内机器学习系统的功能不断增长,这种情况正在发生变化,但一般来说,独立工具提供了更多的功能和特性,以及丰富的专家来帮助公司利用这些功能。
数据库内机器学习的主要优势也导致了一个明显的缺点:通过将数据保存在数据库环境中,将跳过 ETL/ELT 步骤,但这也意味着错失了审计和数据清理的机会。
在许多情况下,数据库不会与机器学习工具共享相同的计算资源,特别是对于需要高性能计算的大规模或非常复杂的模型。因此,数据库内机器学习模型的范围通常具有上限。每个组织设置都不同;同样,每个项目的需求都不同,这是在初始计划阶段需要考虑的权衡。
HeatWave 在一个云技术服务中提供自动化、集成、安全的生成式 AI 和机器学习,支持事务处理和湖仓一体规模的分析。HeatWave AutoML 免费为用户提供在 HeatWave 中构建、训练和解释机器学习模型所需的一切资源。借助 HeatWave 数据库中机器学习,客户无需将数据迁移到单独的机器学习服务。他们可以轻松安全地将机器学习训练、推断和解释应用于 MySQL 和对象存储中的数据。HeatWave 现已在 Oracle Cloud Infrastructure、Amazon Web Services 和 Microsoft Azure 上可用。
要开始使用,组织需要确保其数据库提供数据库内机器学习,这对于希望充分利用机器学习功能的组织来说可能是一个改变游戏规则的因素。通过将机器学习算法引入数据,决策者可以更快、更高效地进行分析。
AI 模型具有多种规模和复杂性,从 LLM 到更简单的 ML 模型。他们都有哪些共同点?对数据的渴望。此书介绍了 AI 就绪数据基础设施的四个组件。
如何有效地使用数据库内机器学习?
只有当企业采用支持数据库内功能的数据库时,数据库内机器学习才会发挥作用。必须考虑该数据库在计算资源方面的基础,以及数据库和机器学习模型的大小和范围。
数据库内 ML 有哪些优势?
数据库内机器学习消除了在系统之间提取和移动数据的需求。这在效率方面创造了一套天然的好处,在某些情况下,它可以将处理时间从几周缩短到几天,因为它无需依赖外部工具来进行 ETL/ELT。从大局的角度来看,这也降低了拥有成本,并通过减少资源使用来提高可扩展性和运营效率。
使用数据库内机器学习时需要考虑哪些问题?
在决定将数据库内机器学习用于项目之前,团队应权衡以下因素:
这些问题可以阐明数据库内机器学习的利弊,并且应该为每个项目考虑。
数据库内机器学习的未来趋势是什么?
提供商继续改进和扩展其数据库内机器学习功能,这意味着许多趋势即将到来。随着越来越多的工具和平台支持数据库内机器学习,数据科学家将能够构建和部署更复杂的模型。这也带来了更高的透明度,因为模型存在于一个统一的平台上,而不是局限于使用和驱动机器学习工具的人。更强大的功能还意味着使用更大的数据集,从而加快训练、测试和部署。
注:为免疑义,本网页所用以下术语专指以下含义: