20 table db as separate database or just extra custom tables in Umbraco db?
I am looking to build a new website using Umbraco, but I have a completely separate database that I have designed that will store all of the relational data. This is around 20 tables.
Initially it will just be the website, but the plan is to also develop standalone mobile apps down the road that will use the relational data, but have no need for the Umbtaco tables.
In this case, should I have two completely separate databases so that the future apps can access the separate db without even seeing the Umbraco db? I would imagine this would be simple enough, essentially two separate connection strings, but is this 'best practices, and is it easy enough?
I have developed a site that had a few custom tables that I just added into the same db as Umbraco, and that was fine, but this is a bigger proposition.
I don't see a lot of benefit in putting it in a seperate database. The only reason I can think of is maybe some security and seperation of concerns, but I don't think that is that much of a benefit. Umbraco uses prefixes for all of their tables (cms-prefix, umbraco-prefix and UF-prefix (for Umbraco Forms). If you use the same convention and create your own prefix, another developer can spot really easy which are your custom tables.
But of course you can go with your own solution with two seperate connection strings. That would work perfectly fine too.
Thanks Jeffrey. It's really just a separation thing I guess, thinking that if someone else builds the mobile apps for me (unlikely, but possible) then they at least don't have access to the umbraco site db.
I was going to prefix my other tables as well if they were going into the same db, just to have them grouped.
Would there be much of a performance hit with two separate db's, do you know?
We prefer putting stuff in separate db then when it comes upgrades etc so umbraco db can be upgraded separately with content freeze but other db can still be used.
I think that as long as you do not need to do queries that use data from both databases, there should not really be a performance issue.
It might actually be more performing to have the separate databases as the global load of DB queries from your clients will then be spread over two databases instead of all targeting one...
20 table db as separate database or just extra custom tables in Umbraco db?
I am looking to build a new website using Umbraco, but I have a completely separate database that I have designed that will store all of the relational data. This is around 20 tables.
Initially it will just be the website, but the plan is to also develop standalone mobile apps down the road that will use the relational data, but have no need for the Umbtaco tables.
In this case, should I have two completely separate databases so that the future apps can access the separate db without even seeing the Umbraco db? I would imagine this would be simple enough, essentially two separate connection strings, but is this 'best practices, and is it easy enough?
I have developed a site that had a few custom tables that I just added into the same db as Umbraco, and that was fine, but this is a bigger proposition.
Any advice will be appreciated. Thank you!
Hi Daryl,
I don't see a lot of benefit in putting it in a seperate database. The only reason I can think of is maybe some security and seperation of concerns, but I don't think that is that much of a benefit. Umbraco uses prefixes for all of their tables (cms-prefix, umbraco-prefix and UF-prefix (for Umbraco Forms). If you use the same convention and create your own prefix, another developer can spot really easy which are your custom tables.
But of course you can go with your own solution with two seperate connection strings. That would work perfectly fine too.
Cheerio, Jeffrey
Thanks Jeffrey. It's really just a separation thing I guess, thinking that if someone else builds the mobile apps for me (unlikely, but possible) then they at least don't have access to the umbraco site db.
I was going to prefix my other tables as well if they were going into the same db, just to have them grouped.
Would there be much of a performance hit with two separate db's, do you know?
Daryl,
We prefer putting stuff in separate db then when it comes upgrades etc so umbraco db can be upgraded separately with content freeze but other db can still be used.
Regards
Ismail
Hi Daryl,
I think that as long as you do not need to do queries that use data from both databases, there should not really be a performance issue.
It might actually be more performing to have the separate databases as the global load of DB queries from your clients will then be spread over two databases instead of all targeting one...
Cheers,
Michaƫl.
Thanks guys. I think the upgrade thought is a good one, so I might go ahead with the separate databases just to keep things clean. Cheers.
is working on a reply...