What DB to use?

  • Thread starter Thread starter Bob
  • Start date Start date
B

Bob

Some guidance is requested.

I will be developing an application in C#.NET.
This app will require a db, the organization size is approx 50 users,
all of which all part time users, maybe 10% users.

I know I can use MSDE which will handle 5 users without licensing
costs. Or use MSACCESS.

BUT

It is tempting to use one of the open source databases such as
firebird (interbase, borland) or mysql.

Question is should I say in the MS family when programming with C#
(and the visual studio .NET IDE) or is it relatively painless to use
an opensource?

I am using .NET for the productivity. I do not want to give up my
drag and drop to save a few hundred $. I do not want to incur a lot
of additional hand coding to use an open source db.

Question: Stay in the MS family or use an open source without much
pain and little additional coding?

Thanks
 
No matter which way you go, I strongly recommend you avoid using the wizards
and the drag and drop features. yes, they are quicker, but in the end, much
harder to maintain or to write generic all purpose code with.

I would stay with MS, just because it will be much easier to get support and
find answers when using common technology. A lot more people are using MSDE
and Access, then any of the open source database you mentioned.
 
MSAccess is not recommended for medium to high number of connections.

MSDE is NOT recommended for more than 5 concurrent connections.
Jet is NOT recommended for more than 20 connections.

MySQL does not support stored procedures.
At least not until 5.0 is released.
 
So you would/are recommend/ing?

MSSqlServer?

Development on MSDE on the desktop and migrate to MSSqlServer?

thanks
 
IMHO, Access provides a single benefit: portability. Because it is a file
type database, it can easily be deployed and transported regardless of what
is on the server. However, it has significant downsides that have nothing
to do with concurrency levels. For one, the Jet engine processing is
dependent on the client side machine. That means if some of your clients do
not have the latest Jet patch, they may get odd or incorrect results from
other users. Another downside to Access is that the SQL syntax is slightly
different. Another reason is that Access databases can corrupt. When it
corrupts, everyone must exit the database so that it can be repaired.
Another reason is that everyone must exit the db in order to properly backup
the db.

If you know that you can install something on the server, then I would go
with MSDE and let the performance levels dictate whether you should upgrade
to a full copy of SQL Server.

I would not make it my plan to develop your system with the idea of upgrade
from Access to SQL. It would be much easier to assume a SQL Server-like db
from the start so that you can benefit from stored procedures and such.


HTH,


Tom
 
Bob

Don't be fooled by the 5 concurrent connection restrictions with MSDE. If you write your app properly, as a disconnected system (open connection, do processing, close connection) with connectiong pooling, you can effectively support many more users than 5. Most of the time a user spends in an application is *usually* data entry. Only a small portion of time is spent connected to a db.

My recommendation would be to use MSDE, and upgrade to MSSQL if you find the system size/usage starts growing too much.

Cheers
 
(e-mail address removed) (Bob) wrote in @posting.google.com:
I will be developing an application in C#.NET.
This app will require a db, the organization size is approx 50 users,
all of which all part time users, maybe 10% users.

I know I can use MSDE which will handle 5 users without licensing
costs. Or use MSACCESS.

MSDE handles 5 concurrent connections at a time OR 5 T-SQL
statements at a time. The 6th is queued. If your app is well written (that
is, does open a connection only when it needs to and closes it right after
that) you can have on average 30 to 40 users on an MSDE database without
slowdowns, because not everyone is hammering the database all the time.
This also depends on the nature of your application of course.
It is tempting to use one of the open source databases such as
firebird (interbase, borland) or mysql.

Question is should I say in the MS family when programming with C#
(and the visual studio .NET IDE) or is it relatively painless to use
an opensource?

I am using .NET for the productivity. I do not want to give up my
drag and drop to save a few hundred $. I do not want to incur a lot
of additional hand coding to use an open source db.

Question: Stay in the MS family or use an open source without much
pain and little additional coding?

Firebird is very good, mature and its provider is very solid. I
find Firebird very fast and it's easy to setup and with IB Expert personal
edition (free) you have a great tool to administrate it.

You can't drag-drop stuff in a gui, so if that's what you want,
stick with MSDE and SqlServer.

FB
 
Back
Top