10 ms·
Why would I use this (windows server 2k16 + Microsoft SQL) vs a linux image + Postgres? Does anyone have any insight in this comparison? It seems to me that thi
by slmyers 10y ago
Why would I use this (windows server 2k16 + Microsoft SQL) vs a linux image + Postgres? Does anyone have any insight in this comparison? It seems to me that this stack is expensive and will likely have less documentation, but I could be wrong on this and there may be very good benefits. Comments appreciated.
- catmanjan 10y agoUseful for developers targeting organisations on Microsoft stacks
- mvitorino 10y agoBecause very often it's not up to the developer/architect to pick the technology to work with. Also what seems expensive to you, very often is not so for the customer.
- cmdrfred 10y agoAt the place I work SQL with CALS and software assurance runs 300k. In a free market, I expect that soon people will build solutions on open source alternatives and undercut the competition dramatically.
- mvitorino 10y agoSure. But open source business models are not trivial to succeed or scale. RethinkDB is shutting down and MySQL ended up in Oracle's hands. Postgres is a bit unique, but still lacks good and friendly developer and management tools and better support from cloud providers.
- oldprogrammer2 10y agoAs a counterpoint, we have a 2008 R2 instance that cost us about $13K back in 2011. Granted, it's a two processor, standard edition license, so we recently upgraded to SSD's and upgraded to higher core processors. Also, the Windows Server license was about $800, I believe. No CALs required for either Windows or SQL Server in this situation.
- cmdrfred 10y ago>No CALs required for either Windows or SQL Server in this situation. Either you have Enterprise Windows (costs about as much as professional with the CALS), or the software you are running is only local to that server. The Microsoft treadmill is expensive.
- UK-AL 10y agoThere's a special web licence for website, which doesn't use CALS. If you building some internal business app, then you need CALS.
- cmdrfred 10y agoIf you are taking about data center, that's 50k. Cheaper, but I doubt it add's 50k of value over the alternatives for most users.
- UK-AL 10y ago"Windows Server 2012 R2 configured to run Web Workloads do not require CALs or External Connectors. Web workloads, also referred to as an internet web solution, are publically accessible (e.g. accessible outside of the firewall) and consist only of web pages, web sites, web applications, web services, and/or POP3 mail serving. Access to content, information, and/or applications within the internet web solution must be publically accessible. In other words, they cannot be restricted to you or your affiliate’s employees. "
- cmdrfred 10y agoSQL server != Windows Server That also appears to only cover web servers that do not have any login capability. Why on earth would you spend that kind of money to host a static site?
- brazzledazzle 10y ago
- brazzledazzle 10y agoDo you have a lot of SQL servers? If not, why not just get proc licenses?
- mobiuscog 10y agoIt's exceedingly useful for developers that just need to fire this up to test something. I'm not convinced anyone would use express for production purposes anyway due to the fairly severe memory/thread limitations.
- deevus 10y agoYou need Windows Server don't you? I can't imagine that many developers running Windows Server on their development machines.
- mb_72 10y agoI've been using the 'Express' version of MS SQL Server in production for some years now with a handful of small clients, including my current 'in-office' employer. It's not hard to setup a 3rd-party backup solution, and - touch wood - I've never ever had any issues with either the databases or the dependent applications. No doubt other databases might be 'better' in various ways, but the Express version really is nice to work with and (yes, sorry to admit) it's an easier sell to customers than non-MS solutions (at least for me).
- jister 10y agoHow many users does your site have? Did you have problems with the limitation of RAM?
- 10y ago
- mrweasel 10y agoMicrosoft SQL Server and tooling (SQL Management Studio) is actually very nice to work with. Agreeably there's not much you can do with SQL Server that you can't do with Postgresql, but perhaps you're already a Microsoft shop, and then SQL Server simply fit in better with your deployment, backup and administration software. In regards to documentation: Microsoft have very good documentation for developers. The SQL Server documentation is at least AS good as the Postgresql documentation, if not better. It's really weird to approach Microsoft from the developer side, because they have absolutely wonderful products like Visual Studio, C#, Exchange, Active Directory, and SQL Server, but at the same time they have Windows. I feel that Windows, at least the desktop version, is somehow a second tier product, where the quality isn't on par with their other products.
- ZanyProgrammer 10y agoAlas its a prereq for those items you listed as being wonderful. Cross platform VS can't happen soon enough.
- arethuza 10y ago"SQL Server that you can't do with Postgresql" I'm not sure that's really a great comparison (and I really like PostgreSQL) - SQL Server is really a family of products that all depend on the database server component of SQL Server (SSAS, SSIS, SSRS) and that comes with easy integration with lots of applications from Microsoft (e.g. the Dynamics CRM and ERP products) as well as hundreds of 3rd party products.
- deviate_X 10y agoI hate (for fear of the backlash) to ask but what is the problem with Windows me and my colleagues frequently run it for weeks non-stop on desktop. On the server-side it just runs without any issues like any other os..? i see comments like this and genuinely wonder ...
- mrweasel 10y agoI haven't used it much on the server side, so I won't comment on that part. Printer drivers can still crash Windows, and if you screw them up, you can be force to just reinstall. Javascript in Firefox managed to crash a display driver earlier to day. Still Windows is "okay", in terms of stability, but if something goes wrong, like yesterday when my wireless NIC stopped working, there's absolutely no help from Windows in terms of figuring out why. Logging is pretty much non-existent, it's like arguing with a wacko girlfriend who's mad at you, but won't tell you why. Really the interface is the major pain point for me. It simply feels clunky and slow. There's a serious lack of consistency across the UI. Windows 10 is really bad about this, having two control panels for instance, and still being part metro, part Windows XP. Just the whole filesystem layout of the C:\Users\<username> is weird. It's as if Windows have gone to create lengths to hide the "home folder", for no apparent reason. Generally the filesystem is just weird and confusing. Search rarely work. The "Ubuntu on Windows" does fix some of my issues though, because having a modern operating system, and no "Unix layer" is a hindrance, to me at least. If there's a point to my rambling it's something along the line that Windows is missing an overall strategy. Currently it sits in a weird spot between being for the absolute novice, and the computer expert, while fulfilling neither role.
- blahi 10y agoTo be honest with you, if you have to ask that question, you don't need SQL Server. In order not to mistake my comment with an attack (it really isn't) one reason is tooling. Postgres doesn't have 1/10th of the tooling available for SQL Server. Another is BI. There isn't a better BI stack out there than Microsoft's. Also the price if very small compared to the competition and licensing costs are dwarfed by implementation costs, in general. So no, SQL Server is not expensive at all. Also the documentation is actually very, very good.
- dccoolgai 10y agoAlso, SQL Server gets you some pretty nice benchmarks virtually out of the box. You can beat it on PostGres sometimes, but only after considerable configuration/optimization. And, like you said, the toolchain. SQL Studio will spoil you.
- serguzest 10y agoCorrect me if I am wrong, MS Sql server isn't true MVCC database and there is some support and it is not default, you have to set READ_COMMITTED_SNAPSHOT ON for the database. They implemented it in 2005. Most microsoft shops don't bother to develop their softwares for this, they are using archaic locking transactions. I've seen many Sql Server deployments keep choking on locking transactions and and people are buyin bigger servers, more Windows and Sql Server licences for each cpu/core to deal with their choked database server. So while Postgresql's defaults are all about technical concerns, Sql server's defaults are just convenient for Microsoft sales team.
- kbenson 10y agoI can't comment on whether this is correct, but on the MSSQL box I integrate with, lock contention and the server automatically killing deadlocked queries is a regular occurrence. Like 50+ times a day regular.
- AaronFriel 10y agoBoth are true! MS SQL Server is a "true MVCC" database (no-true Scotsman?) and you are correct. SQL Server supports snapshot/MVCC isolation for transactions, but it must be enabled. They are determined to maintain 20 years of backward compatibility, and while I think that's wrong, they leave snapshot isolation disabled by default. https://msdn.microsoft.com/en-us/library/ms173763.aspx https://msdn.microsoft.com/en-us/library/ms173763.aspx
- snarfy 10y agoI would want to use Postgres over SQL Server not because of cost, but because I wouldn't want to lock my data into a proprietary database. I've been doing this long enough to see it go horribly wrong for those poor people married to Oracle.
- jbergens 10y agoSQL Express is free in itself. You do have to pay for the Windows OS on all servers though but that has little to do with the application.
- NoGravitas 10y agoI'm a big supporter of PostGRES, and I think you should use it wherever possible. BUT: MSSQL is not that expensive. To compare apples to apples, you need to compare it to EnterpriseDB. EnterpriseDB is slightly cheaper than MSSQL, but not a lot cheaper. They're both so much cheaper than Oracle that the difference is negligible in comparison.
- deleted 10y ago[deleted]
- jsudhams 10y ago1. For large corporations internal stack is Windows and CAL is mostly there 2. Existing developers on VB.Net/C# stack -- this is not real issue but still 3. Have couple of large SQL Server boxes cluster and vertically grow and keep adding databases as you like. Go for processor license.. Really scales well for in corporate conccurrent < 10k users scenarios
- quickben 10y agoIf the only thing one has is a DB connection and tables, maybe some stored procedures, it's irrelevant. Move freely between databases most of the time with minimal efforts. You care in the case when your predecessors fell for the lock-in tricks. Database doing job scheduling, actual code in the database (SSIS and the rest), and thing like that.
- floopidydoopidy 10y agoBe a hero and free your company from lock in, otherwise you'll be the next person referred to as "the predeccessor [who] fell for lock in".
- brightball 10y agoInternal company workloads. Never use SQL Server for something web facing unless you are ready to have your scaling strategy dictated by licensing costs. Read replicas, master master, failovers, streaming updated to outside data stores like elastic search before the feature sets are even compared have huge associated costs in workarounds.
- UK-AL 10y agoI think core based licensing is reasonable for scaling.
- brightball 10y agoDepends what you're doing and what your needs are. If we have one big database sitting in a data center and it would be beneficial to setup a read replica for other workloads, suddenly that's a $150,000 suggestion instead of a "We have this server over here". Want a couple? $300,000. Big client that you'd like to isolate on their own hardware? $$$$
- UK-AL 10y agoWhat sort of machine are you running to get 150000 USD? It's approximately 3-4 k per core using standard.
- brightball 10y agoEnterprise on 16 core machine. $14k / core so it's actually closer to $220,000.
- greggyb 10y agoMemory-optimized transactional engine (since 2014). Native compilation of stored procedures. In-memory tables that can optionally be persisted to disk. https://msdn.microsoft.com/en-us/library/dn133186.aspx https://msdn.microsoft.com/en-us/library/dn133186.aspx In-memory columnstore indices (since 2012, but realistically since 2014/2016). Huge benefit for large analytical queries. https://msdn.microsoft.com/en-us/library/gg492088.aspx https://msdn.microsoft.com/en-us/library/gg492088.aspx Native row-level security (2016). https://msdn.microsoft.com/en-us/library/dn765131.aspx https://msdn.microsoft.com/en-us/library/dn765131.aspx Native always-encrypted support - database never sees plaintext (2016). Streamlines workflow, but this is doable with Postgres - questionable inclusion. https://msdn.microsoft.com/en-us/library/dn765131.aspx https://msdn.microsoft.com/en-us/library/dn765131.aspx Dynamic data masking - don't use for security, though (2016). https://msdn.microsoft.com/en-us/library/mt130841.aspx https://msdn.microsoft.com/en-us/library/mt130841.aspx R engine in DB (2016). https://msdn.microsoft.com/en-us/library/mt604845.aspx https://msdn.microsoft.com/en-us/library/mt604845.aspx Others have covered the things that fall out of the relational engine below, including SSIS[0] for ETL and dataflow programming, SSAS[1] for semantic modeling and analytics workloads, SSRS[2][3] for reporting. There's also MDS[4] for master data management, native support for an elastic database (partition across on-prem and Azure SQL)[5], built in HA [6], and a whole lot more around monitoring and instrumentation. This is not meant as a fanboy post, but you asked what is part of SQL Server that you don't get with Postgres. As I've mentioned elsewhere, I work for a Microsoft partner so I get exposed to this stuff all day long. [0] https://msdn.microsoft.com/en-us/library/ms141026.aspx https://msdn.microsoft.com/en-us/library/ms141026.aspx [1] https://msdn.microsoft.com/en-us/library/bb522607.aspx https://msdn.microsoft.com/en-us/library/bb522607.aspx [2] Traditional paginated reporting platform and also a newer mobile dashboarding tool based on an acquisition. [3] https://msdn.microsoft.com/en-us/library/ms159106.aspx https://msdn.microsoft.com/en-us/library/ms159106.aspx [4] https://msdn.microsoft.com/en-us/library/ff487003.aspx https://msdn.microsoft.com/en-us/library/ff487003.aspx [5] https://azure.microsoft.com/en-us/documentation/articles/sql-database-elastic-query-overview/ https://azure.microsoft.com/en-us/documentation/articles/sql... [6] https://msdn.microsoft.com/en-us/library/ff877884.aspx https://msdn.microsoft.com/en-us/library/ff877884.aspx