當前位置:
首頁 > 科技 > Windows是如何把SQL Server引入到Linux的

Windows是如何把SQL Server引入到Linux的

作者丨Frederic Lardinois

翻譯丨Vincent

譯者註:你是否平時的工作是用的是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預覽版的發布將充滿信息。

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 CSDN 的精彩文章:

25年、博士、C/C++程序員的告白:多年來代碼依然存在bug
25年、博士、C/C 程序員的告白:多年來代碼依然存在bug
選擇Spark機器學習API的四大機器學習演算法,你掌握了多少?

TAG:CSDN |

您可能感興趣

厲害了wuli微軟 要將 Linux 引入 Windows Store
從Linux到Windows的PowerShell遠程處理
如何使用 Steam Play 在 Linux 上玩僅限 Windows 的遊戲
Linux/Windows等Chrome獲Material Design更新
在 Fedora 上使用 Steam play 和 Proton 來玩 Windows 遊戲
初代 Apple TV和Windows XP/Vista 將無法繼續使用 iTunes Store
初代 Apple TV 和 Windows XP/Vista 將無法繼續使用 iTunes Store
如何在Windows 10上將iPhone同步到iTunes
如何檢查你的Iphone、Android及Windows設備存在Spectre Bug
蘋果:iTunes將不再支持Windows XP/Vista
Chrome OS和Windows 雙雙擁抱 Linux
Windows Install Docker
Microsoft Windows Thin PC
為什麼 Linux 比 Windows 和 macOS 更安全?
當iPad Pro遇上微軟Surface Pro6:iPadOS要優於Windows嗎?
Windows 上的 SSH?使用 PowerShell Remoting 遠程管理 Windows 伺服器
HTCVive和WindowsMR用戶很快就能使用Oculus Avatars
Steam 讓我們在 Linux 上玩 Windows 的遊戲更加容易
Google Chrome的Windows Timeline擴展重新上架
NSA網路武器DoublePulsar升級,Windows Embedded也淪陷了