17 ms·
How Microsoft brought SQL Server to Linux
- smartbit 9y agoI would never recommend SQL Server on Linux for Enterprise production. - licensing costs are probably the same. If the cost of an additional Windows Server license is an argument, something else is going on. - recently having dealt with MS Enterprise support on Linux, it was an horrendous experience I can nobody recommend - an Enterprise with need for SQL Server without Windows Server support engineers? - did we see independent performance tests published? A quick search I found these http://www.fhtino.it/blog/showpost.aspx?id=6790c78accb84f9c9d0ecd315ec3f450 http://www.fhtino.it/blog/showpost.aspx?id=6790c78accb84f9c9..., seemingly not a convincing argument. IMHO the whole story stinks and none of the arguments mentioned by Microsoft are valid. Probably it is all about winning hearts and minds. SQL Server on Docker images for Devs is great as these are free of licensing costs (I guess).
- Alexis66 9y agoI make up to $90 an hour working from my home. My story is that I quit working at Walmart to work online and with a little effort I easily bring in around $40h to $86h… Someone was good to me by sharing this link with me, so now i am hoping i could help someone else out there by sharing this link... Try it, you wOn't regret it!...http://www.smartfinancemedia.com/?682 http://www.smartfinancemedia.com/?682
- tommica 9y agoHmm, I think HN needs a way to report either spam messages or users - this guy was created 6 mins ago, has two comments, both spam
- reitanqild 9y agoBrainstorming with you: Maybe we could have another queue /possiblespam like we have for /newest? Or we could make a competition out of it: 1point for a correct spam identification -10 for false positive
- eterm 9y agoThis is way off topic, but that kind of simple gamification is "broken" because there are three Nash equilibrium, only one of which is actually marking spam correctly. If everyone marks everything as spam, then anyone not also doing the same is "punished" because they are missing out on points they could get by marking more things as spam. If everyone is marking everything as "not spam" then anyone marking spam as spam correctly is punished as having "false positives" because everyone else is marking it not spam. To prevent those bad outcomes (which happen very quickly in some situations, I'll try to dig out real-world examples later) you need to know what is "really" spam and what isn't, but if you know that then you've already solved the problem you set out to solve with this system.
- asdfgadsfgasfdg 9y agoHN already punishes accounts that either flag or vouch a different way to the moderators final decision. This should approach should help make the two pathological minima less likely.
- reitanqild 9y agoIn theory this sounds fine. Bit here are two factors that together makes scenario 1 and 2 unlikely to play out IMO: HN users seems to be a constructive crowd and mods only need to punish a few accounts visibly for users to be deterred from trying this.
- tokenizerrr 9y agoThere is. You click on the "X minutes ago" link, then click flag. The comments are already dead by now, meaning no one sees them unless they have "showdead" turned on in their profile.
- vidarh 9y agoAs others have pointed out, there is, but I have "showdead" on, and there's been a huge uptick in deliberate spam lately. They do get blocked very quickly, so hopefully they get tired of it, but it's a big change from how showdead would mostly show cranks, bad jokes, and the (very occasional) overzealous moderation.
- heartbreak 9y agoI figured HN would have solved this wave of spam by now.
- taspeotis 9y agoI think it's partly a hat-tip to ISVs using .NET. Entity Framework (Core and Desktop) works best with SQL Server, with whole .NET Core is cross-platform thing they let ISVs sell to Linux shops too. The alternative would be to mix EF with PostgreSQL or (horror of horrors) MySQL which is a pain-in-the-ass for testing/QA. ORMs are leaky abstractions! If you're ponying up for a SQL Server license you can afford to pony up for the Windows license. But if you're not a Microsoft shop and you're buying .NET Core-based COTS you can skip the license fees and install SQL Server vNext Express on your Linux machines. (Up to the point where you max out Express and have to cough up for Standard anyway.)
- jmkni 9y agoAt our place, we use ServiceStack with OrmLite, which runs well on .net core and plays nicely with MySQL. You can switch between SQL Server and MySQL by changing just one line of code.
- martinald 9y agoYes, I also love OrmLite. It's so good and I miss it when doing dev in other languages, and as you say works perfectly across different SQL backends (unlike EF which tends to blow up horribly at the worst possible time with some obscure bug).
- j_s 9y agoSo it is worth $250/seat + $175/yr renewal? I haven't looked at much ServiceStack stuff because of the cost.
- jmkni 9y agoWell I'm the only dev at the moment so I really just need an indie dev license for myself, and it's licensed per developer, not per project etc. I think it's worth it. In my opinion, anybody working on .net ends up spending a lot of time writing what is essentially their own version of ServiceStack, on Web API. It has a lot of features that you would end up writing anyway, spend months doing so, and would probably do less well. It basically gives you a massive head start.
- hacksonx 9y agoMy home desktop (Intel Pentium G645) doesn't support virtualization and I guess this means I can't run this.
- esterly 9y agoSQL Server source code originated on UNIX, ported to OS/2 then Windows. See the Sybase history https://en.wikipedia.org/wiki/Sybase https://en.wikipedia.org/wiki/Sybase
- gaius 9y agoSQL Server 7.0 was a complete rewrite (you will notice that the Sybase copyright notices disappeared around then).
- flukus 9y agoA rewrite, or a "rewrite"? I've seen plenty of press articles about something MS "rewrote" from the ground up, including windows itself, and they are never true. Unless they actually started from a blank source repository then it was not a rewrite.
- frik 9y agoDon't down vote him. More often than not those are just normal refactoring with PR attempts to get rid of old license info. See IE7, it got rid of Mosaic license info yet even IE11 and early Edge contains web render code and mouse behaviors that can be traced back to Mosaic web browser, where it forked off. The same is with game engines, Valve's Source engine 2 started as a fork of ID's Quake 1 engine and it's still evident even in 2017. Or Dunia engine from Ubisoft traces back to FarCry 1 engine from Crytek. Or Call of Duty engine originates in Quake 3 engine from ID. Or in WinWord 2010 originates in WinWord2 code from 1990, with code that predates threads and uses fibers (known as coroutines nowadays in other languages).
- justin66 9y agoI'm pretty skeptical that Edge ever contained any old Spyglass code. If they kept the licensing disclaimer in those early versions, I suspect it was because proving that none of the old code was there wasn't a priority for anyone.
- 9y ago
- peter_retief 9y agoI really don't see the point of having another data server running on Linux, as it is developers are spoilt for choice. I am not a fan of anything Microsoft and don't like to see it raise its head on open source products like RaspberryPi and now its attack on open source software. I want to get away from this greedy monolithic destroyer of innovation not embrace it into the open source fold
- tiff_seattle 9y agoI can't tell whether this comment is satire or not.
- peter_retief 9y agoYour comment is satire
- sctb 9y agoYou're not welcome to start flamewars on Hacker News and then stoke them every which way like this. Please comment civilly and substantively or not at all. https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- bdcravens 9y agoI assume you're anti-AJAX then? (XMLHttpRequest having originated in IE)
- peter_retief 9y agoI wouldn't call Microsoft an innovator in the browser either, you miss the point entirely and you should read up on the destruction of Netscape https://en.wikipedia.org/wiki/Netscape https://en.wikipedia.org/wiki/Netscape
- bdcravens 9y ago
- polskibus 9y agoDoes anyone know whether Analysis Services and Integration Services are also going to be available on Linux? What about Windows Authentication mechanism - is it going to be available, if yes then how would a Linux box join AD domain?
- voltagex_ 9y agoNo idea about the Services, but AD is covered in https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-active-directory-authentication https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-...
- Neeek 9y agoI thought because Kerberos was OS agnostic you could already have Linux interacting with Windows AD?
- polskibus 9y agoMicrosoft has two extensions to Kerberos, impersonation and delegation. To use WA in a multi-tier set up (app, dB) you need those. I'm not sure if those extensions are available on Linux.
- gaius 9y agoWhst is and is not included: https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-release-notes https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-...
- noinsight 9y ago
- polskibus 9y agoDoes anyone know whether Analysis Services and Integration Services are also going to be available on Linux? What about Windows Authentication mechanism - is it going to be available, if yes then how would a Linux box join AD domain?
- rdiddly 9y agoUnexplained photo of Portland's Steel Bridge. Is it a reference to OSCON?
- cpeterso 9y agoThe article says Microsoft ported SQL Server to Linux using a 2011 Microsoft Research project called "Drawbridge": https://www.microsoft.com/en-us/research/project/drawbridge/ https://www.microsoft.com/en-us/research/project/drawbridge/
- eapotapov 9y agoThis seems to me as some kind of defeat and that makes me sad. It's sad for me to look how great companies grew old I think Microsoft is now afraid that people (developers that were hired by enterprises) are willing to move to *nix so much so that they will force enterprises to gave up on MS stack. This way they could lose SQL Server customer and Windows customer at the same time - having SQL Server version for Linux will keep SQL Server customer. I believe this wouldn't have happened 10 years ago, and moreover, it would have sounded just unbelievable. This reminds me not only of things that could change very fast. It reminds that even when things go well with your business there's always someone thing that could "disrupt" your market, like a new dimension. And that thing won't be invisible. It will grow nearby and you will see such company and just won't assume that it represents any danger.
- nimchimpsky 9y agoYou've made some big leaps if you think this is sad.
- pjmlp 9y agoIt is not sad, it is Microsoft playing the right moves to stay relevant, instead of joining Sun, DEC, Wang and many others that were once upon something great. Look at SGI and Cray, they also had to re-invent themselves around their own distributions of GNU/Linux and tailored made hardware, instead of keep selling their own UNIX variants. If I have to develop on UNIX-like OSes, but can still enjoy all the nice Microsoft tooling I have grew to love, then great. Love or hate it, FOSS around UNIX has commoditized the OSes. Who knows if now we will ever move away from a UNIX monoculture on the enterprise, specially with the increasing Linux / OS X love from Microsoft side.
- igravious 9y ago> This seems to me as some kind of defeat and that makes me sad. It's sad for me to look how great companies grew old Your sadness is misplaced. Presumably you like resilience, yes? How does one achieve resiliency? At least in part via redundancy. A homogeneous environment, which an environment which relies on one vendor is, is non-redundant. All you've got then is a single point of lock-in, that can never be a good idea. You can be held hostage to the whims of the vendor. As soon as Linux became a viable choice to Windows and old Unix people left in their droves, and for this very reason. To my mind, Microsoft is now acting like a more mature rational hungry company. I thought I'd never see the day. And frankly, if they hadn't started changing they'd be on the road to complete irrelevance. > This way they could lose SQL Server customer and Windows customer at the same time False. See https://news.ycombinator.com/item?id=14845783 https://news.ycombinator.com/item?id=14845783 Staying with SQL Server because Linux version was provided. > I believe this wouldn't have happened 10 years ago, and moreover, it would have sounded just unbelievable. Agreed. But that was not a good thing, that was very bad. For Microsoft, and their customers. Now that may have been something to lament.
- djsumdog 9y agoYears ago I was part of a project that became a startup. We got a Bizspark license and originally developed for MS SQL. Later we added in support for Postgres/MySQL. Running unit tests against Postgres/MySQL was pretty easy on my Linux box, but for MS SQL I'd have to start a VM and provision SQL Server 2012 (at the time). I jumped on the Linux version as soon as I heard about it. I never got an invite to the preview, but once the Docker container was released, I fully integrated it into our tests: https://github.com/BigSense/BigSenseTester/blob/master/docker-tests.rb#L60 https://github.com/BigSense/BigSenseTester/blob/master/docke... I can now pull up all three DBs in containers (mysql/pgsql/mssql) and three instances of BigSense and run tests over all three in a deterministic manner. I had started working on automating a Windows Server with automatic SQL installation in Vagrant, but that was starting to look really complicated. If it wasn't for MS porting their database to Linux, we probably would have dropped it from the project.
- sandra_ 9y agoI'm making $86 an hour working from home. I was shocked when my neighbour told me she was averaging $95 but I see how it works now. I feel so much freedom now that I'm my own boss. This is what I do, ====http://www.smartfinancemedia.com/?682 http://www.smartfinancemedia.com/?682
- foodie_ 9y agoCurious why have postgres and SQL server?
- unixhero 9y agoMssql has a lot of cool and valuable entry level features bundled with it, as an added bonus to the transactional relational database. Like the business intelligence features Datawarehouse functionality Machine learning capabilities within the warehouse suite Mdx (which enables things like power pivot / power query) Myself I am a Postgres guys, but man those extras are really enticing to me as a problem solver.
- hungerstrike 9y agoHe said that they "originally developed for MS SQL." and then "Later we added in support for Postgres/MySQL." Sounds like they develop a product that can use multiple RDBMS back-ends. Also, I'm guessing that since 90% of the businesses out there use Microsoft products, you would probably want to support their products in such a venture. On a personal note, I find anything that's not SQL Server to be tedious to work with due to the lack of high quality GUIs, client tools and certain features. For instance - did you know that Postgres can't easily return multiple resultsets? In SQL Server I just write one procedure containing multiple SELECT statements and my client code can get all of those resultsets with only one call to that procedure. This one feature alone cuts down on all sorts of boilerplate code and trips to the database.
- wilhil 9y agoAs someone who has tried some early builds, what annoys me is that they have made it a lot easier and much quicker to install on Linux than it is on Windows!
- deadbunny 9y agoIsn't everything?
- tkubacki 9y agoIt's hard to make things easy on Windows - it's law of nature.
- alkonaut 9y agoIt's actually not - if you try to avoid integrating in any way with the os. Shared-nothing apps are pretty nice. SQL server and a few of the other behemoth apps seem to have a very hard time staying separate from windows which is annoying. In Linux the design benefit is that there are package managers and the flaw is that there are many. Shipping a simple binary installer for multiple distributions is still tricky.
- kthejoker2 9y agoSQL Server has a heavy memory management dependency, pretty hard not to bake itself into the OS. That abstraction platform mentioned in the article is a godsend. They'll tighten up the Windows install over time, but Linux (ironically) gets all the juice for the first go-around.
- deadbunny 9y ago> Shipping a simple binary installer for multiple distributions is still tricky. Because you're bypassing the package manager. Packaging isn't all that hard, much easier than building your own binary installer that handles multiple platforms.
- alkonaut 9y ago
- chx 9y agoMicrosoft is playing a fantastic Linux game with putting Linux userspace on the Windows desktop where drivers and UI are far better than the Linux drivers and UI and putting SQL Server on Linux server where the Linux kernel is much stronger. They know their strengths and weaknesses and not afraid to play to them. Here's my writeup on setting up Windows 10 as a long, long time Linux user https://github.com/chx/chx.github.io/wiki/How-I-set-up-my-Windows-10-(coming-from-Linux) https://github.com/chx/chx.github.io/wiki/How-I-set-up-my-Wi...
- thriftwy 9y agoToo bad that Windows 10 barely usable on itself. Every application looks different (yes they used to blame Linux/X11 on that one). It has two control panels (or three maybe), two web browsers shipped with it. Takes more than a minute to boot on a new and pretty formidable laptop. This is the fresh factory install. Can freeze the desktop while apparently doing something under the hood (installing updates? scanning malware? summoning the devil?), without any indication as to why, and not come back in five minutes. Seriously considering overwriting it with Ubuntu even when it's aimed for a non-technical user.
- tiernano 9y agojust curious: you say "new, factory fresh install"... is this factory fresh, as in "OEM" install, or your own install? if its OEM, could it be whatever crap was installed? third party antivirus, etc? i have Win10 installed on a Surface Book, and, other them me installing stuff i shouldent, the machine works well... i did have to uninstall corporate AV (the standard MS one works just as well... and its cheaper than the corporate one...) but other than that, as long as i dont install "stupid" stuff (other AV, any other crap that fecks with the system) all is good...
- thriftwy 9y agoIt's OEM. There was some crapware, I have removed most of it, but to no avail.
- Beltiras 9y ago"Kumar also noted that many enterprises were looking for an alternative to Oracle’s database products." Does this translate to enterprises wanting a stick to beat Oracle with when negotiating license fees?
- stepik777 9y agoInteresting, looks like they are using something similar to Wine to run it on Linux.
- CrossWired 9y agoSQL Server has had its underlying SQLOS since the SQL 2005 rewrite, so the mechanics to port to Linux has been in place for years: https://blog.sqlauthority.com/2015/11/11/sql-server-what-is-sql-server-operating-system/ https://blog.sqlauthority.com/2015/11/11/sql-server-what-is-...
- CrLf 9y agoI'm still unsure of the usefulness of SQL Server on Linux. I don't see the point of running SQL Server on Linux (I'd rather choose PostgreSQL or something), nor do I see the point of choosing Linux if I'd already settled for SQL Server. I don't think this (in the end) is anything more than a marketing trick, there to give the illusion of choice. This is not uncommon in ISVs, btw. There are many commercial offerings that have a Linux version, crippled in so many interesting ways that it makes it pointless. I'm a Linux person but I advocated against choosing Linux versions (of different products) many times in the past. Actually, that means the marketing trick works. In my experience, software always has a primary plaform where it shines, and the other "supported" platforms are always stepchildren.
- qarioz 9y agoI don't see any plus either, but I can see management telling developers to use sql servers or to maintain old database using Linux.
- d4nt 9y agoI think for .net developers, this makes more sense. You have an existing .net app, built to talk to MS SQL Server, if the latest version of .net can run on Linux, but your DB can't then you're faced with either managing two OS flavours, or just ignoring the Linux compatibility. Ignoring Linux compatibility would have knock on effects because Linux is now the platform for so many other tool, e.g. Docker. Regardless of how easy the 'upgrade and migrate to Linux' story is right now, I think it's vital that MS started down this road. Otherwise the .net framework would be [seen as] finished now, and people would start planning to migrate off it.
- marsrover 9y agoThis is the situation I'm in with a toy app I built. It is running .NET Core, talking to SQLServer, and running on Windows Server 2016. I want to migrate the entire application to my Debian box and without SQLServer on Linux, this would be much more painful.
- grovegames 9y ago
- khana 9y agoYou're thinkin' lobster, I'm thinking postgres.
- manigandham 9y agoLike the article suggested, we use SQL Server and it's running on the only Windows host in our entire stack. This is a great move and we're looking forward to being completely on Linux. Postgres is a great database but SQL Server has some fantastic features like columnstores, in-memory oltp, graph queries. Linux has better tooling than Windows and SQL Server has better tooling than all other relational databases, it's a great match.