Hacker News new | past | comments | ask | show | jobs | submit login
Why Does Microsoft SQL Server Exist?
6 points by ayjz on Jan 5, 2016 | hide | past | favorite | 11 comments
I'm having trouble understanding why anyone uses Microsoft SQL Server, or still uses it now that we have open-source databases. Does it have any features that PostgreSQL or MySQL don't have?

SQL Server is about environment and ease of use. It has come a long way, and while I wouldn't use it for large scale projects anymore because of cost, it is more then capable of handling the task. SQL Server does have unique features to the Microsoft environment that make it easier to develop with and make it pretty damn robust too. There are too many things to list, but I think many choose it because it is an eco-system, you get SSRS for reporting, SSIS works well for basic to moderate ETL and the basic setup for a simple database a monkey could do. Not to mention the tooling is really pretty damn robust and easy to use (sometimes too easy IMO). Performance wise, it is good when designed for like any database, but if you do stupid things, or do things how you would do them in say Oracle, then you may be asking for trouble. But the same could be said for Postgres or MySQL etc.

Also, don't forget that many companies started with it as part of the Business Server suite and so all their software was built around it for little cost of the database itself. Then they grew into it.

I have spent a long time working in and around it, and respect it overall. Personally, I have moved a lot of clients out of SQL Server into more cost effective solutions when they have grown to a point that the licensing cost will outweigh the need to re-architect their system. That usually happens when they realize they need robust replication or a distributed solution which will take some architecture work anyway, and why pay MSFT huge licensing fees and architect for it when you can move to say Postgres and save the licensing fees, just as an example.

For me the tooling is really the best out of all rdbms's for the developer tools ssdt provides a full api to query and create t-sql like rosylyn but for t-sql:


It does have features that MySQL and Postgres don't have, and it also is missing some features that those have. It's a different product.

Enterprises use it because they sign contracts with Microsoft to use all Microsoft products, and then they get support from Microsoft when things go wrong.

Furthermore, "no one ever got fired for hiring IBM" (not sure who said that originally). Basically, when you use a big-name, enterprise vendor and the software fails, it's their fault. When you use a (F)OSS solution and the software fails, it's your fault.

You can go on and on with technology that sucks that's still used by large enterprise for the same reason.

Others have covered some of the enterprisey and ecosystem reasons around SQL Server. I'll add a few thoughts, but try not to reiterate too much. Note that I am speaking about Enterprise Edition which is ~$14K/2cores (sold in 2 core units) (other editions offer subsets of these features). This is all off the top of my head.


As mentioned, you get core SQL Server, along with a number of integrated tools that range from adequate to best in class:

* SSIS for ETL

* SSRS for reporting - includes traditional paginated reports, Power View for visual analysis and exploration (in 2016 gets native mobile apps and major overhaul)

* SSAS - Multidimensional for traditional OLAP, data mining; Tabular for in-memory columnstore

* CLR - everything has access to CLR languages for customizability and scripting

* Azure - easy transition from on-prem to cloud either with IaaS and pre-configured DB VMs or Azure SQL and Azure DW for SaaS with syntax and feature compatibility; very strong hybrid infrastructure story

Features All of these are native

* In-memory OLTP - memory optimized tables, optionally transactionally persisted to disk or not, with sprocs compiled to native code

* Columnstore index - optionally memory-optimized tables with clustered columnstore for hybrid OLTP / OLAP workload

* HA groups for native replication and failover story

* Native R integration (coming SQL Server 2016)

* Integrated row-level security

* Encryption for data at rest and in transit (more of an Azure SQL piece)

* Native master data and data quality services

I don't know if you care much (but CIOs and IT directors of large organizations do), but SQL Server 2014 is the absolute leader in Gartner's magic quadrant for mission-critical application development, and Microsoft is in a leadership position for BI as well.

Believe it or not, TCO is one of the largest talking points for Microsoft data platform account executives and solution sellers. Especially when placed against Oracle that story is strong. We have customers (we being the company I work for - BI and analytics consultancy) coming to SQL Server from every platform you can imagine. There are also many customers leaving SQL Server for every other platform. At this point in time Microsoft is doing a pretty good job of making sure that first number is larger than the second by a healthy margin.

It is tightly integrated into the entire Microsoft development toolchain. There are free versions given to developers. And then there's the persistent myth of "Nobody ever got fired for buying Microsoft". They used to say that about IBM. They don't anymore.

A lot of it is inertia, as well. People who have been writing software for MS SQL server for the past couple of decades probably aren't going to change any time soon.

Plus with MS Azure, MS SQL server is easy for a non DBA to setup, add failover and scale.

Setting aside the feature comparison, there's the matter of inertia. There are tons of enterprise-quality software packages that already work happily with Microsoft SQL Server, and the cost of switching the application to use another database is too high. (Especially in enterprises where you may have dozens of different applications all talking to the same database simultaneously, and switching them all at the exact same time would be incredibly expensive.)

I suppose you could ask the same question about any software category where commercial and FOSS options exist. The short answer is that SQL Server is "the right answer" for some companies, after analyzing the long list of technical, financial, and support pros and cons.

MS SQL Server's text search is far superior to PostgreSQL's. Otherwise, not a huge difference.

Also, if you're a Microsoft shop, it's easier to deal with than learning Postgres's unixy ways. And you can program sprocs using .Net

Vendor partnership, commercial support, legacy app support, .NET drivers and optimizations not available elsewhere, developer knowledge...

Why does Oracle, DB2, Sybase, or any other commercial RDBMS still exist?

Trustworthy SQL Server is need of every org/est.

Why does anyone use XXX since there's an OS version of it?

* Different capabilities

* Different levels of support

* Previous lock-in

* Non-technical reasons

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact