• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
What would you do?

#1
[eluser]Matthew Lanham[/eluser]
Ok so i'm starting to question my choice of creating 1 database per client, as in reality i could be dealing with hundreds to thousands of clients....therefore this may not be the best solution....

Heres some info on what im doing:
Each client will need access to around 10+ tables of their data, each client could store anything up to 2,000 rows in each table....

What would you do?

#2
[eluser]pickledegg2[/eluser]
I'd be thankful for having hundreds to thousands of clients, and if I did, I'd easily afford a dedicated server that could handle hundreds to thousands of individual databases. Smile

On the other hand, I've done the single db thing in the past and it works fine...

#3
[eluser]Matthew Lanham[/eluser]
i have 2 dedicated quad xeon 3.0ghz servers

#4
[eluser]pickledegg2[/eluser]
Sorry bud, I thought your issue was with resources. Is the reason for your dilemma related to the job of administration of seperate databases then? Forgive my ignorance.

#5
[eluser]wiredesignz[/eluser]
Why would you want or need 500 databases when one database would do.

#6
[eluser]Matthew Lanham[/eluser]
Basically im just open to suggestions on the best way of doing things, i want to reduce the possibility of one client seeing another clients data, and keep administration to a minimum...i know mysql can handle millions of rows we have already built and host a site with over 34 million rows in their mysql database...im just open to see how other people feel the best solution is....

Row level security with a unique client code would be easier in terms of codeigniter, but will it pose an issue with possible infultration and changing the code to another and accessing another clients info? (this is very unlikely i know, but better safe than sorry)

#7
[eluser]wiredesignz[/eluser]
The only possibilty of cross linking data is poor code design.

#8
[eluser]Matthew Lanham[/eluser]
Yea, i think i will go for the row level, it will certainly make the login into the admin area much easier Smile

#9
[eluser]mikeyhell[/eluser]
What's your data schema look like? I know this was already answered but having individual db's for each user is really unnecessary on a large scale. If the project were small with only a few users it would be feasible, but still would create unneeded coding and db overhead. You said you have two xeon servers, but with good db schema and a good engine(google inno-db and myIsam to see where it's appropriate to use them) you should have a fairly low overhead on your db server creating more processing ability for your applications.

#10
[eluser]Lone[/eluser]
Quote:The only possibilty of cross linking data is poor code design.

Could not agree anymore!

If you were to accidently cross link data using a single db from poor code you are likely to have the same occurance happen with multiple DBs.


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2020 MyBB Group.