【机器学习】10个数据库支持数据库机器学习

本文涉及的产品
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: 尽管方法和功能有所不同,但所有这些数据库都允许您在数据所在的地方构建机器学习模型。

在我2022年10月的文章《如何选择云机器学习平台》中,我选择平台的第一条准则是“靠近数据”。保持代码靠近数据是保持低延迟的必要条件,因为光速限制了传输速度。毕竟,机器学习——尤其是深度学习——往往会多次浏览所有数据(每次浏览都被称为一个时代)。

对于非常大的数据集,理想的情况是在数据已经存在的地方构建模型,这样就不需要大量数据传输。几个数据库在有限程度上支持这一点。下一个自然的问题是,哪些数据库支持内部机器学习,它们是如何做到的?我将按字母顺序讨论这些数据库。

Amazon Redshift

AmazonRedshift是一种受管理的PB级数据仓库服务,旨在使使用现有商业智能工具分析所有数据变得简单且经济高效。它针对从几百GB到1 PB或更多的数据集进行了优化,每年每TB的成本不到1000美元。

AmazonRedshiftML旨在让SQL用户使用SQL命令轻松创建、训练和部署机器学习模型。Redshift SQL中的CREATE MODEL命令定义了用于训练的数据和目标列,然后通过同一区域中加密的Amazon S3存储桶将数据传递给Amazon SageMaker Autopilot进行训练。

在AutoML训练之后,Redshift ML编译最佳模型,并将其注册为Redshift集群中的预测SQL函数。然后,可以通过调用SELECT语句内的预测函数来调用模型进行推理。

总结:Redshift ML使用SageMaker Autopilot根据您通过SQL语句指定的数据自动创建预测模型,并将其提取到S3存储桶中。找到的最佳预测函数注册在Redshift聚类中。

BlazingSQL

BlazingSQL是一个基于RAPID生态系统的GPU加速SQL引擎;它是一个开源项目和付费服务。RAPID是一套开源软件库和API,由Nvidia开发,使用CUDA,基于Apache Arrow柱状内存格式。CuDF是RAPID的一部分,是一个类似Pandas的GPU DataFrame库,用于加载、连接、聚合、过滤和以其他方式处理数据。

[参加11月8日的虚拟峰会-首席信息官云峰会的未来:掌握复杂性和数字创新–立即注册!]

Dask是一个开源工具,可以将Python包扩展到多台机器。Dask可以在同一系统或多节点集群中的多个GPU上分发数据和计算。Dask与RAPID cuDF、XGBoost和RAPID cuML集成,用于GPU加速数据分析和机器学习。

总结:BlazingSQL可以在AmazonS3中的数据湖上运行GPU加速查询,将生成的DataFrames传递给cuDF进行数据处理,最后使用RAPID XGBoost和cuML进行机器学习,并使用PyTorch和TensorFlow进行深度学习。

Brytlyt

Brytlyt是一个以浏览器为主导的平台,支持具有深度学习能力的数据库内AI。Brytlyt将PostgreSQL数据库、PyTorch、Jupyter笔记本、Scikit learn、NumPy、Pandas和MLflow组合成一个无服务器平台,作为三种GPU加速产品:数据库、数据可视化工具和使用笔记本的数据科学工具。

Brytlyt可以连接任何具有PostgreSQL连接器的产品,包括Tableau和Python等BI工具。它支持从外部数据文件(如CSV)和PostgreSQL外部数据包装器(FDW)支持的外部SQL数据源加载和接收数据。后者包括Snowflake、Microsoft SQL Server、Google Cloud BigQuery、Databricks、Amazon Redshift和Amazon Athena等。

作为一个具有并行连接处理的GPU数据库,Brytlyt可以在几秒内处理数十亿行数据。Brytlyt在电信、零售、石油和天然气、金融、物流、DNA和基因组学方面有应用。

小结:通过PyTorch和Scikit学习集成,Brytlyt可以支持深度学习和简单的机器学习模型,这些模型在内部根据其数据运行。GPU支持和并行处理意味着所有操作都相对较快,尽管针对数十亿行训练复杂的深度学习模型当然需要一些时间。

谷歌云BigQuery

BigQuery是谷歌云管理的PB级数据仓库,可让您对大量数据进行近乎实时的分析。BigQueryML允许您使用SQL查询在BigQuery中创建和执行机器学习模型。

BigQueryML支持预测的线性回归;用于分类的二元和多类逻辑回归;用于数据分割的K-means聚类;用于创建产品推荐系统的矩阵分解;执行时间序列预测的时间序列,包括异常、季节性和假日;XGBoost分类和回归模型;用于分类和回归模型的基于TensorFlow的深度神经网络;AutoML表格;和TensorFlow模型导入。您可以使用具有来自多个BigQuery数据集的数据的模型进行训练和预测。BigQueryML不会从数据仓库中提取数据。通过在CREATEMODEL语句中使用TRANSFORM子句,可以使用BigQueryML执行特性工程。


总结:BigQueryML将Google Cloud Machine Learning的大部分功能与SQL语法结合到BigQuery数据仓库中,而无需从数据仓库中提取数据。

IBM Db2仓库

IBM Db2 Warehouse on Cloud是一个托管的公共云服务。您还可以使用自己的硬件或在私有云中在本地设置IBM Db2 Warehouse。作为数据仓库,它包括内存数据处理和用于在线分析处理的列表等功能。其Netezza技术提供了一组强大的分析,旨在有效地将查询带到数据中。一系列库和函数帮助您获得所需的精确见解。

Db2Warehouse支持Python、R和SQL中的数据库内机器学习。IDAX模块包含分析存储过程,包括方差分析、关联规则、数据转换、决策树、诊断度量、离散化和矩、K均值聚类、K近邻、线性回归、元数据管理、朴素贝叶斯分类、主成分分析、概率分布、随机抽样、回归树、,顺序模式和规则以及参数和非参数统计。

概要:IBM Db2 Warehouse包括一组广泛的数据库内SQL分析,其中包括一些基本的机器学习功能,以及对R和Python的数据库内支持。

Kinetica

Kinetica流式数据仓库将历史和流式数据分析与位置智能和AI结合在一个平台上,所有这些都可以通过API和SQL访问。Kinetica是一个非常快速、分布式、列式、内存优先、GPU加速的数据库,具有过滤、可视化和聚合功能。

Kinetica将机器学习模型和算法与您的数据相集成,用于大规模实时预测分析。它允许您简化数据管道和分析、机器学习模型和数据工程的生命周期,并使用流计算功能。Kinetica为GPU加速的机器学习提供了全生命周期解决方案:托管Jupyter笔记本电脑、通过RAPID进行模型训练,以及Kinetica平台中的自动模型部署和推理。

小结:Kinetica为GPU加速的机器学习提供了一个完整的数据库生命周期解决方案,可以从流数据中计算特征。

Microsoft SQL Server

Microsoft SQL Server Machine Learning Services支持SQL Server RDBMS中的R、Python、Java、PREDICT T-SQL命令和rxPredict存储过程,以及SQL Server大数据集群中的SparkML。在R语言和Python语言中,Microsoft包括几个用于机器学习的包和库。您可以将经过训练的模型存储在数据库中或外部。Azure SQL托管实例支持Python和R的机器学习服务作为预览。

Microsoft R具有扩展功能,允许它处理磁盘和内存中的数据。SQL Server提供了一个扩展框架,以便R、Python和Java代码可以使用SQL Server数据和函数。SQL Server大数据集群在Kubernetes中运行SQL Server、Spark和HDFS。当SQL Server调用Python代码时,它可以反过来调用Azure Machine Learning,并将生成的模型保存在数据库中以用于预测。

摘要:当前版本的SQL Server可以用多种编程语言训练和推断机器学习模型。

Oracle数据库

Oracle云基础设施(OCI)数据科学是一个可管理的无服务器平台,供数据科学团队使用Oracle云基础架构(包括Oracle自治数据库和Oracle自治数据仓库)构建、培训和管理机器学习模型。它包括开放源码社区开发的以Python为中心的工具、库和包,以及支持预测模型端到端生命周期的Oracle加速数据科学(ADS)库:

  • 数据采集、分析、准备和可视化
  • 功能工程
  • 模型培训(包括Oracle AutoML)
  • 模型评估、解释和解释(包括Oracle MLX)
  • Oracle功能的模型部署

OCI数据科学与Oracle云基础架构堆栈的其他部分集成,包括功能、数据流、自主数据仓库和对象存储。

当前支持的型号包括:

总结:Oracle云基础架构可以托管与其数据仓库、对象存储和功能集成的数据科学资源,从而实现完整的模型开发生命周期。

Vertica公司

Vertica Analytics Platform是一个可扩展的柱状存储数据仓库。它以两种模式运行:Enterprise和EON,前者将数据本地存储在组成数据库的节点的文件系统中,后者为所有计算节点共同存储数据。

Vertica使用大规模并行处理来处理数PB的数据,并使用数据并行性进行内部机器学习。它有八个内置的数据准备算法,三个回归算法,四个分类算法,两个聚类算法,几个模型管理功能,以及导入TensorFlow和PMML模型的能力。拟合或导入模型后,可以将其用于预测。Vertica还允许使用C++、Java、Python或R编程的用户定义扩展。您可以使用SQL语法进行训练和推理。

总结:Vertica内置了一套不错的机器学习算法,可以导入TensorFlow和PMML模型。它可以从导入的模型以及自己的模型进行预测。

MindsDB

如果您的数据库还不支持内部机器学习,那么很可能可以使用MindsDB添加该功能,MindsDB集成了六个数据库和五个BI工具。支持的数据库包括MariaDB、MySQL、PostgreSQL、ClickHouse、Microsoft SQL Server和Snowflake,目前正在进行MongoDB集成,并将于2021晚些时候与流媒体数据库集成。目前支持的BI工具包括SAS、Qlik Sense、Microsoft Power BI、Looker和Domo。

MindsDB具有AutoML、AI表和可解释AI(XAI)。您可以从MindsDB Studio、SQL INSERT语句或Python API调用调用AutoML培训。培训可以选择使用GPU,也可以选择创建时间序列模型。

您可以将模型保存为数据库表,并通过针对保存的模型的SQL SELECT语句、MindsDB Studio或Python API调用来调用它。您可以从MindsDB Studio评估、解释和可视化模型质量。

您还可以将MindsDB Studio和Python API连接到本地和远程数据源。MindsDB还提供了一个简化的深度学习框架Lightwood,该框架在PyTorch上运行。

小结:MindsDB为一些缺乏机器学习内置支持的数据库带来了有用的机器学习功能。

越来越多的数据库支持在内部进行机器学习。确切的机制各不相同,有些人比其他人更有能力。然而,如果您有太多的数据,否则可能需要在采样子集上拟合模型,那么上面列出的八个数据库中的任何一个以及MindsDB帮助下的其他数据库都可以帮助您从完整的数据集构建模型,而不会导致数据导出的严重开销。

本文:https://architect.pub/10-databases-supporting-database-machine-learning

Tags

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
7月前
|
机器学习/深度学习 存储 人工智能
矢量数据库在机器学习领域的应用与前景
【4月更文挑战第30天】本文探讨了矢量数据库在机器学习领域的应用,包括特征存储、相似性搜索、模型训练与调优及实时分析。随着AI技术发展,矢量数据库将深度融合,提升扩展性和可伸缩性,增强智能化功能,并加强安全性与隐私保护。未来,矢量数据库将在机器学习领域扮演关键角色。
|
7月前
|
机器学习/深度学习 算法 数据库
深入浅出:利用Python与机器学习优化数据库性能
本文介绍了一种创新的方法,结合Python编程语言和机器学习技术,来优化数据库性能。传统的数据库性能优化方法往往依赖于数据库管理员(DBA)的经验和直觉,而本文所提出的方法通过自动化的方式,利用机器学习模型对数据库查询进行分析和优化,从而实现更高效、更智能的数据库性能管理。本文首先介绍了使用Python进行数据库操作的基础知识,然后详细阐述了如何应用机器学习算法来预测和改善数据库查询性能,最后通过一个实际案例展示了该方法的有效性。本文旨在为数据库管理员、开发者以及对数据库性能优化感兴趣的读者提供一种全新的视角和工具。
|
机器学习/深度学习 数据挖掘 数据库连接
Python机器学习从入门到高级:导入数据(包含数据库连接)
Python机器学习从入门到高级:导入数据(包含数据库连接)
Python机器学习从入门到高级:导入数据(包含数据库连接)
|
机器学习/深度学习 SQL 数据采集
矩阵分解就能击败深度学习!MIT发布时序数据库tspDB:用SQL做机器学习
矩阵分解就能击败深度学习!MIT发布时序数据库tspDB:用SQL做机器学习
175 0
|
机器学习/深度学习 存储 数据采集
学术加油站|机器学习应用在数据库调优领域的前沿工作解读
学术加油站|机器学习应用在数据库调优领域的前沿工作解读
278 0
学术加油站|机器学习应用在数据库调优领域的前沿工作解读
|
7月前
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
251 14
|
7月前
|
机器学习/深度学习 算法 数据可视化
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
132 1
|
7月前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
|
7月前
|
机器学习/深度学习 数据采集 算法
解码癌症预测的密码:可解释性机器学习算法SHAP揭示XGBoost模型的预测机制
解码癌症预测的密码:可解释性机器学习算法SHAP揭示XGBoost模型的预测机制
348 0
|
7月前
|
机器学习/深度学习 数据采集 监控
机器学习-特征选择:如何使用递归特征消除算法自动筛选出最优特征?
机器学习-特征选择:如何使用递归特征消除算法自动筛选出最优特征?
986 0
下一篇
DataWorks