This may have been asked before, and if so I apologize. I always do my research before bugging anyone, but I haven't found a good solution to this yet. Any wisdom the community elders can share would be very appreciated.

BACKGROUND

I have an intranet site set up ... a single drupal 7 install on a Centos6 LAMP. There are content types for Contacts, Accounts, Document DMS, Webforms, and Calendar/Events.

"Contacts" have a "contact type" field (i.e. customer, employee, vendor, etc ...).

"Accounts" are the "grouping" nodes. Accounts contain entity reference fields for the employee assigned to the account, the customer, vendors working on the account, etc ... Accounts also contain an "account number" field.

Customers complete "webforms" which contain data necessary for completion of paperwork associated with each account. The webforms also contain a "account number" component.

There are a few dozen views which produce printable documents. The views pull in data from webforms and field data from account and contact nodes all centered around "account number" conditionals.

Calendar = The rules module creates a sort of work flow by creating various ticklers for tasks and events based on created "accounts", documents added to the dms, webforms uploaded, etc ...

QUESTION:

We have thousands of "contacts" and hundreds of "accounts". I want to clean it up and make it more efficient and scalable by dividing the foregoing applications into different drupal sites which (for now) would reside on the same LAMP server.

Right now, I have sites set up on the same Centos6 LAMP each with it's own database:

1. Contacts
- Minimal install with only the custom "contacts" content type.
2. Accounts
- Minimal install with only the custom "Accounts" and "Contacts" content type.
- Needs to be able to reference "contacts" from "read only" lists of active contacts imported from Contacts site.
3. Document DMS
- Minimal install tricked out with ICME configuration
- Needs to be able to reference "Accounts" from "read only" lists of active accounts imported from accounts site.
4. Calendar
- Minimal install tricked out with calendaring modules.
- At the very least, needs to be able to reference "read only" lists from contacts and account views.
- May (in the future) add functionality to return the Rules module "workflow" integration, but first things first.
5. Automated forms (views)
- Minimal install with entity reference, webforms, print module, etc ...
- Needs "read only" access to sites #1-4.
- Views using data from sites #1-4, webforms, etc ... to produce document views.

So, my question is this ... Is there a module which would provide easy linkage between the databases?

I would use the "domain" module, but the sites are set up internally like this:

Contacts
localhost/contacts
192.168.1.122/contacts
99-9999-9999:80/contacts (by VPN)

Accounts
localhost/accounts
192.168.1.122/accounts
99-9999-9999:80/accounts (by VPN)

ETC ...

I know how to set up slave database references in the settings.php file, but rather than redoing all of my prior work to incorporate all of these forms and content types into several custom modules, I'd rather start by seeing if someone has developed a module to steer the access to the slave servers.

I thought "domain" would be a good option, but I'm not good at setting up virtual domains, separating out DNS's, etc ... and I would think there would be an easier solution when the slave database is in the very same mariadb installation.

Any thoughts would be very, very, appreciated.