Should a startup opt for Linux and Postgres or Windows and SQL Server?
-
This may be a bit of an unfair or unanswerable question however it's one that I'm currently facing my self, and would like to see some opinions about it. To make it easier to answer I am highlighting to top areas of concern to me when choosing the system. - Cost of Scaling Immediate cost is not an issue as the open source stack is obviously free and a Windows/SQL Server License can be obtained through Microsoft's Bizspark program. However I am predicting a situation where rapid growth can occur at which point costs to scale the system might start to incur. - Ease of use The company can afford only a few experts on either platform, possibly none at the very early stages. This means that ease of use and education/tool availability also become very important. The system will need to be hardened as well. - Security While I know both systems can hardened well my concern is with how difficult it may be to harden the systems. In other words which one is the easiest to secure? - Ease of recruitment How hard is it to find experts on either system and on average which experts are the most expensive? I know that there might be some cross over between these concerns which is what is confusing me. In general I would side towards the Microsoft stack side simply because I'm more used to it, and find it easier to use. However thinking about this problem in the long term cost and vendor locking issues make me want to side towards the Linux stack. Looking forward to read your opinions.
-
Answer:
Heres a brief and simple comparison of some of the features that might be of importance: http://database-management-systems.findthebest.com/compare/26-43/Microsoft-SQL-Server-vs-PostgreSQL Some other things that may apply are that PostgreSQL is cross platform and can be hosted on Linux, Windows, OS X, ⦠or anywhere else, whereas MS SQLServer is Windows only and you lock yourself and your developers to the platform. PostgreSQL has many more language bindings so you don't lock yourself into tools or platforms for back-end software, while both provide ODBC, JBDC, and http://ADO.Net support. Both support user-defined functions in the database. Both support an SQL-like form of stored procedure. MSSQLS supports user-defined functions written in .Net, which is quite powerful. PostgreSQL supports a variety of user-defined functions through language extension plugins - which is both very powerful (particular from a performance standpoint) but also more complicated. PostgreSQL actually models the RDBMS as objects, so you can define new data types and operators for those types. Not all editions of MSSQLS support replication, whereas PostgreSQL does. You can purchase MSSQLS support from Microsoft. For PostgreSQL, you need to hire a consultant or defer to online forums. MSSQLS comes with a UI front-end, PostgreSQL does not (you need to use one of several 3rd-party tools). Performance-wise, they are probably very close on the same hardware (provided there's no anti-virus software on the Windows system). PostgreSQL has some advantages with regard to scaling for high-availability and fail-over (if there's going to be a high load). Generally speaking, if you are going to commit fully to the Microsoft platform, not just for the database, but for the development, deployment -- the whole stack -- then MSSQLS is probably the best choice. If you aren't planning to make that commitment, are looking to cloud deployments, will have a mixed or non MS environment for any part of the project, then PostgreSQL is probably the best choice. With regard to your criteria, PostgreSQL is cheaper and easier to scale. They are roughly as easy to use, but it depends on the features that you plan to use. They are similar to secure, and recruiting for them, a professional should be able to handle, and a less experienced person will likely know one of the other. Neither is particularly difficult to learn with regard to the other, there's probably more MS-Certified people looking for work, though.
James McInnes at Quora Visit the source
Other answers
I think you already answer your question by asking: Outside of "cost of scaling", Windows wins on your requirements. P.S. One factor that you should also consider is "supportability" P.S.S. For start-up "scaling" may be the only factor that easily outweighs the rest
Ron Warshawsky
I will cheat and answer this way. A startup should use whatever technology is most effective for the people it has. If I worked for you that would be PostgresSQL. You would realize HUGE ROI from the opensource benefits with me. It is not hard for me so it is ease of use is high. I also know how to make it much more secure than SQL Server which is at least < ideal on security. There are many more scalability options in the opensource OS world with Postgres than on a windows operating system and sql server that you could realize. That said you may not have access to people who are most effective with the open source world and need to write code with a mouse. Give them what they know best. Velocity is your best friend. If you don't have people yet find the smartest people you can and let them pick. Don't pick tech first. That is the biggest mistake CTO's make in my opinion. Rarely is picking tech the most important thing no matter how much a CTO wants it to be. Picking people is way more important. This isn't just my opinion Gartner has more than one study that talks about how companies can have a hard time realizing ROI with open source if they do not have the right match of people.
Andrew Hansen
Now a days Microsoft is no longer centric towards Operating System they are shifting and exciting things are going to happen with Microsoft.You can now try Linux with Microsoft SQL Server. To Try SQL Server 2016 with Linux: https://www.microsoft.com/en-us/server-cloud/sql-server-on-linux.aspx
MK SenthilPrabhu
Related Q & A:
- Can I create a second filestream container on an existing SQL Server 2008 database without going offline?Best solution by Database Administrators
- What is the best practice for free space for a SQL server database drive?Best solution by Database Administrators
- How to add primary key from multiple table as a foreign key in a table in sql server 2008?Best solution by stackoverflow.com
- How to restrict access to a sql server database from Azure?Best solution by Stack Overflow
- How to change column data's as a separate column wise format in a SQL Server?Best solution by stackoverflow.com
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.