Question

I'm creating a windows application which is being used by many users say around 2000. I'm comparatively new to these kind of large volume database access projects. There are possibilities of multiple users access the database at the same time. Can you please guide me by explaining the various steps that I need to consider in developing a solution ?

Thanks,

Anish

Was it helpful?

Solution

I agree with Manish, sticking to best practices is Key. Here is a great link that gives some common mistakes to avoid:

Common Design mistakes to avoid

Some key considerations .

  1. Normalize well
  2. Use integer Key values where possible (For performance)
  3. Dont leave connections open longer than needed. Open, execute, close

Each open connection to a database takes resources on the server. With 2000 users if connections are left open your server will take a huge performance hit.

OTHER TIPS

For a window application you should consider build management i.e. when you release a new version of window app, all old versions should stop working. This can be done at application start-up by checking application version stored in database or dll.

http://en.wikipedia.org/wiki/Software_versioning

Another thing, you should look for Timestamp. I takes it on very high priority specially when you have 2000 users.

http://www.sqlteam.com/article/timestamps-vs-datetime-data-types

Between other ideas, you could consider adding (NoLock) to all your SQL queries to prevent user locking tables. Also have some good indexes and backup/maintainace plans.

Follow below link it give the best practices and recontamination to use shared database

http://www.oncenter.com/support/faq/Reference/Best_Practices_and_Recommendations.html

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top