1. SQL Server 新功能介绍
SQL Server(MSSQL)是微软公司最早发布的关系型数据库管理系统。其最新版本是SQL Server 2019。本周,SQL Server 2019 推出了新的功能,致力于变革业务实践,本文将对这些新功能逐一介绍。
2. 支持 Apache Spark 和 Hadoop 分布式计算
SQL Server 2019 应用程序现在支持 Apache Spark 和 Hadoop 分布式计算,您可以将大数据运行在 SQL Server 2019 上,从而将大数据与关系数据存储结合起来并加以管理。
该新功能的技术名为 Big Data Clusters,使得 SQL Server 可以扩展分布式存储、计算和分析。您可以使用 PolyBase 将实时查询与历史数据存储在 Hadoop 中的数据进行联接,这些数据可以通过外部表的形式暴露给 SQL Server。
以下代码演示如何从 Hadoop 中的 CSV 文件创建表:
CREATE EXTERNAL TABLE Hadoop_CSV (
c1 varchar(40) ,
c2 varchar(40) ,
c3 varchar(40))
LOCATION 'hdfs://localhost:19000/hadoopdata/csvfiles'
如果您想了解有关 Big Data Clusters 的更多信息,请参见微软的官方文档。
3. 机器学习服务
SQL Server 2019 还集成了机器学习服务,这是一项可自定义的模型训练服务,开发人员可以在 SQL Server 中建立和访问自定义机器学习模型,配合数据库管理功能,实现训练、评估和预测等功能。
我们可以使用 REVO R 和 Python 在 SQL Server 的 T-SQL 语言中使用机器学习算法,最终在 SQL Server 内部运行。
以下代码展示如何训练一个具有分类功能的随机森林模型:
DECLARE @model varbinary(max)
EXEC sp_execute_external_script
@language =N'R'
, @script=N'
library(randomForest)
data(iris)
model <- randomForest(Species~ ., data=iris, importance=TRUE, proximity=TRUE)
x <- as.raw(serialize(model, connection=NULL))
'
, @input_data_1 =N''
, @input_data_1_name =N''
, @output_data_1_name =N''
, @params =N''
, @model = @model OUTPUT;
INSERT INTO my_models VALUES (@model)'
4. 支持 Kubernetes 容器化部署
SQL Server 2019 还增加了在 Kubernetes 上容器化部署的功能。SQL Server的容器不仅加快了部署的速度,而且可以更方便地进行应用程序的扩展。
以下是一个 Kubernetes 部署示例:
kubectl create -f mssql-deployment.yml
5. 总结
SQL Server 2019 新功能使得 SQL Server 成为更高效更强大的解决方案,支持 Apache Spark 和 Hadoop、机器学习服务和 Kubernetes 容器化部署,使得 SQL Server 2019 可以处理更丰富的数据和更大规模的数据,满足了各个行业业务的需求。