What's the best way to setup these 2 databases?

  • I'm doing some work for a small business & I'm looking for your opinions on the cleanest way to setup their system.

    They have 2 websites. One main internet website & one intranet. Each site has a separate database

    Their intranet

    --------------------------

    Database contains a lot of tables related to personal business stuff, including tables for client information.

    Their internet

    --------------------------

    Their company website includes a members (client) area. From here, client's can edit their client info among other things. The database contains all website related tables, including website account information (with a foreign key to client info from the intranet database).

    So currently, there's a lot of cross referencing going on. The website needs to reach into the intranet's database when a client wants to change client info. And the intranet site needs to reach into the website database from time to time for certain info as well.

    Here's the problem. The website database is hosted on a 3rd party server. 99.9% uptime. Great! The intranet however, is hosted on an internal server & goes down occasionally (a few times a month).

    How would you recommend proceeding? Should I merge these 2 databases into a single large db? Should I keep them separate but have them both hosted by a 3rd party host? I know it's a matter of preference but just looking for opinions on what you feel is the cleanest approach.

    Thanks

  • From the sounds of things, I'd probably keep the databases separate. It's not a question of whether or not there's a need for data between the two systems. It's more of a question of development and deployment processes. You don't want two different apps (or more) to be completely dependent on each other for deployments, maintenance, branching, etc. That makes things crazy. I would only combine the two if it was 100% clear that in fact they were the same app. But since it's not, keep 'em separate.

    Now, where to host them? I don't have enough information to even make a good guess. In general, I'd say host them closest to where they're used the most in order to reduce latency. If that means hosting one in one location and one in the other, so be it.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

  • The internet site needs to be able to function stand-alone. You could periodically push data from the intranet to the internet db(s), but you don't want the internet db dependent on the intranet db.

    You can leave the intranet db dependent on the internet db for now, as it's extremely likely to be there when it's needed anyway.

    SQL DBA,SQL Server MVP(07, 08, 09) A socialist is someone who will give you the shirt off *someone else's* back.

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply