Best Performing Free DB

I am looking at what database to use for my application.  I am particularly interested in the number of concurrent connections allowed and the speed at which the database will perform.  I had been looking at MySQL and MS SQL Server 2008 Express.  Does anybody have any recommendations?
StumpedAndGratefulAsked:
Who is Participating?
 
mrjoltcolaCommented:
>>1) What does power vs. speed mean, as far as databases are concerned?  I'm a novice as you can see.

Power = capabilities, overall features / options available to you as a DBA or programmer

>>2) Am I correct in understanding that you think MySQL is slower than MS SQL Server?

No, I didn't say MySQL was slower. I said MySQL is possibly faster due to it being more lightweight as far as features.

>>3) If I use MS SQL Server Express, I am probably going to divy out one database into several, so that they stay under the 10 GB limit.  Are there going to be performance related issues from constantly having tables in different databases joined, etc?  

Yes, that will cause performance issues. A distributed join is much slower.

>>Will this slow down SQL Server enough that I should re-consider MySQL?

Yes. I would never go into a design planning on building a distributed database just to work around size limitations in free editions. If my requirement was > 10gb, I would avoid any of the express editions. If anything, duplicate enough of the data across the databases to avoid those joins.
0
 
mrjoltcolaCommented:
Both are good options. Also throw in Oracle Express. The db size limit is now 11gb.

As far as raw speed, I recall that MySQL has some pretty good latencies, but this is due to a limited feature set. Lightweight features = easier to perform.

I've never chosen Oracle or SQL Server for speed, rather power and integrity features.

If you really wanted raw speed then you should look at Berkeley DB / SleepyCat, otherwise, look at the free DB with reasonable speed and the most power.
0
 
Kerem ERSOYPresidentCommented:
Hi,

Oracle does not have a free version but both BerkelyDB and MySQL are in Oracle's portfolio now. So you can go for them.

When it comes to MS-SQL Server 2008 Express it is limited to 1 Core (you can run it on a server with multiple cores but it will use only one of them)  + 1 GB memory (you can use it over system with a large memory but it would make use of the first GB only)  and 4 GB (10 GB with 2008 R2) storage. It also lacks agent service so you can't have scheduled tasks such as backups etc. So it is not actually for production but only for learning purposes.

In this case I'd go for Free Open Source databases. You can compare MySQL or Postresql. If this is a smaller application and require only basic functionality you can go for the Fre & O/S BerkeleyDB.

Cheers,
K.
0
Cloud Class® Course: Microsoft Exchange Server

The MCTS: Microsoft Exchange Server 2010 certification validates your skills in supporting the maintenance and administration of the Exchange servers in an enterprise environment. Learn everything you need to know with this course.

 
StumpedAndGratefulAuthor Commented:
Thanks for the quick response!

A few further questions:

1) What does power vs. speed mean, as far as databases are concerned?  I'm a novice as you can see.

2) Am I correct in understanding that you think MySQL is slower than MS SQL Server?

3) If I use MS SQL Server Express, I am probably going to divy out one database into several, so that they stay under the 10 GB limit.  Are there going to be performance related issues from constantly having tables in different databases joined, etc?  Will this slow down SQL Server enough that I should re-consider MySQL?
0
 
mrjoltcolaCommented:
>>KeremE: Oracle does not have a free version but both BerkelyDB and MySQL are in Oracle's portfolio now

Oracle Express edition is completely free.
0
 
Kerem ERSOYPresidentCommented:
You're welcome

1) Power vs Speed is that. If you look at Full featureds of MS-SQL it would:
     - Allow you to mirror databases,
     - Allows merge replicateion (both master and slave can upradate data individually but the DB stays updatated at both ends)
     - Keep remote copies with slow links  Log Shipping,
     - Allow oracle  replication
     - Utilize all your memory and process power
     - Have tolls for database optimization suche as tuning advisor, sql profiler etc.
     - Allows the use of OLAP functionality (SQL Server Analysis Services or Advanced Analytics)

These are powerful features for MsSQL and none of them are available for you with MS-SQL Server 2008 Express. If you need one of these features you can't use Express.

Since MySQL are already lacking most of these features it is of course a bit faster than MySQL. Though it has no limitations on CPU, Memory DB Size etc. So if all your needs are basic and you don't want memory or CPU limit you can go for MySQL and it will be faster since it is a simpler database application Though you can use widely available tools to make MySQL act like a full fledged MSSQL but it requires experience and fluency with using these tools.

2) In Theory MySQL must be faster than MSSQL. But Iam not sure you'd notice it if you're at the client end of an application. But it all depends on what kind of queries you use, how many concurrent connections you have etc.

3) 10 G limit is for 200 Express R1 ! onl but it requires you to use 64 bit os etc. Yeah usage of join always cost you some time and especially if you do them on very large databases you'll actually suffer. But if we're talking about a web application with small amount of data it won't be that different. But when you're stuck in development and you don't know what goes wrong at the DB side you won't have much tools to analyze the situation with Express. This is why Micorosoft has another product called MSSQL 2008 Developer Edition which has none of the limitations of Express but licensed to be used by a developer for non-production purposes and it is around $50 per instance.

In fact what DB to should not be considered lightly. But if we're considering a web application which is doing only standard select/update queries it is not that hard to replace DB's. BTW nowadays MySQL comes with Cluster support too.


   
0
 
Kerem ERSOYPresidentCommented:
>>KeremE: Oracle does not have a free version but both BerkelyDB and MySQL are in Oracle's portfolio now

>Oracle Express edition is completely free.

Oracle Express Edition won't allow you to use it in a produstion environment! You can only use it "internally"

0
 
mrjoltcolaCommented:
>>Oracle Express Edition won't allow you to use it in a produstion environment! You can only use it "internally"

You are misinformed, this is not true.
0
 
Kerem ERSOYPresidentCommented:
Here are the licensing terms of Oracle:

http://download.oracle.com/docs/cd/B25329_01/doc/license.102/b25456/toc.htm

License Rights

We grant you a nonexclusive, nontransferable limited license to use the programs for: (a) purposes of developing, prototyping and running your applications for your own internal data processing operations; (b) you may also distribute the programs with your applications; (c) you may use the programs to provide third party demonstrations and training; and d) you may copy and distribute the programs to your licensees provided that each such licensee agrees to the terms of this Agreement. You are not permitted to use the programs for any purpose other than as permitted under this Agreement. Program documentation is either shipped with the programs, or documentation may accessed online at http://www.oracle.com/technology/documentation/ .
0
 
StumpedAndGratefulAuthor Commented:
Wow!  This is all very good info!

I will be creating a client-server desktop application.  It sounds like MySQL is the way to go.  I am a little intrigued by BerkeleyDB though, since you all said it was the fastest.  How does it compare with MySQL?

Thanks!
0
 
mrjoltcolaCommented:
KeremE, you aren't reading the license. You need to read. Specifically (b) and (c) and (d)
0
 
Kerem ERSOYPresidentCommented:

Here's more info on BerkeleyDB.

Please keep in mind that though it is theoretically  the fastest you can access BerkeleyDB over an API call and not over the network. If you're thinking to separate application server and DB server you'll have difficulty to do that.


Cheers,
K.
0
 
mrjoltcolaCommented:
BerkelyDB isn't a SQL engine, and isn't recommended unless you need very specific, raw performance. You have to use an API against it, not SQL. So it is apples to oranges. I only mentioned it because it has a very specific market, such as embedding where a SQL engine is not needed and small code footprint is desired, along with raw performance.
0
 
StumpedAndGratefulAuthor Commented:
You guys hit the ball out of the park on this one.  I'm going with MySQL.  Thanks!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.