views:

873

answers:

4

I am going to develop a SNS website. Now I need to make a decision between Oracle XE and MySQL.

I know you are a group of experts. Can you share some comments on this?

Best wishes

Ariso

+7  A: 

The things I'd consider:

1) Are you ever likely to want to scale it up massively? If so Oracle will allow a very straight forward route to a massively scalable platform (you can pretty much just back up the database and restore it to a full Oracle instance).

2) Are you going to want to scale moderately? If so then Oracle XE is limited to 4Gb total DB size where MySQL can perform reasonably with significantly more.

3) Would the other constraints on Oracle XE likely impact you? It will only support 1Gb of RAM and 1 CPU for instance. If you think you're likely to need more than this for decent performance it's a non-starter. See the FAQ (http://www.oracle.com/technology/products/database/xe/pdf/dbxe_faq.pdf) for more details.

4) Do you have skills in either in your organisation? Not only as a developer but also for support, back up strategy and so on. If there are skills in place then likely go with whichever you have the skills for. Make sure you speak to the support guys too and get their input.

My gut feel says MySQL but use the above to weigh it up.

Jon Hopkins
+1 for #4. For a small project, understanding of the system is probably more important than the differences between DB engines.
Sean McSomething
yeah, +1 for #4. Of course you can hire an expert for either database system. And you can learn and learn and learn. But you should definitely look at what knowledge you already have (in-house).
VolkerK
A: 

I would choose MySQL. Oracle XE is just supposed to be used for a proof of concept kind of thing. It is like the crack dealer giving you a taste then charging you a butt load once your hooked :D

I think MySQL is a solid choice for small to midsized applications. But your anticipated size will negate your decision.

northpole
+1  A: 

This is a lot like the question : What language should I use? Long before you get to any scaling issues you are likely to run into experience issues. I think you should ask yourself more basic questions like:

  1. What type of support is available should you run into problems? For example: IRC, forums, bloggers, friends ;)
  2. How good is the documentation?
  3. Are there free tools?
  4. How well does your language support the database you choose?
  5. With your language what database is most often used with sample db code?
  6. What do you have the most personal experience with?

So for instance if you're using Ruby you'll probably want to go with MySQL. If you're using PHP, maybe the choice is a bit more blurred.

David
Why does it seem that Ruby only works well with MySQL?
jpartogi
+1  A: 

I would like to point out that Oracle has recently purchased MySql and that the MySql future is now a little bit up in the air. If you are very familiar with Oracle XE you may want to use it but I would like to point out the following reasons for not using Oracle.

Oracle licenses are the most expensive in the business (Sql Express might be better as Sql Server is cheaper)

Oracle is virtually un heard of in the hosting domain. Hosting providers will provide SqlServer, MySql and PostGre Sql but I can't even think of one that has Oracle Hosting.

runxc1 Bret Ferrier
Thank you runxc1, you have great point. And I will consider it.SQLServer is cheaper but it work with .net. so if this program running in .net , I will choice SqlServer Express.
ariso