I have a co-worker that creates a new database for every CONTROL (that's right, I said CONTROL) on a website that we both develop for. My workplace purchased a portal from a vendor and my co-worker and I develop custom controls to work inside the portal. However, my co-worker and I have been butting heads.
No place that I have ever worked created a new database for every control created on a portal site.
He creates a new database (not a new table) for every control he creates on this portal. His reasoning is that he wants to isolate an issue if one were to occur and if the database were to be compromised then it would be isolated to that one controls database.
That sounds good, but I believe it causes other problems such as: - He Replicates tables and data from other databases - Managability of duplicated data - If any of the controls pull data, it doesn't guarantee it's the latest and could cause calculation issues in other areas esecially if it's a financial control - Upkeep of the tools that do the update of the duplicated data - Multiple instances will consume more overall ram and storage - Multiple instances will create more monitoring - Multiple instances will create more administration problems (maintaining new user accounts) - Multiple instances on a box will be harder to tune - Maintaining DATA INTEGRITY is easier with a single database
This guy has the same job title and responsibilities as I do, but I don't have the power to tell him to change his ways.
MY QUESTION IS: Is there a industry standard or rule that says not to create a new database for each control on a site?
Frustrating situation...