热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

想知道吗?Windows怎样把SQLServer迁移到Linux上

导读你是否平时的工作是用的是Linux操作系统,但公司的重要项目使用的是SQLServer,你曾经是否因此而鲲熬过?现在告诉你个好消息&#

导读你是否平时的工作是用的是Linux操作系统,但公司的重要项目使用的是SQL Server,你曾经是否因此而鲲熬过?现在告诉你个好消息,微软已经在2017版本中,将SQL Server数据库引入到了Linux等开源系统中去了,作者在本文详细介绍了这其中的过程。

早在2016年,当微软宣布SQL Server将很快在Linux上运行时,这一消息对用户和权威人士来说都是一个巨大的惊喜,在过去的一年中,微软对Linux(总之就是开源的操作系统)的支持已经十分重视,公司的使命似乎已经变成了只要哪里有用户,哪里就必须得有SQL Server工具。

微软今天发布了SQL Server 2017的第一个候选版本,这将是第一个在Windows、Linux和Docker容器上运行的版本。仅Docker容器就已经吸引了超过100万的申请,因此毫无疑问,会有很多人对这款新版本非常感兴趣。尽管新版本有很多需要改进的地方,但SQL Server 2017支持Linux仍然是这个版本最重要的突破。

在今天发表声明之前,我与微软的数据库系统组的总经理罗汉·库马尔进行了交谈,了解了这个项目的历史,以及他的团队如何成功地将SQL Server这么复杂的软件给引入到Linux中去的。在微软工作了18年的库马尔指出,他的团队注意到许多企业开始使用SQL Server作为z重要任务的工作负载。但与此同时,这些企业的工作环境也是组合的,包括Windows Server和Linux。对于许多这样的企业来说,无法在Linux上运行他们的数据库成为了一个瓶颈。

“经过企业的谈话,很明显,我们觉得这么做是必要的,”库马尔说,“我们正在强制客户使用Windows作为他们选择的平台。”在微软的另一个化身中,这可能会被视为积极的东西,但该公司今天的战略却大不相同。库马尔还指出,许多企业都在寻找Oracle数据库产品的替代品。毕竟如果想要运行Linux,并使用具有完全企业支持的专有关系型数据库,那么你可能就不得不选择Oracle了。

正如库马尔告诉我的,这并不是他的团队第一次希望可以支持Linux。他告诉我:“过去我们曾进行过几次讨论,但没有得到批准。”他说:“对于企业来说,这并不是一种战略”。但这已经是三年前的观点了-现在随着萨提亚·纳德拉成为了微软的掌舵人,这个团队决定再次提出这个想法。“我们反反复复的查看反馈消息,”他说:“看到这些决定的速度有多快,真让人感到惊讶。”

位于雷德蒙德一家越南餐馆的照片前,团队最后决定继续推进这个项目。但是,在做出这个决定之后,这个团队现在面临着一项艰巨的任务:如何将数千万条SQL Server代码移植到Linux上?库马尔也不想在功能上做出任何妥协,因此要么必须是SQL Server的全部核心,要么就是什么都不做(目前,这排除了公司在Windows上提供的图形用户界面和工具)。

该团队在一个已经存在于微软的项目中找到了答案:Drawbridge。Drawbridge是一个在2011年启动的研究项目,它提供了一个容器,它提供了一个小的API表面和一个基础版本的Windows,可以有效地在容器中运行应用程序。这里的想法基本上是建立更好更安全的虚拟机。然后,库操作系统执行应用程序,处理内存管理和其他重要功能,并与底层操作系统集成。

大约两年前,SQL Server团队决定将其作为Linux工作的核心。“领导层表现出了适量的关心,”库马尔评论道,“我的猜测是,鉴于Drawbridge是一个实验性的项目,人们确实对此感到担忧。”但是SQL Server团队接管了Drawbridge代码库,并将其添加到SQL操作系统层中。

在许多方面,这个操作系统层是使这个项目成为可能的原因。由于SQL Server的需求总是超出了Windows和Windows服务器所能提供的,尤其是在内存管理方面,团队已经将许多标准OS特性构建到SQL Server的OS层中。因此,在Drawbridge中,SQL Server也可以管理自己的内存。这方面的工作非常成功,团队不仅在Linux上构建了SQL Server,还将SQL操作系统和它在Drawbridge上所做的工作合并到新的SQL平台抽象层上,这一层现在在Windows和Linux上运行。

因此,SQL Server团队可以从一个单独的代码库工作,并且不必担心代码的运行位置(这包括Microsoft的Azure平台)。Linux的SQL Server应该在今年晚些时候就可以正式运行了。即使在今天,一些公司已经在生产环境中使用了它,而Linux版本的运行速度和Windows版本一样快(假设硬件一样)。

除了最终将版本发布出来外,库马尔指出,团队将密切关注下一步该做什么。尽管数据库领域的创新仍在继续加速,但并不是所有的微软客户都希望他们的任数据库版本可以做到每年(甚至更快)更新一次。不过,鉴于我们最近看到SQL Server 2016和2017年发布的SQL Server版本,我对SQL Server 2018预览版的发布将充满信息。


本文转载自:http://www.linuxprobe.com/sqlserver-turnto-linux.html

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/




推荐阅读
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • Ralph的Kubernetes进阶之旅:集群架构与对象解析
    本文深入探讨了Kubernetes集群的架构和核心对象,详细介绍了Pod、Service、Volume等基本组件,以及更高层次的抽象如Deployment、StatefulSet等,帮助读者全面理解Kubernetes的工作原理。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 如何在窗口右下角添加调整大小的手柄
    本文探讨了如何在传统MFC/Win32 API编程中实现类似C# WinForms中的SizeGrip功能,即在窗口的右下角显示一个用于调整窗口大小的手柄。我们将介绍具体的实现方法和相关API。 ... [详细]
  • 本文详细介绍了 MySQL 的查询处理流程,包括从客户端连接到服务器、查询缓存检查、语句解析、查询优化及执行等步骤。同时,深入探讨了 MySQL 中的乐观锁机制及其在并发控制中的应用。 ... [详细]
  • VPX611是北京青翼科技推出的一款采用6U VPX架构的高性能数据存储板。该板卡搭载两片Xilinx Kintex-7系列FPGA作为主控单元,内置RAID控制器,支持多达8个mSATA盘,最大存储容量可达8TB,持续写入带宽高达3.2GB/s。 ... [详细]
  • 本文探讨了在Linux系统上使用Docker时,通过volume将主机上的HTML5文件挂载到容器内部指定目录时遇到的403错误,并提供了解决方案和详细的操作步骤。 ... [详细]
author-avatar
手机用户2502931823
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有