Windows Application with many users and a single SQL database
-
30-06-2021 - |
سؤال
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
المحلول
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 .
- Normalize well
- Use integer Key values where possible (For performance)
- 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.
نصائح أخرى
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