I am beginning work on a relatively large web-based application with the potential for large throughput and storage of a large amount of data.
My expertise lies in MS SQL Server but it is cost prohibitive for a startup project.
Is there any alternative to SQL Server (standard) that can handle the same throughput, has similar features and is free? Any advice is greatly appreciated, Thanks in advance, JP
Update
To answer a common point - SQL Express has limitations that make it a no-go for me. Specifically, correct me if i am wrong, it can address only 1 CPU, 1GB memory, has a max size of 4GB per database, etc. etc.
Also, I am aware of bizspark. The problem is that once the project goes live one must pay for server licenses (i.e. Windows/SQL Server). Great for getting up and running but after that you must pay. (Correct me if i am wrong)
Opion 1: MySQL Option 2: PostgreSQL
MySQL has the larger user base, but fewer features. If you are used to the fancy things you can do with commercial systems, you might have a hard time adjusting.
The replication story is more coherent for MySQL than Postgres.
PostgreSQL is significantly more full-featured, has a better optimizer, but isn't as widely deployed.
Both are fine choices.
If you don't know already, Microsoft has a program called BizSpark that basically gives free software (well, there's a nominal cost of $100 for the program) to start-ups. The key requirements are that you are privately held, have less than $1m annual revenue and be less than three years old.
From the BizSpark Program Guide:
Technology offering: The BizSpark technology offering to Startups currently includes:
For design, development, testing and demonstration of your software application:
- Software included in a Visual Studio Team System Team Suite (VSTS) with MSDN Premium4 subscription is included in this Program. Additionally, VSTS Team Foundation Server (Standard Edition) is available for use by the entire development team
For production use - that is, to deploy and host Startup's new "software–plus-services" application to be delivered over the Internet to Startup's customers:
– Windows Server (all non pre release editions); SQL Server (all non pre release editions), BizTalk Servers and Office SharePoint Server for Internet Sites hosting, and;
– Systems Center for managing hosting server operations.
You're quite right that SQL Server Express (and for that matter Oracle Express Edition) come with limits on CPU, RAM and amount of data.
That being said, how large is large? Ten million rows? A billion? 100 billion? You haven't defined what constitutes "large" and people have very different ideas about this. Ultimately you will find that join performance breaks down on any database (at different points) to the point where your application architecture will need some form of sharding/partitioning.
MySQL is good enough for this and does it on Flickr and Facebook, which are probably larger than you'll be.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With