c# - Using multiple dynamically created databases in project -
after surfing on stackoverflow found out, there many projects uses multiple databases. in project create them dynamically. referring this answer given reason (construction erp, 1 database 1 client) important enough? can give pros , cons of project structure?
the whole application architecture depends project sale model.
if host database clients (eg. of them prefer host database in environment), recommend stay 1 database cover customers operate.
i've worked on erp system dedicated 2 clients, database hosted on our environment data separated between customers. did adding 1 additional table "customer" , every entity differs customers has foreign key table. if asked me performance, said it's not problem @ - creating proper indexes on tables, delete old unnecessary data , deployment of kind of caching server between application , database deal it. had database approx. 120gb on disk, , tables had approx 84 mln. records. (i've worked database sized 2tb on disk, sharepoint database it's little bit different story)
pros:
- easiest database maintaining
- possibility migrate separate database on customer's request
- migration 1 version takes smaller time
cons:
- while yours database size grows, your's db server must grow too
- more complicated architecture beginners (but i'm don't know more complicated - generating every time new database new customer, or implement correct solutions architecture once)
- if yours customer requests specific solution differs others - need setup separate environment , migrate data
and finally, according statistics - development costs lower in comparison maintaining costs, if reduce maintaining costs implementing proper architecture solution profit project greater.
Comments
Post a Comment