11 ms·
I for one am excited to hear about this move and was wondering if it would ever happen. This will help keep SQL Server alive and growing (I think) and who know
by sixdimensional 11y ago
I for one am excited to hear about this move and was wondering if it would ever happen. This will help keep SQL Server alive and growing (I think) and who knows, maybe bits and pieces will even become open source some day (that's optimistic perhaps).
I am an equal opportunity consumer of database technology - something we all should be (e.g. use the right tool for the job when appropriate). I have used MANY different databases, open source and commercial, and there are better ones and worse ones across the spectrum. I think it is naive to criticize this move in any way - it is giving more choice so should be supported.
That said, SQL Server has a low barrier to entry, a very good implementation of the SQL language, an advanced optimizer, strong storage engine, management tools and a lot of nice BI features. Although you don't hear about it much, SQL Server also has Parallel Data Warehouse (PDW) which is their MPP database - ironically which used to be built using Ingres and Java of all things.
In my experience, SQL Server <-> PostgreSQL is the closest commercial to open source comparison (core database engine-wise) I can think of. This makes sense when you consider - both of them started as Ingres! Of course, Postgres and SQL Server have totally different user experiences (database management, tooling, etc.) and many different features.
- hamitron 11y agoI too am excited, as I was faced with the challenge of building a rails app with a SQL server database backend. Sure there is a solid adapter, but it wasn't perfect, and we couldn't effectively run tests on it.
- bdcravens 11y agoIt won't be generally available until mid-2017. I've built a Rails app atop a large legacy SQL Server, and I really haven't run into anything that wouldn't run. (aside from `rails db`)
- kbenson 11y agoComing from mostly a Linux/MySQL background, I've had reason to use MSSQL for the last few years. It's really solid, and seems to optimize queries well, which is good, because there's a few things that I still find really annoying, such as no GROUP_CONCAT. There is a more general method to do the same thing, but wow is that method cumbersome in comparison (although undoubtedly more powerful).
- sixdimensional 11y agoAgreed on GROUP_CONCAT. MSSQL has been missing that for a long time and it is a very reasonable and handy function to have. It sounds like you are talking about the XML conversion method for concatenating groups. There is one other way around it using custom .NET CLR functions, but it is definitely cumbersome as well.
- kbenson 11y agoYes, I'm referring to the XML conversion method. I'm aware you can register your own .NET CLR functions, but truth be told, it's a database for our POS application (which we purchased from a vendor), so I try to mess with the database as little as possible beyond reading the data through our own internal application so we can do useful things with it. I try to stay away from messing with the schema or even providing extra routines (I can't be sure anything would survive upgrades, which are regular and I don't want to deal with that).
- wvenable 11y agoThis is also my big complaint when it comes to MS SQL -- there has been precious little development on their SQL language. It's almost like they're in a complete feature-freeze when it comes to the SQL language. MS SQL is missing some very basic SQL functionality.
- eterm 11y agoWhat in particular do you miss from other SQL languages?
- manigandham 11y agoUPSERT (or similar logic, not merge).
- jklowden 11y agoOh, then that's your problem. MERGE is standard, and has clear semantics. UPSERT is nonstandard, and semantics vary among implementations. Microsoft doesn't need to make SQL Server look like MySQL. Quite the other way around.
- vram22 11y ago>as Ingres I've read that SQL Server code was originally based on Sybase code they licensed. Not sure.
- sixdimensional 11y agoYes, true, and Sybase is a descendant of Ingres.
- bigtones 11y agoAnd Microsoft SQL Server is a descendant on Sybase since SQL Server 6, after Microsoft purchased the source code.
- vram22 11y agoNoted, thanks. I did think that might be the case, but I was thinking of direct parent. Anyway, good to know. Stonebraker et al?
- assface 11y agoYou are actually not far off. Sybase was founded by Bob Epstein, who was Stonebraker's student at Berkeley and helped build the original INGRES system.
- jklowden 11y agoIntellectually, somewhat, perhaps. Sybase was a distinct implementation. When it came on the market, Ingres IIRC was still based on QUEL. Sybase had its new T-SQL language and a novel design that made it feasible to use for OLTP. At that time, Ingres and Oracle were usually devoted to decision support, and OLTP was backed by things like VSAM.
- hodgesrm 11y agoMS SQL Server was based on Sybase 4.2 as I recall, which is the Sybase release that predated introduction of SMP support. (Internally known as the "boat anchor" though I doubt that name appeared on the contract to sell the code.) Microsoft basically rewrote it, so I would guess there is little original Sybase code left. You can still see the the heritage clearly in features like T-SQL dialect and the Tabular Data Stream wire protocol, both of which were developed at Sybase. Sybase is not in anyway related to Ingres that I know of other than the fact that Bob Epstein and Mike Stonebraker worked on the Ingres project at Cal. Sybase in fact was considerably different from Ingres in many ways such as use of SQL instead of QUEL, network access to the SQL Server, and specialized features like stored procedures. The Sybase founders did not come directly from Cal or even Ingres but rather from Britton Lee.
- nailer 11y ago> SQL Server <-> PostgreSQL is the closest commercial to open source comparison (core database engine-wise) I can think of. Can you store / query JSON-like data in SQL server? I'd like to be able to store a structured object and query a keypath.
- johnlbevan2 11y agoMS SQL does support XML types / allow you to use XPath in your queries. To my knowledge it doesn't do JSON; but its easy to convert between the two. http://blog.sqlauthority.com/2012/04/27/sql-server-introduction-to-discovering-xml-data-type-methods-a-primer/ http://blog.sqlauthority.com/2012/04/27/sql-server-introduct...
- sqldba 11y ago2016 supports JSON.
- philliphaydon 11y agoIt has terrible support.
- intrasight 11y agoSQL 2016 does JSON https://blogs.msdn.microsoft.com/jocapc/2015/05/16/json-support-in-sql-server-2016/ https://blogs.msdn.microsoft.com/jocapc/2015/05/16/json-supp...
- tracker1 11y agoNice to know, they query syntax is, unfortunately only slightly nicer than the XML options... at least at first glance.
- philliphaydon 11y agoI wish people would stop saying this. The JSON support in SQL Server 2016 is far from being comparable to the JSON support in pgsql.
- samstave 11y agoAny idea how MSSQL was deployed on RDS in AWS prior to this? Was AWS spinning up some custom Windows instances behind RDS? Or was the RDS implementation part of how MS figured out how to release this??
- aalbertson 11y agoSQL Server RDS is built on Windows. Albeit a scripted to the 9's adaptation to make it act more Linux like (e.g., RDS can't connect to your AD, so they had to make some sacrifices). The big difference with RDS is that you don't get the full gambit of clustering capabilities that SQL server supports. This is mainly due to the fact they don't have a shared storage model that SQL cluster failover requires.
- jpitz 11y agoEBS is certainly capable of implementing the shared storage that the database requires, and the quorum driver for wolfpack ought to implementable without a physical scsi device backing it.
- hodgesrm 11y agoAt least until recently the MS SQL Server clustering was based on mirroring, which is capable but deprecated in future SQL Server releases in favor of AlwaysOn clustering.
- sqldba 11y ago> I think it is naive to criticize this move in any way - it is giving more choice so should be supported. It's naive to support it just because of the assumption that more choice must be good. On the contrary the past few years on Windows have been full of data corruption bugs in SQL 2012 and 2014; and while 2016 looks amazing with new features Microsoft has continued to push ahead instead of just - you know - fixing the fucking bugs we all keep reporting and upvoting on Connect and getting ignored. More choice is IMHO not a good thing. It's a bad thing. In the same way people who "multi task" are more often than not churning out shit work and running on luck - I'd prefer Microsoft focus on what they know best.
- Godel_unicode 11y agoYou think that allowing corporations to move their SQL server investment off of Windows and onto Linux as a precursor to moving off of SQL server, rather than forcing them to change DBMS and OS at the same time is bad? That's what choice means.
- lmm 11y agoWhile I do think this is a good thing, I've run very good MySQL servers (well, in so far as MySQL is ever very good) on Windows, so it was already possible to do that kind of migration.
- qb45 11y agoThose who are moving off of MS SQL are "lost customers" and I don't think MS would be spending extra resources on facilitating their transition. More likely they had customers willing to switch to/stay on MS SQL but needing Linux for some unrelated reasons.
- biturd 11y agoIs this the same DB that backs the StackOverFlow/Exchange network of sites?
- smw 11y agoYes
- microcolonel 11y agoLooks like basically everything will be on Linux at SE now. ;-)
- _betty_ 11y agoTheir web/service tier are still windows, doesn't seem that likely that they'd rewrite them in .netcore fast enough to be off windows completely in the near future.
- sklivvz1971 11y agoStack Overflow dev here. We don't really care that much about the OS -- never did, never will. A windows license is very cheap, and we only need maybe 20 windows licenses to run the whole network. The much bigger cost are SQL Server licenses, for which we care very much about! All in all we'll keep on using SQL, but on the most performant platform -- my bet is that it's going to be Windows for a while though. Regarding .Net Core: the platform is not ready yet (e.g. lack of support for Security IIRC), but we'll adopt it when it is -- again on the fastest platform. Both in the case of SQL Server and .Net core, we are working publicly on GitHub with Microsoft by testing and providing advice where needed to make sure the next version of our ecosystem is the best possible.
- lololomg 11y agoWould you yourself actually choose SQL Server on Linux for a project? I'm a big fan of SQL Server but the main thing that hurts it is the cost. Licensing our two servers today would cost a quarter of a million dollars. The OS cost is a rounding error. If I'm paying that much money for SQL Server I don't think I'd choose the Linux version for at least another 5 years from now. It needs to prove itself and there's almost no benefit to offset the risk.
- pcx 11y agoI think this will be a great option for existing SQL Server users wanting to move to Linux. Looks like MSFT is slowly giving up on Windows Server to some extent. They might be seeing more money in the Cloud business compared to the Server OS business.
- toyg 11y agoOr rather hope or predict to see more money. There is a lot of wishful thinking involved in the current shift to the cloud, both from providers and their customers.
- gscott 11y agoFor smaller businesses they can join Bizspark and download SQL Server free from msdn and keep it even after the 3 year program ends.
- robocat 11y agoIn theory. In practice our hosting provider couldn't do this for us because of their own licencing (or it was too difficult for them to work out). And if you are a start-up, you will upgrade your DB, in which case you might only get a few years free anyway.
- godzillabrennus 11y agoHost companies have to license you a copy through the Microsoft SPLA program.
- 11y ago
- frik 11y agoThe syntax of MSSQL is very behind the competition and still based on Sybase. Even basic string functions aren't available or have weird arguments. If you aren't locked into their eco-system stay clear away from it. Otherwise you will regret it, as the licensing costs are very expensive and per CPU core (think Oracle). Better switch to MySQL or Postgres or Lucene, etc.
- pjmlp 11y agoThere is more to a SQL server than the language. For example, OLAP, distributed transactions, cluster scalability and so on.