Microsoft SQL Server vs PostgreSQL: What are the differences?
Developers describe Microsoft SQL Server as "A relational database management system developed by Microsoft". Microsoft® SQL Server is a database management and analysis system for e-commerce, line-of-business, and data warehousing solutions. On the other hand, PostgreSQL is detailed as "A powerful, open source object-relational database system". PostgreSQL is an advanced object-relational database management system that supports an extended subset of the SQL standard, including transactions, foreign keys, subqueries, triggers, user-defined types and functions.
Microsoft SQL Server and PostgreSQL can be primarily classified as "Databases" tools.
"Reliable and easy to use", "High performance" and "Great with .net" are the key factors why developers consider Microsoft SQL Server; whereas "Relational database", "High availability " and "Enterprise class database" are the primary reasons why PostgreSQL is favored.
PostgreSQL is an open source tool with 5.44K GitHub stars and 1.8K GitHub forks. Here's a link to PostgreSQL's open source repository on GitHub.
According to the StackShare community, PostgreSQL has a broader approval, being mentioned in 2739 company stacks & 2169 developers stacks; compared to Microsoft SQL Server, which is listed in 478 company stacks and 443 developer stacks.
What is Microsoft SQL Server?
What is PostgreSQL?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
In my opinion PostgreSQL is totally over MongoDB - not only works with structured data & SQL & strict types, but also has excellent support for unstructured data as separate data type (you can store arbitrary JSONs - and they may be also queryable, depending on one of format's you may choose). Both writes & reads are much faster, then in Mongo. So you can get best on Document NoSQL & SQL in single database..
Formal downside of PostgreSQL is clustering scalability. There's not simple way to build distributed a cluster. However, two points:
1) You will need much more time before you need to actually scale due to PG's efficiency. And if you follow database-per-service pattern, maybe you won't need ever, cause dealing few billion records on single machine is an option for PG.
2) When you need to - you do it in a way you need, including as a part of app's logic (e.g. sharding by key, or PG-based clustering solution with strict model), scalability will be very transparent, much more obvious than Mongo's "cluster just works (but then fails)" replication.
We decided to use MemCachier as our Memcached provider because we were seeing some serious PostgreSQL performance issues with query-heavy pages on the site. We use MemCachier for all Rails caching and pretty aggressively too for the logged out experience (fully cached pages for the most part). We really need to move to Amazon ElastiCache as soon as possible so we can stop paying so much. The only reason we're not moving is because there are some restrictions on the network side due to our main app being hosted on Heroku.<