No offence, was just wondering why would anybody use it...
No offence, was just wondering why would anybody use it...
A fully integrated data platform suite with several tools that are best in class. SQL Server is not just a relational database engine, though that is at the core of most tools and services.
SQL Server is a SKU that includes many things:
* Relational engine
* In-memory OLTP (SQL compiles to native code)
* Columnstore indices for OLAP workloads
* The two above can be combined for real time analytics
* Embedded R engine in DB
* SSIS - data processing orchestration tool AND ETL tool
* SSRS - traditional reporting platform (with native mobile reports)
* SSAS - best in class OLAP engine/semantic layer
* MDS - Master Data Services (basically a rules engine)
* DQS - Data Quality Services (pluggable back end for data quality needs - batch or real time)
I do think SSAS is truly best in class. The others are all solid products, some better than most competitors, some middle of the road. You can certainly find equivalent open source products or vendor products and roll your own. But SQL Server as a SKU is not competing with your Postgres server. It's competing with damn near everything that touches data at your company.None of the numbers indicate a shrinking market to me. SQL Server does compete for analytics workloads. Is it a direct competitor to Hadoop? No.
I have clearly stated my bubble up front and I'm trying to keep my claims within that bubble. The question was "what are the use cases?" I answered that. I am now saying that I see a thriving SQL Server business. I'm not saying no one uses Hadoop because more of my projects leverage SQL Server components than Hadoop. You are claiming that SQL Server is only for legacy projects because you are not using it.
I'm personally a fully competent Linux sysadmin, and an extremely incompetent Windows sysadmin.
SQL Server is great, I love .NET, and the only thing holding me back all these years has been the Windows system requirement.
The only thing I see MSSQL on Linux being useful for is for development and testing purposes before deployment to a local server farm or the Azure cloud. (Even then, why not just run it on your Windows dev machine?) Honest question: What's the scenario where you'd license a system to run on Linux in production? To me, this is interesting, from the virtualization standpoint, but it seems like a solution in search of a problem.
A lot of devs don't understand/like windows enough to work on it. It's probably a lot easier to find *nix devs that windows devs.
And even in companies that have Windows MSSQL on Linux might be useful, e.g. if they have a linux-centric virtualization infrastructure.
At my company we had a single Windows server for aaaaages that we kept around because of a legacy MSSQL install we needed. Only Windows box in the whole server farm. Was a bit of a pain.
Of course, MSSQL-on-Linux wouldn't necessarily have been the answer here... I'm sure we would have had to buy a new MSSQL license to run it on Linux.
Eventually we eliminated the need for it entirely, but had MSSQL-on-Linux been an option a few years ago we might have simply migrated it to Linux and paid the necessary license.
To answer your question directly...
Don't think of it from the perspective of "green field" development where you're building something from scratch.
While "green field" development is every dev's dream, the overwhelming majority of dev work involves maintaining and integrating with existing services. There are lots of MSSQL installations out there, after all.
On another note, I know soooo many developers for whom "SQL" is synonymous with "MySQL." MySQL is okay, but they should know that Postgres and MSSQL offer a lot of programmer-friendly things that make working with them a heck of a lot more fun than MySQL. Different index types, data types, window functions, CTEs, etc.
But it's like SQL Server on Windows Server Nano - nobody asks for it, because only full system has required tools and features.