Компания Microsoft анонсировала поддержку операционных систем семейства Linux в следующей версии SQL Server.
Это очередной шаг по выходу на рынок Linux систем после заключения партнерского соглашения с RedHat.
Также, анонс прокомментировал Марк Шаттлворт, основатель компании Canonical:
“Мы рады работать с Microsoft, когда они приносят SQL Server на Linux. Заказчики уже используют сервисы Azure Data Lake на Ubuntu, а теперь разработчики будут иметь возможность строить новые приложения со всеми возможностями промышленного SQL Server'а.”
На сайте SQL Server также уже появилась информация относительно новых возможностей СУБД.
Релиз версии ожидается в середине 2017 года.
Комментарии (80)
denismaster
08.03.2016 13:17Глядишь, через пару лет и Visual Studio там будет… Интересные нынче времена)
oYASo
08.03.2016 14:59+2Как я понимаю, VS написана на смеси COM и WPF. Это все довольно тяжело перекинуть на никсы, поэтому в ближайшие пару лет едва ли стоит ожидать такого поворота событий.
dmitrybarabash
08.03.2016 15:26+1Так ведь купили же нативный для Linux и MacOS Xamarin. Доведут до ума своими ресурсами и, видимо, это и будет VS для Linux и MacOS.
IamKarlson
08.03.2016 16:03Скорее VSCode допилят
dmitrybarabash
08.03.2016 16:11+1Это сильно вряд ли. VSCode — это просто текстовый JAvaScript-редактор Atom с IntelliSence. А Xamarin — полноценная нативная IDE с отладчиком и всем, что должно быть в IDE.
ap3rus
09.03.2016 00:03+1Сегодня VSCode — всего лишь кастомизация Atom, а завтра они вполне могут запилить туда весь функционал Xamarin Studio.
Кстати про отладчик, VSCode умеет отлаживать JS и TS, а версии для Linux и Mac вдобавок умеют отлаживать Mono https://code.visualstudio.com/docs/editor/debuggingApeCoder
09.03.2016 09:01+1Update: We're reliably informed Visual Studio Code isn't in fact built on the Atom editor; its internal references to Atom are a relic of Electron's previous name, Atom Shell. Instead, the code editor is a version of Monaco, the editor also used in Visual Studio Online.
leschenko
08.03.2016 21:32+2Xamarin это несколько другое. И вряд ли чем-нибудь поможет портировать студию. А вообще, с точки зрения MS подход "пиши под Win и запускай где хочешь" — очень даже не плох.
Razaz
08.03.2016 15:02+4А зачем? Проще запилить Posix совместимость в ядре и пойти по пути OSX :)
IvaYan
08.03.2016 15:12+2Кажется, процесс уже пошел.
Razaz
08.03.2016 15:15+3Не можешь победить хаос? — Возглавь его!
prefrontalCortex
08.03.2016 21:30+1Хаос — это скорее WinAPI, нежели POSIX.
Razaz
08.03.2016 21:39+3Хаос — это подавляющая популярность POSIX совместимых систем… ;)
khim
09.03.2016 00:00Хмм… Вы о чём? POSIX системы как раз довольно редки в современном мире. Преобладают как раз "почти как бы где-то как-то совместимые" системы на базе Linux'а...
Если вы про них (включая всякие Android'ы и роутеры), то да — тут Windows ловить нечего. А вот сертифицированных на совместимость с POSIX'ом — их мало...
sidristij
08.03.2016 13:34+16Это очень круто, конечно… Но только один вопрос: зачем мне SQL Server на Linux?
bormotov
08.03.2016 13:40+17экономия на лицензии Windows Server
sidristij
08.03.2016 13:47+5сомнительная экономия ввиду стабилизации системы на новом (по сути) ядре в течении ближайших нескольких лет. Плюс раздельная поддержка, отсутствие опыта сообщества в Интернете и как результат — постоянно оставаться один на один с новыми багами.
bormotov
08.03.2016 14:26+2сам лично MS SQL касался очень давно, уже можно считать, что не правда.
Но вот регулярно приходится касаться продуктов, у которых MS SQL в качестве хранилища. Довольно часто, это SQL Embedded, который идет в комплекте с неким ПО. У которого ограничения по размеру и памяти. И когда данные пользователя начинают подбираться к лимитам, авторы говорят "вам нужен полноценный MS SQL". В этот момент возникает вопрос денег.
Поддержка и опыт за год-два накопятся, если продукт будут хорошо продвигать.
Второй момент — несколько лет MS активно и достаточно успешно продвигает Azure. Сколько там стоит конект и место в MS SQL? Будет ли оно стоить меньше, если это будет вариант RedHat Enterprize + MS SQL или Ubuntu Server + MS SQL в том же Azure? Судя по прессрелизу — есть шансы.
amarao
08.03.2016 13:41+20Есть приложения, которые хотят ms sql сервер. В силу особенностей диалекта mssql или даже его уникальных фич (наверняка, такие есть). Но в то же время люди не хотят иметь дело с windows server под адским хайлоадом по IO, а хотят няшный linux. В этих условиях Microsoft идёт навстречу пользователям. Приложухи остаются под винды (хотя это тоже поправимо), а СУБД работает на нормальном линуксе под управлением нормальной системы управления конфигурациями, как и все остальные сервера.
(Жду следующую винду с линуксом в качестве ядра и майкрософтовским userspace'ом — и я даже не совсем троллю в этот момент).navion
08.03.2016 18:40не хотят иметь дело с windows server под адским хайлоадом по IO
Для этого есть причина? VMware выжали миллон иопсов на винде ещё четыре года назад.khim
09.03.2016 00:10+5По поводу причины — нужно разбираться. Причём я не издеваюсь.
Картина такая:
- Берём Windows и FreeBSD. Во всех бенчмарках Windows рвёт BSD "как тузик грелку".
- Переводим HotMail с FreeBSD на Windows. Windows сворачивается в трубочку и оседает на пол.
Кажется с 3й, что ли, попытки переехали-таки на Windows — но это было делом принципа, с поддержкой со стороны разработчиков самой Windows и прочего!
Или такая:
- Сравниваем Windows и Linux. Во всех бенчмарках Windows рвёт Linux "как тузик грелку".
- Собираем суперкомпьютер. И почему-то он под Windows погоду считает процентов на 50 медленнее.
Или, чёрт побери, такая:
- Сравниваем Windows и Linux на одинаковом железе. Windows выдаёт дофига IOPSов, Linux и рядом не валялся.
- Начинаем собирать Хром. Один и тот же clang почему-то под Linux собирает его раза в 3-4 быстрее, чем под Windows.
Это — вполне себе тенденция на практике: смотришь на бенчмарки — Windows прям ракета. Нет, не просто ракета — фотонная. Супер! Запускаешь реальное приложение… почему-то Linux оказывается впереди… не всегда, но очень часто.
Почему такой феномен — фиг знает, но такова жизнь.
P.S. На самом деле всё просто: в LKML часто появляются люди с разными "улучшениями". Как правило они приносят бенчмарки, которые показывают что их изменение ускоряет в 100500 раз. На что Линус обычно спрашивает: отлично, а как эти бенчмарки связаны с тем, что делают реальные там Ораклы и NGINX'ы? И часто "улучшатели" признают, что реальные приложения становятся медленее.Razaz
10.03.2016 01:09+1В чем-то вы правы, НО — странно ожидать производительности, если ПО заточено под одну архитектуру ОС.
Ваши примеры интересны, но вот обратный пример — игры :) Что-то порты под Linux не блещут производительностью.
В целом, если уметь готовить, и Linux и Windows могут выдать конский перформанс. Но, по моему опыту, мало кто хочет разбираться в Windows на том же уровне, что и Linux.
Например, мало кто знает про RIO, ведь Win8 не сильно полюбилась :)
Вот пример разницы в производительности:
libuv C# perfsvr 2,379,267 36 threads, 288 connections, pipelining 16 deep Simple TCP server, load spread across 12 ports (port/thread/CPU) CPU is 100%, mostly in user mode
RIO C# perfsvr ~5,905,000 32 threads, 512 connections, pipelining 16 deep Simple TCP server using Windows Registered IO (RIO) via P/Invoke from C# CPU is 100%, 95% in user mode
Ну или тот же, набивший оскомину аргумент про IOCP :) Которые перекочевали в AIX и Solaris.
Сказки про падающий Asp.Net на пару с IIS каждые 10 секунд и так далее — издержки низкого порога входа, когда разработчики ждут, что за них все сразу сделают, раз денежки заплачены и привычки закидывать проблемы деньгами и железом. Но магии нет :)khim
10.03.2016 18:01+1Что-то порты под Linux не блещут производительностью.
Я правильно понимаю, что «не блещут производительностью» == «выдают процентов на 10-15 больше FPS'ов на бенчмарках»?
Как это помогает опровергнуть тезис, что «Windows заточена под бенчмарки, а Linux — под реальную работу»?
И как тот факт, что из одной OS, которая заточена под бенчмарки, всякие идеи, которые помогают в них, но не очень помогают в реальной работе перекочёвывают в другие подобные же OS, но при этом почему-то не приживаются в той OS, на которой работают свыше 95% из TOP500 — с ним же соотносится?
Я не спорю с тем, что при должном желании можно и х#й сломать, но хочу заметить, что ваш ответ — откровенно странен.
Сказки про падающий Asp.Net на пару с IIS каждые 10 секунд и так далее — издержки низкого порога входа, когда разработчики ждут, что за них все сразу сделают, раз денежки заплачены и привычки закидывать проблемы деньгами и железом.
В TOP500 отсутствие Windows тоже будем объяснять тем, что «разработчики ждут, что за них все сразу сделают»? То есть вот если они собрали систему на Linux — вкалывают, программы под железо затачивают, на AIX — тоже, а как Windows — так сразу «лапки сложили и сидят»?
P.S. Хороший аргумент другого плана: сейчас все разработчики Linux-систем работающие с графикой планируют отказаться от X'ов и OpenGL. ChromeOS — переходит на Freon, RedHat — на Wayland, Android — всегда SurfaceFlinger использовал. Что, очевидным образом, показывает что в графическом стеке у Linux'а — действительно брешь. Но когда в ответ на замечание «на бенчмарках Windows выигрывает, на на реальных приложениях сливает» получаешь перечисление ещё 100500 бенчмарков, то возникает вопрос: твой оппонент вообще-то читать умеет? Про то, что Windows показывает чудеса на бенчмарках мы все знаем — вот только почему-то это не убеждает пользователей… почему? Я вас уверяю: не потому, что 100500 бенчмарков мало и нужно 100500100500.
amarao
09.03.2016 15:56Молодцы. Выжать миллион iops'ов — не велика заслуга, особенно в multiqueue режиме. Вы эти миллион iops'ов раздайте правильно (cgroups, да?), да позвольте адекватно контролировать кому что можно и сколько.
navion
09.03.2016 19:48Поэтому и спросил, а не ради подъеба. Про cgroups почитал в wiki — штука интересная, но там основным применением указан только докер и его обвязка. Оно где-нибудь ещё массово используется?
grossws
09.03.2016 20:41+3В RHEL Resouce Management Guide использование cgroups описано довольно подробно, но это лежит на конечных пользователях (администраторах), поэтому про эту тему громко и не кричат.
Другой распространенный инструмент, активно использующий cgroups — systemd. Можно любому unit'у настроить нужные параметры cgroups. Рекомендую заглянуть в man systemd.resource-control.
amarao
09.03.2016 21:39Я не могу сказать про "массовое использование", но каждый раз, когда надо ограничить аппетиты кого/чего-либо на сервере — используются cgroups.
Ещё одна область — это универсальный блочный стек (device mapper). Конструкции вида "lvm-тома поверх iscsi, на которых зашифрованный рейд, подключенный через multipath с кешированием и верификацией" — это вотчина линукса. Управление блочными устройствами в windows 2008 было рудиментарное (а дальше я не знаю, но т.к. не слышал ничего модного, то предполагаю, что таким же и осталось).
symbix
08.03.2016 13:41+3Я вот видел однажды такой случай: код приложения переписан с asp на java и перенесен на линукс, а вот база данных все еще ms sql, ввиду высокой сложности миграции на тот же postgresql — слишком разные диалекты. Вот им точно пригодится
sidristij
08.03.2016 13:49ИМХО тут проще прокси мессаджинг сервис поставить, например. Ну или подумать в зависимости от того, какие данные ходят. Перетащить базу на сырое решение — поиметь факториал проблем
Ernado
08.03.2016 13:53У меня часто бывают обратные ситуации — система протирается на .NET но у клиента ещё остаётся часть серверного окружения под старую платформу. Такой вариант позволит, например, использовать эти мощности под размещение БД. Ну заодно открывается возможность использовать под БД бюджетные сервера от Digital Ocean.
Razaz
08.03.2016 14:44Я даже так скажу — вижу новые проекты на связке Asp.Net MVC + Postgres. Думаю тут просто MS хочет кусок пирога Оракл.
leschenko
08.03.2016 16:10+4А зачем любой другой сервер баз данных на Linux? Вот для тех же целей и SQL Server.
justaguest
08.03.2016 19:48Думаю, можно перефразировать: «зачем SQL Server, если есть те самые, другие СУБД». Совпало: буквально вчера я искал сравнения MS SQL vs MySQL. Сложилось впечатление, что MS SQL используют по инерции. Я так понял, что различие только в диалекте, и некоторых особенных фичах, которые, ввиду специфичности, как могут отсутствовать на одной СУБД, и присутствовать на другой, так и наоборот; и которые почти никогда не используются. Только MySQL бесплатен, а MS SQL — нет.
potapuff
08.03.2016 20:07+5Сравнивать MS SQL и MySQL неправильно. MySQL рассчитан под веб-приложения. Любой шаг в строну — начинает творится что-то непонятное. Например, почитайте документацию про поддержку ограничения CHECK, inline-объявление внешних ключей, триггеры и каскадное удаление/обновление. А как только дело касается минимальной аналитики — он начинает сливать. Ту же поддержку CTE начиная 2006 просят ( http://bugs.mysql.com/bug.php?id=23156 )
leschenko
08.03.2016 21:41+1Тогда уж можно сказать "зачем Linux, если есть Windows". А по факту MSSQL становится не бесплатным, когда он начинает потреблять много ресурсов (более 1 CPU и 10 GB на базу данных). Но в этот момент, как правило, вы вполне можете позволить себе не Express версию.
А если вам нужны репорты и аналитика, то в MySQL их все равно нет.
Как раз MySQL не много смысла использовать под Windows, а не наоборот.
HellBrick
09.03.2016 09:37+4Приходилось (да и приходится по сей день) иметь дело с проектом, который переехал с MSSQL на MySQL, когда упёрся в ограничения бесплатной версии первого. Из замеченных на практике неудобств MySQL: отсутствие filtered index-ов, отсутствует insert/update + output, дефолтный utf8 на самом деле урезанный, некоторая глючность Workbench, дотнетовский провайдер в сочетании с EntityFramework генерит скрипты для миграции, которые приходится немного подправлять руками. Отдельно кусается мучительно медленное добавление столбцов в большие таблицы, но тут я не могу с уверенностью сказать, лучше ли с этим обстоит дело в MSSQL, т.к. на одинаковых объёмах не сравнивал. Некоторые запросы после переезда начинают работать заметно медленнее.
Другое дело, что оправдывает ли всё это тех денег, которые просит MSSQL — вопрос хороший. Но для проектов, влезающих в Express-версию, я явно предпочту его.
excoder
08.03.2016 14:07+2Какое же место остаётся для Windows Server? asp.net core + dnx, kestrel, sql server, linux = всё ваше legacy-application на стеке Microsoft теперь ранится на linux.
dordzhiev
08.03.2016 15:09+1MVC приложение надо еще перенести на ASP.NET Core. Плюс, есть то самое трушное легаси на WebForms.
owlet
08.03.2016 19:42+3Exchange, Active Directory, RDS, SharePoint, Lync и куча всего ещё.
leschenko
08.03.2016 21:44+1плюс ASP.NET Core еще ой как далеко до обычного (стабильного) ASP.NET. И DNX до .NET
Razaz
08.03.2016 21:57+3Ну Asp.Net Core и dotnet прекрасно запускаются поверх .Net Standard и уже вполне пригодны для прода и лицензия позволяет, если знаете как работать с исходниками. Вон парни из Age Of Ascent активно используют — ASP.NET Core – 2300% More Requests Served Per Second.
Этож опенсорс: нашли баг — форкнули, поправили и отправили пулл реквест.
devbutch
08.03.2016 15:19+2Сорри за оф топ, но несколько лет назад читал новость о ms office на Linux.
Есть какие-нибудь сведения об этой движухе? А то уже ms server server выпустили, а про офис не слышно...amarao
08.03.2016 16:03+8Ну тут ситуация разная. На декстопе у MS не монополия, но очень доминирующее положение. А на серверных платформах она никогда не была игроком №1. Сначала она воевала с мейнфреймами и проприетарными юниксами (как передовая дерзкая система), а потом с freebsd/linux (как легаси-которое-терпят-потому-что-на-него-много-чего-завязано). MS пыталась это исправить, и пытается, но, извините, если в Windows Core до сих пор можно наткнуться на диалог OpenFile с 8.3 имена~1, о чём можно говорить-то?
Т.е. на десктопе MS может лежать спокойно и игнорировать всех, а на серверном рынке им надо шустрить, ибо иначе проиграют, как с мобильной платформой про… совсем нет, ни в коем случае не проиграли, а даже показывают огромный рост год от года.
AlanDenton
08.03.2016 16:23Новость безусловно очень хорошая, но более чем уверен, что реализация будет не ахти. В последнее время Microsoft вообще научилась хорошо обламывать пользователей. Например, на днях анонсировали SQL Server 2016 RC0, которого я ждал. Но вот незадача… поставить его можно только на новые версии ОС: 8.1 и 10-ку. При этом сделали это намеренно, чтобы народ мигрировал с 7-ки.
outcoldman
08.03.2016 17:28+7Но вот незадача… поставить его можно только на новые версии ОС: 8.1 и 10-ку. При этом сделали это намеренно, чтобы народ мигрировал с 7-ки.
Сколько версий назад поддерживаете вы в своих продуктах? Поддерживаете ли вы продукты, которым более 6 лет?
Сделали это, скорее всего, потому что некоторые новые возможности требовали что-то новое от операционной системы, либо может просто работающее старое.
splatt
08.03.2016 17:11+1Решение, конечно, странное. Насколько я понимаю, многие выбирают SQL Server именно из-за платформы Windows, а не наоборот. По крайней мере разработчики Eve Online на одном из выступлений как раз про это говорили — один из основных плюсов SQL Server по сравнению с каким-нибудь Oracle именно в том, что позволяет иметь стэк ПО (база+ОС+инструменты) от одной компании, и в случае проблем, понятно к кому в техподдержку стучаться.
А вот Visual Studio реально не хватает на OSX и Linux. Тот же Unity3D вынужден включать и поддерживать 2 разных редактора (MonoDevelop и студию).outcoldman
08.03.2016 17:29-1Думаю, что задумка не о самом MS SQL Server, а больше о продуктах его требующих. Например, Exchange написан на .NET и требует MS SQL Server.
solver
08.03.2016 20:18-3Вот уже чего чего, а этого говномонстра VS точно не надо.
11Гигов после установки чистой VS, это за гранью разумного.
А есть ставить VS для разработки для WinPhone, то установщик затребовал >40Гигов на диске.
Ждем когда допилят нормально IDEA под C#.splatt
09.03.2016 03:16+1Размер студии всегда поражал, конечно, но все-таки в этих 11и гигах не только редактор, но и SDK и прочее. И по функционалу он не с каким MonoDevelop не сравниться. Я, конечно, хотел бы писать C# в idea, но зачем им делать ее под C# когда у них есть решарпер?
yeroo
09.03.2016 07:22Причины: 1. ASP.NET Core 2. Потому что могут (они решарпер переписали, чтобы он отдельным процессом бегал, теперь уж какая разница, что будет фронтэндом: студия или идея)
excoder
08.03.2016 18:32Есть мнение, что Windows NT архитектура в целом лучше спроектирована для современных приложений, чем posix-основанная архитектура Linux. На архитектурном уровне там действительно довольно много вкусных вещей. Тот кто говорит про проблемы с I/O на Linux, скорее всего не видели IOCP на Windows в действии. А как хороши легковесные fibers в Винде? Эта точка зрения, конечно, теряется за тем, что Windows — это проприетарная система. А чтобы все эти вкусности заиграли, должно быть написано массовое прикладное ПО, его утилизирующее. Что в обозримом будущем не предвидится, ведь из-за недавней закрытой политики Microsoft никто действительно "не любит" Windows. Но что если бы Windows была сделана open-source?..
justaguest
08.03.2016 19:33+2Это означает, что MS продолжит развивать развивать Моно (напомню, они купили Xamarin) — были опасения, что выйдет как со Skype. Потому что SQL Server требует .net.
alecv
08.03.2016 23:22+5Вообще-то MS SQL в древности произошел от Sybase. A Sybase Adaptive Server точно запускался пол Linux и Solaris. Лет 10 назад даже видел каких-то бедолаг, которые под ним жили.
Так что это "возвращение к истокам".pavelsh
09.03.2016 00:48Хех. Я Sybase ASE жил. в 2000 году. Использовал документацию от MS SQL 6.5, потому что своя была просто ужасна, а от SQL на 99% совпадала.
А почему бедолаги? Отличный сервер, особенно сравнивая с тем, что под линуксом тогда было.
gotch
09.03.2016 09:03+4Считать, что Microsoft делает это чтобы кто-то мог сэкономить 850$ на лицензии Windows — в высшей степени наивно. Если дело было бы лишь в этом, цену Windows Server просто включили бы в цену SQL.
Укрепить позиции SQL Server, заняв часть ниши MySQL, внести свои правки в ядро в части ввода-вывода и управления памятью — более вероятно.
lybin
Microsoft, Skype запилите, потом к дизайнерам с такими банерами про любовь.
Jeditobe
Зашел за этим комментарием!
Razaz
Сейчас год Linux на сервере :))
nikitasius
Маловато, год..
Razaz
Это был референс к году Linux на десктопе ;D
nikitasius
На десктопе тоже маловало!
nikitasius
С круглой датой вас!
Rezzet
Когда студия будет на линуксе?
Dimchansky
Может Rider взлетит?
mezastel
Будем надеяться что взлетит, т.к. это кроссплатформенная IDE все-таки.
NickKolok
Сорцы skype в паблик!