PostgreSQL (alternately Postgres) is a free and open source object-relational database system boasting over 30 years of active development, reliability, feature robustness, and performance. It supports SQL and is designed to support various workloads flexibly.
SQL Server is an excellent product from Microsoft, it is a derivative from Sybase which originally developed the SQL Server form Unix and Linux, and Microsoft purchased it to migrate the DBMS to Windows Server. But the cycle comes full circle, and now Microsoft recommends its …
PostgreSQL is best used for structured data, and best when following relational database design principles. I would not use PostgreSQL for large unstructured data such as video, images, sound files, xml documents, web-pages, especially if these files have their own highly variable, internal structure.
Windows Server and Active Directory is very robust and stable, it has been a staple in every IT environment I have worked in during my career. Junior to Intermediate admins can learn Windows Server easily, the user interfaces make administration tasks very easy as well as the documentation available through a vast amount of resources. There are other Operating Systems available with no GUI which has a smaller attack surface, faster update installation and reboot time. Windows Server does have the ability to remove the desktop experience, however it is not something I have had experience with and I believe most administrators choose not to remove it.
Microsoft needs to minimize the update frequency by making the product more secure. It can become very exhausting trying to keep updated if you don't have a dedicated support team. It can become challenging where the business is unable to allow downtime for reboots as part of the update process.
Prone to security and audit vulnerabilities.
The operating system needs more CPU and memory resources compared to other options such as Linux.
Understanding the licensing model can be abit confusing.
Comes with a standard firewall, but not the most secured one available. Would suggest using a more secured firewall as part of your antivirus software.
Due to the number of vulnerabilities and the operating system being a target for hackers, anti-virus software is a must.
I've carefully reviewed the servers and services currently running on Windows Server 2012, and given the opportunity would renew them as is going forward. There are two systems I currently have in place, one is a very large Linux implementation for a large ecommerce site, and one is a very large backup solution front ended by FTP servers running Linux. Neither are well suited for Windows, but the overall network infrastructure is and will be Windows Server for the foreseeable future.
Postgresql is the best tool out there for relational data so I have to give it a high rating when it comes to analytics, data availability and consistency, so on and so forth. SQL is also a relatively consistent language so when it comes to building new tables and loading data in from the OLTP database, there are enough tools where we can perform ETL on a scalable basis.
Anyone new to IT could easily use the familiar Desktop Experience (GUI) version because we all know how to use Windows, whether a client or server version. Once an IT user is more comfortable with the operating system, they can move on to the Core version, which is the way to go in almost all situations.
The data queries are relatively quick for a small to medium sized table. With complex joins, and a wide and deep table however, the performance of the query has room for improvement.
There are several companies that you can contract for technical support, like EnterpriseDB or Percona, both first level in expertise and commitment to the software.
But we do not have contracts with them, we have done all the way from googling to forums, and never have a problem that we cannot resolve or pass around. And for dozens of projects and more than 15 years now.
Microsoft's support is hugely wide-ranging from articles online to having to contact them directly for the more serious issues. In recent years when I have contacted them directly, I have found the support o be excellent as I have found myself connected to very knowledgeable people in the field in which I needed the support. The online support available is vast and I tend to find most of the time that there is always someone out there who has had the same issue as me in the past and knows something about how to resolve it! This is the advantage of using industry standard and long-established systems such as Windows Server.
The online training is request based. Had there been recorded videos available online for potential users to benefit from, I could have rated it higher. The online documentation however is very helpful. The online documentation PDF is downloadable and allows users to pace their own learning. With examples and code snippets, the documentation is great starting point.
Make sure that you have detailed processes in place for every server instance you plan to install/upgrade, if possible get the base OS loaded and Windows Updates applied ahead of time, and if using a VM take a snapshot prior to installing each role, as well as along the way.
Although the competition between the different databases is increasingly aggressive in the sense that they provide many improvements, new functionalities, compatibility with complementary components or environments, in some cases it requires that it be followed within the same family of applications that performs the company that develops it and that is not all bad, but being able to adapt or configure different programs, applications or other environments developed by third parties apart is what gives PostgreSQL a certain advantage and this diversification in the components that can be joined with it, is the reason why it is a great option to choose.
They are different experiences, and while the other solutions offer enterprise-grade stability and, in some cases, address Windows server shortcomings (such as patching), they all do the trick, but the other solutions require a deeper technical background/configuration of items at the command line, which some people are not fully comfortable with.
Easy to administer so our DevOps team has only ever used minimal time to setup, tune, and maintain.
Easy to interface with so our Engineering team has only ever used minimal time to query or modify the database. Getting the data is straightforward, what we do with it is the bigger concern.