Linux 上的 SQL Server 是什么?
- 5 分钟
运行 Linux 的组织可以考虑使用 SQL Server 托管数据库。 同样,运行 SQL Server 的组织现在可以考虑将其服务器移动到 Linux 操作系统。 但他们为什么要进行这样的更改呢?
作为 Wide World Importers 的系统管理员,你负责管理其 Linux 服务器,这些服务器托管着其所有前端 Web 服务器和后端 Windows 数据库场。 你希望使用 Linux 体验在 Linux 上部署 SQL Server,因此你正在探索在 Linux 上使用 SQL Server 的主要优势。 你的目标是生成一个演示文稿,以交付给 CTO,该演示文稿解释了 Linux 上的 SQL Server 的优势,以及在 Linux 上安装 SQL Server 的影响。
在这里,你将了解为何应考虑在 Linux 上运行 SQL Server。
为什么使用 Linux 上的 SQL Server?
Linux 是在 Linux 内核上运行的操作系统或发行版的集合。 它是一个常用的操作系统,同时适用于本地和基于云的部署。 SQL Server 是一种常用的关系数据库管理系统(RDBMS),传统上在 Windows作系统上运行。 从 SQL Server 2017 开始,Microsoft在 Linux作系统上支持 SQL Server 安装。
如果要运行 SQL Server,请记住,你并不局限于 Windows 平台。 由于 Linux 是开源的,因此可以将其安装在低成本的商用硬件上,从而降低操作系统许可费用。 Linux 还具有更小的占用空间和更低的硬件要求,因此与基于 Windows 的服务器相比,基于 Linux 的 VM 运行速度更快。
Linux 上的 SQL Server 支持 Ubuntu、Red Hat Enterprise Linux 和 SUSE。
为什么选择 SQL Server?
如果选择 Linux 上的 SQL Server 作为 Wide World Importers 的首选数据平台,则可以将当前在 Windows 平台上运行的所有现有 SQL Server 数据库部署到 Linux 上。 还可以使用 Linux 版本的 SQL Server 运行现有应用程序,并且组织可以重复使用其现有的数据库管理和应用程序开发技能。
尽管备份和还原到新的 Linux 环境非常简单,但风险较低的方法是将非业务关键型数据库移动到 Linux,并将其功能和性能与 Windows 直接进行比较。 如果经过验证,就可以创建一个详细的迁移策略来迁移整个数据资产。 将此工作与移动到不同数据库技术和不同操作系统所需的方法进行比较。
Linux 上的 SQL Server 还具有业界领先性能的所有优点。 它在 TPC-E 性能基准检验中排名第一,同时也是 TPC-H 1 TB、10 TB 和 30 TB 性能基准检验中的第一名。 美国国家标准与技术研究所(NIST)将 Linux 上的 SQL Server 评为最安全的数据库。
考虑使用 SQL Server 的另一个合理原因是 PolyBase 功能。 使用 PolyBase,可以设置向外部表提供数据的外部数据源。 提交查询时,可以返回来自这些外部表的数据,就像这些数据存储在 SQL Server 数据库里的常规表中一样。 外部数据源可以包括 Hadoop、Azure Blob 存储帐户、Oracle、PostgreSQL、MongoDB 等。 设置外部表后,还可以使用它们从 SQL Server 导出或导入数据,而无需使用导出、转换、加载(ETL)包或单独的导入或导出工具。 你还可以使用 PolyBase 将外部数据源与 SQL Server 商业智能工具集成。
除了 SQL Server 以外,Wide World Importers 还具有 Oracle 和 SAP HANA 中的数据库。 你考虑使用 ETL 工具将来自所有这些数据源的数据填充到数据仓库中,以便针对其编写报表。 如果使用 PolyBase 部署 SQL Server,可以考虑在 SQL Server 中添加 Oracle 和 SAP HANA 作为外部数据源来集成这三个系统。 这样,报表就可以将其所有查询提交到 SQL Server,但仍包括存储在 Oracle 和 SAP HANA 中的数据。 在此配置中,SQL Server 充当数据虚拟化中心。
共享代码库
在 Linux 和 Windows 上,SQL Server 都使用 SQL 平台抽象层 (SQLPAL),它允许 SQL Server 在所有受支持的作系统上运行。 因此,开发人员可以使用自己喜欢的语言(如 .NET、PHP、node.JS、Java 或 Python)编写应用程序。 他们可以期待应用程序在任何地方以相同的方式运行,无论是使用在 Windows、Linux、Linux 容器、Azure SQL Edge 还是 Azure SQL 数据库上的 SQL Server。
容器
使用 VM 的一个缺点是,每个虚拟机都需要操作系统的所有资源,无论运行的服务是否需要它们。 容器化的虚拟化系统通过共享主机操作系统避免此缺点,同时仍然隔离独立的应用程序和服务。 在一个容器中运行的服务独立于另一个容器中的服务。 对于服务而言,它似乎在独立的 VM 中运行,实则共享单个操作系统的内存和处理器。
可以运行 Linux 中的 SQL Server 容器。 如果你必须管理大量的这些容器,则可以使用业务流程工具,如 Kubernetes 或 Docker Swarm。 可以使用容器实现高可用性,或者通过在容器中部署新代码,使 DevOps 团队能够实现持续集成或持续交付。