8 ms·
I wonder who would choose Microsoft or MySQL over PostgreSQL these days.
by myf01d 10y ago
I wonder who would choose Microsoft or MySQL over PostgreSQL these days.
- nitinreddy88 10y agoNot to trigger a debate which is better, Many corporate companies choose SQL server over MySQL or PostgreSQL. One reason is, Paid support and excellent integration with existing Microsoft products. The features are totally worthy to use SQL server.
- vetinari 10y agoPaid support is available for MySQL and PostgreSQL too. It is from different companies than those who offer the SQL Server/Oracle/whatever support though, which may a problem if the newcomers don't already have a foot in the door already. Think of it from the business POV: why would the sellers of existing support leave their business to some outsider?
- zunzun 10y agoSQL "Sewer" - ha! A "pubic" preview sounds more accurate to me... But hey, if the sales rep says you should pay for it, why not obey them and waste your company's money?
- sctb 10y agoThis account has been posting a lot of unsubstantive comments. Please stop and review the posting guidelines: https://news.ycombinator.com/newswelcome.html https://news.ycombinator.com/newswelcome.html https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html
- mrweasel 10y agoMaybe you don't have a choice. There's a ton of business applications that only support SQL Server. I worked for a company the used SAP Business One for their ERP system, it only supports SQL Server. Our infrastructure was mostly Linux, but for SAP B1, there's not a choice, you need SQL Server. Old school client server database applications is still very much alive.
- usloth_wandows 10y agoIf you're asking this question then you shouldn't be using SQL Server.
- tonyedgecombe 10y agoI suspect this will become a problem for Oracle/Microsoft over time, most startups seem content with the open source solutions. I doubt this will change as they mature, this leaves Oracle and Microsoft trying to screw more money out of a dwindling and aging set of customers.
- chillydawg 10y agoAll companies eventually need a generic BI stack and Microsoft has one of the best around, all built on top of SQL Server & co.
- manigandham 10y agoThe classic silicon valley "startups" are a tiny fraction of the market, and if they can't afford or don't want to pay for licenses of good software, they wouldn't be good customers anyway.
- onlydnaq 10y agoThat really depends on your use cases. I love Postgres and have been using it for a long time. However if you need good support for, for example, self-updating efficient materialized views, then Postgres won't really do (yet).
- h1d 10y agoAre you genuinely comparing by technical superiority? If I would venture for a new product without definitive advantage, one needs better "googlability", which seems still in much favor to MySQL. Besides that, you have tools that works fine with MySQL and people who are used to using it which also needs conversion. I'd like to know how you would convince any average MySQL users the switch?
- Amezarak 10y agoWell, it depends on what they need. Do they write a lot of queries? The breadth and depth of SQL features MSSQL supports blows MySQL out of the water. I work mostly with MySQL now, and it's painful to go back. For example, I really like windowing functions and table-valued functions. But there's a lot, lot more. Do they want much better query performance? MSSQL again. Are they a business type? They will probably like stuff like SSRS, SSIS, and SSAS, and all the additional tooling around them. There really is no comparison between MySQL and MSSQL. Postgres is great, and generally what I use if I have a choice because it's free and better in many respects than MySQL, but even there I have problems thinking of things that Postgres does better than MSSQL, though there are a few. There's just _so much_ MSSQL does and so much it does right, and the stuff it does wrong is generally getting fixed (no more XML PATH, they finally added STRING_AGG!!!). But if they're happy with what they're got, well, it'd be silly to spend the money on an MSSQL license. IME, MSSQL is pretty google-able - that's really how I learned it. Do you have any specific problems with its googlability?
- baq 10y agoHave you used SQL server? Tooling is light years ahead of pretty much anything.
- nurettin 10y agoYou mean the CTRL-L query profiler, the table editor and the server performance monitor that the MSSQLMS had since 2005? Or is there something else?
- bartread 10y agoS/he is probably talking about the large ecosystem of companies that provide SQL Server tooling on top of the basics Microsoft provides. (Disclaimer: I used to work for one of them.) That being the case then, yes, the tooling is light-years ahead of anything else. MS have a long history of encouraging third party developers to create tooling around their platforms to help sell those platforms, and keep people using them.
- olavgg 10y agoDo they have a proper CLI client now? Working with SQL Server is great as long you have SQL Server Management Studio, but not having a CLI client makes me cry when I just want to do something quickly over SSH.
- snarfy 10y agoWhy wouldn't you use an ssh tunnel?
- EvanAnderson 10y agoThere has been a command-line client as long as I can remember (OSQL.EXE first, and later SQLCMD.EXE).
- easuter 10y agoNo to mention the SQLS execution planner will beat the pants off both MySQL's and Postgres' when it comes to non-trivial queries. Don't know how it compares to Oracle as I've never used it.
- arethuza 10y agoI would suspect that most instances of SQL Server support off-the-shelf applications that require SQL Server rather than custom built applications. Of course, a lot of these come from Microsoft - but there are a lot of 3rd party applications that support SQL Server. There are also a lot of advantages of standardizing on a single database platform within an organization.
- JunkDNA 10y agoI worked in a reasonably sized organization that was heavily invested in MS products. If I had used SQL Server I would have had access to DBA's and secondary apps we were already licensing for ETL, reporting, etc... I chose postgres because at the time, the Linux drivers for SQL Server were junk. The message from our ops folks was basically, "Knock yourself out but you're totally on your own."
- deleted 10y ago[deleted]
- deleted 10y ago[deleted]
- deleted 10y ago[deleted]
- ronack 10y agoIf you have the money MSSQL is a better all-purpose RDBMS. The tooling is in a completely different league and there are fewer surprises with regards to performance (like PG's slow counts, paging, etc.). I very much hope PG will close the gap though.
- callesgg 10y agoThere is no such thing as have the money, every expense chips away from the profits. Edit. I understand that it weighs against development time but that is a different matter than money in the bag.
- cwyers 10y agoExcept for ones that increase revenue or allow offsetting costs in other areas. Having used MySQL and SQL Server, there's not much of a contest. You can do everything in both, pretty much, but you can do it more quickly and more maintainably in SQL Server. The developer tools are all really good, the functionality is outstanding, it requires less care and feeding. There are plenty of cases where the added money isn't worth it. But your time has value, too.
- edgyswingset 10y agoAt some point, you end up paying more for your employees to manage stuff than build stuff. That's when you buy better tools.
- blakeyrat 10y agoI wager the labor savings from SQL Server will pay for itself in a few months.
- blitzd 10y agoIt's been my finding that experienced MS SQL developers tend to hire out at a much greater cost than experienced MySQL developers... MS SQL Standard also starts at $3,700+ USD per core (and a minimum purchase of 4 core license, I believe), with a yearly SA fee on top of that. You could use Express, but it's missing many features - SQL Agent for instance.
- paulirwin 10y agoraises hand and waves excitedly I'd probably pick PostgreSQL over either of the other two today for any case where my constraint was that I had to have the application run on Linux. Otherwise, I'm going Azure SQL Database or SQL Server if on-prem (as in, non-cloud) is needed. This will change soon with the OP about SQL Server on Linux. SQL Server Management Studio is an incredible tool and beats the pants off of equivalent free tools like MySQL Workbench and pgAdmin. (SSMS is now freely available without an MSDN subscription or SQL Server license.) Yes, it requires Windows, but compared to the other tools on Windows it is second to none. Azure SQL Database has been nothing but a good experience to work with. You automatically get 3 highly-available replicas of your database for no extra cost, built-in transparent data encryption, query auditing support, threat detection alerts, near 100% compatibility with SQL Server, and no need to keep the underlying OS or software up to date and secure. All of this for $30/mo (Standard S1 we've found to be adequate for most small businesses with line-of-business type apps.) Depending on the needs of the application, Azure SQL Database can either be a good replacement for an existing SQL Server instance, or a stepping stone towards a larger SQL Server installation. We're seeing many small businesses power down their on-prem/colo SQL Server installs and moving to Azure SQL Database to save on TCO. SQL Server Express Edition is a free edition that supports up to 10GB databases, so it is perfect for your local development environment (assuming the size constraint allows that). In 2016 SP1, they even added all of the Standard and Enterprise edition features to Express edition like memory-optimized tables and columnstore indexes. With integrated Windows authentication, it is incredibly easy to have your team use a single connection string and for a new dev just install SQL Express and go. SQL Server Database Projects in Visual Studio are by far the biggest reason for me to prefer Azure SQL Database or SQL Server. This is the most elegant way of storing your database schema in source control that I've ever seen. You define the schema as just CREATE scripts, and when you build you generate a DACPAC with the entire schema defined as if you're creating it from scratch. But upon deployment it determines what objects need to be created, altered, or (if you want) removed to make the target database schema match the normative schema in the DACPAC. So it builds its own migration script based on the schema of the target database, and it won't allow any operations that cause data loss by default. This is super handy in a team environment because you don't need to worry about writing migrations by hand, you just define the schema "as it should be" and no matter what version of the database your team members had on their machine it will get caught up. Also dealing with merge conflicts is easier, because you're just doing a line-by-line merge of the e.g. CREATE TABLE statement rather than having to worry about which order your migrations run in. If anyone knows of something equivalent for MySQL or PostgreSQL I'd love to know!
- thom 10y agoI've worked extensively with both SQL Server and Postgres and money being no object, there are valid reasons to investigate both. SQL Server's query planner is better, Postgres has only just got limited parallelism for some sequential scans, and still treats CTEs as second class citizens. Postgres in version 10 is going to get proper partitioning, which SQL Server has had for years. There are vast numbers of feature differences, down to individual GIS functions one platform has over the other.
- fooey 10y agoOne other big reason is SQL Studio is fantastic. I've never found anything remotely comparable for PG
- evanelias 10y agoThese companies all use MySQL as either their primary database layer, or at least as an essential storage system for a major property or system: Facebook, Google (doubleclick, cloudsql), Twitter, LinkedIn, DropBox, Alibaba, YouTube, WordPress.com, Wikipedia, GitHub, Yahoo, Yelp, Pinterest, Etsy, Tumblr, Flickr, Uber, Box, Booking.com, Instagram (migrating afaik), Lyft (migrating), Amazon (mysql backs DynamoDB) re: "these days" meaning would these companies still choose MySQL if founded today? Impossible to say for certain, but some of them migrated to MySQL recently. Most have the resources to change databases if there was a compelling reason to do so. Postgres has many appealing qualities, but so does MySQL (as well as SQL Server). Use the right tool for the task.
- t0mas88 10y agoIs there a source somewhere that says Mysql is used behind DynamoDB? As far as I know Amazon is very silent about what is used underneath.
- evanelias 10y agoNo authoritative source, but it's been leaked in enough places by enough people that I assume it is truthful. Here's a recent HN thread for example: https://news.ycombinator.com/item?id=13173927 https://news.ycombinator.com/item?id=13173927 I'm a bit dismayed by the downvotes on my original post above. The parent asked "who would choose Microsoft or MySQL over PostgreSQL" and I answered factually and literally with who chose MySQL :/
- t0mas88 10y agoThanks. No downvotes from me, I was just curious because I hear the DynamoDB-MySQL rumor here and there but never saw it confirmed.
- kbumsik 10y agoAFAIK PostgreSQL currently doesn't support in-memory table. In-memory table is blazing fast.
- blitzd 10y agoThere are other options for in-memory datastores on Linux though, such as Redis.
- olavgg 10y agoWell at first I thought that you could create an in-memory tablespace. But it doesn't seem like its a good idea though, http://stackoverflow.com/questions/7872693/running-postgresql-in-memory-only http://stackoverflow.com/questions/7872693/running-postgresq... So I guess if you need in-memory data, SQLite or Redis are better options.
- agacera 10y agoPostgresql is awesome, best open-source RDBMS by far, but MSSQL is more advanced. This is expected since hundreds of developers are being paid by Microsoft to work full-time on it. For OLAP use cases it is years ahead of Postgres.
- jxi 10y agoDoesn't PostgreSQL not support joins between dbs. That's a pretty huge deal breaker.