Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

Best Performing Free DB

Posted on 2011-05-09
14
Medium Priority
?
295 Views
Last Modified: 2012-05-11
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?
0
Comment
Question by:StumpedAndGrateful
  • 6
  • 5
  • 3
14 Comments
 
LVL 40

Expert Comment

by:mrjoltcola
ID: 35724298
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
 
LVL 30

Assisted Solution

by:Kerem ERSOY
Kerem ERSOY earned 900 total points
ID: 35724811
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
 

Author Comment

by:StumpedAndGrateful
ID: 35724816
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
What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

 
LVL 40

Accepted Solution

by:
mrjoltcola earned 1100 total points
ID: 35724862
>>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
 
LVL 40

Expert Comment

by:mrjoltcola
ID: 35724875
>>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
 
LVL 30

Assisted Solution

by:Kerem ERSOY
Kerem ERSOY earned 900 total points
ID: 35724936
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
 
LVL 30

Expert Comment

by:Kerem ERSOY
ID: 35724952
>>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
 
LVL 40

Expert Comment

by:mrjoltcola
ID: 35724961
>>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
 
LVL 30

Expert Comment

by:Kerem ERSOY
ID: 35724963
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
 

Author Comment

by:StumpedAndGrateful
ID: 35724986
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
 
LVL 40

Expert Comment

by:mrjoltcola
ID: 35725007
KeremE, you aren't reading the license. You need to read. Specifically (b) and (c) and (d)
0
 
LVL 30

Assisted Solution

by:Kerem ERSOY
Kerem ERSOY earned 900 total points
ID: 35725017

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
 
LVL 40

Assisted Solution

by:mrjoltcola
mrjoltcola earned 1100 total points
ID: 35725026
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
 

Author Closing Comment

by:StumpedAndGrateful
ID: 35725084
You guys hit the ball out of the park on this one.  I'm going with MySQL.  Thanks!
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This post contains step-by-step instructions for setting up alerting in Percona Monitoring and Management (PMM) using Grafana.
In this blog post, we’ll look at how using thread_statistics can cause high memory usage.
Via a live example, show how to restore a database from backup after a simulated disk failure using RMAN.
In this video, Percona Solution Engineer Rick Golba discuss how (and why) you implement high availability in a database environment. To discuss how Percona Consulting can help with your design and architecture needs for your database and infrastr…
Suggested Courses

580 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question