Question:
What is the database of choice for start-ups?
Kunal G
2008-03-17 19:57:39 UTC
I am thinking of start my own start-up and I am doing my initial study of which database should I be using. SQLServer, MySQL etc? I also went over Amazon SimpleDB webservice, but I found that one main drawback was not being able to do joins and also that all the data is stored as strings and more programming effort would be required to manage the conversions etc.

Any help would be greatly appreciated. If any of you think that Amazon SimpleDB is the right way to go, please explain the same!

Thanks
Six answers:
2008-03-17 20:16:15 UTC
This depends on what you want, but any of the major players would be fine.



MySQL is very suitable for commercial use. You can purchase a support agreement if you wish, but many businesses do fine with the free version. MySQL is suitable for some other tiny startups like Yahoo and Google, so it might be able to serve your needs as well.



SQL Server is fine if you're already invested in a Microsoft-based solution, but if you're looking at open-source as an option, MySQL is a terrific choice. It's free, but with the latest version it has most of the features of the most expensive db offerings including:



o nested queries

o views

o referential integrity checking.



Pair it up with apache web server and a good open-source programming language like PHP or Python and you've got a very attractive web environment for a very low cost. Many free web services offer MySQL support, so you can always test with little risk. (no free services that I know of support SQL Server)



MS Access is not suitable for anything but the smallest applications. It has well-known problems with large datasets or concurrent users. It's fine for small hobby databases or playing around with data design, but it shouldn't be taken too seriously for mission-critical applications.



Oracle is the big player, but it is probably cost-prohibitive for a startup.



Fortunately, all major DBMS systems use variations of the same SQL language, so it's reasonably easy to switch between them.



I honestly don't know much about amazon db. I've never needed it, as MySQL has usually served my needs well and it costs nothing.
George3
2008-03-18 03:34:46 UTC
Depends on what the startup will do - desktop?, web?, embedded (cellphone)? It also depends on how complicated your data model will be. If the data model is simple (a few tables) then it really doesn't matter which database you pick because you'll probably be able to switch databases if necessary. I'm guessing you're needs aren't that complicated since you are even considering Amazon's SimpleDB. If you're a one man startup or very small, I'd pick the database you seem to learn the fastest or are most comforatable with - at least to build a prototype with. If that's not the case, the skillset of the pool of potential hires is probably important.



Does a relational database even fit the need - maybe just storing a data structure in the language you're building the software in will do the trick? - otherwise you'll have to make choices on how best to get the data from a database into your application - and back again. These choices bring up the whole "impedance mismatch" problem:

http://en.wikipedia.org/wiki/Object-Relational_impedance_mismatch



For desktop and embedded, the simple, free SQLite is popular, even with big companies:

http://www.sqlite.org/famous.html

(Integrates well with C, Python, etc)



For the web, MySQL is very popular but PostgreSQL (with its awkward name yet powerful, mature Oracle-like features would be a good choice too) - both are FREE by the way.

There's even a small-scale version of Oracle that's FREE (Oracle Database XE) but it's limited to 4GB of user data and 1GB RAM - you can match it up a free, quick "app builder" of sorts: "Oracle Application Express" but if you out grow that you'll either have to pay for licenses or switch databases.

http://www.oracle.com/technology/products/database/xe/index.html



See the source below for tables comparing many more databases.
Energetic Dreams
2008-03-18 03:05:58 UTC
Lots of variables in your question. Are you going to develop for the web or desktop? Developing applications for one user or a many workstations connected to a network?



For the desktop I'd look at FileMaker. It can also be used on the web but MySQL or SQL Server are easier and better documented for that task.



Between those two I'd go with MySQL for the web - as a start-up you'll probably want to skip the licensing costs of SQL Server.
The_Doc_Man
2008-03-18 03:04:20 UTC
Doing a commercial startup? MySQL might have a restrictive license. Read the license carefully before stepping out. I know that it costs more, but SQL Server is more likely to support a multi-user environment.



As an idle thought, consider Access as a design tool. You can create your apps in Access and use MySQL or SQL Server as a backend when dumping into production mode. Access does true relational joins pretty well.
2008-03-18 03:26:30 UTC
Depends upon the use, commercial, personal, gaming, or user. I prefer MySql because the application that hosts the server is multi platform, so i can use it on linux/unix (i love unix, except mac os x). But Sql Server is more for enterprise and it can be ran on linux/unix but you need wine(emulator like application, actually a compatibility layer). Hope this helps.
Priya
2008-03-18 03:00:35 UTC
Use My sql, It is one of the advanced dbs..


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...