Multiple Database Architecture
Posted: Tue Nov 28, 2006 5:33 am
Hi all,
I am in the process of writing an application with 2 core parts:
1. The customer part. Basically, the same source code used by many websites. Each website has its own database
to store information and various files and images etc that are unique to that website.
2. Our sales part. Our website for selling our product, allowing customers to order online and set up an account with us.
This is all written in php using OO techniques and of course classes (oh how I love them :0).
My query is regarding data storage and communication
So to recap, I have an administrator database for internal use and monitoring which sites we have signed up, and a number of customer databases .
At the moment I store the signup information in our administrator database. I then go ahead and setup the
customer site creating the necessary databases etc.
The following data will need to be passed between the administrator and the customers.
Ticket - Customer creates support ticket, we respond etc etc.
Configuration Settings - Administrator database stores website version number, plug ins, current status (pending, active, disabled), etc
I need advise on the best method to transfer this information between the administrator and the customer as they are using different databases.
As far as I can see my options are....
1. Websites share data through exporting and importing XML files
2. Shared database created accessible to administrator and customer systems for ticket info, configuration etc
3. Customers have access to the administrator database when required.
4. Interfaces created on administrator area allowing customer to post tickets to and request configuration data.
e.g http://www.mysite.com/getConfig?siteid=34234234
To give an idea of scale, lets assume we will have up to 1000 customer systems and 1 administrator system.
Your help is much appreciated.
C
I am in the process of writing an application with 2 core parts:
1. The customer part. Basically, the same source code used by many websites. Each website has its own database
to store information and various files and images etc that are unique to that website.
2. Our sales part. Our website for selling our product, allowing customers to order online and set up an account with us.
This is all written in php using OO techniques and of course classes (oh how I love them :0).
My query is regarding data storage and communication
So to recap, I have an administrator database for internal use and monitoring which sites we have signed up, and a number of customer databases .
At the moment I store the signup information in our administrator database. I then go ahead and setup the
customer site creating the necessary databases etc.
The following data will need to be passed between the administrator and the customers.
Ticket - Customer creates support ticket, we respond etc etc.
Configuration Settings - Administrator database stores website version number, plug ins, current status (pending, active, disabled), etc
I need advise on the best method to transfer this information between the administrator and the customer as they are using different databases.
As far as I can see my options are....
1. Websites share data through exporting and importing XML files
2. Shared database created accessible to administrator and customer systems for ticket info, configuration etc
3. Customers have access to the administrator database when required.
4. Interfaces created on administrator area allowing customer to post tickets to and request configuration data.
e.g http://www.mysite.com/getConfig?siteid=34234234
To give an idea of scale, lets assume we will have up to 1000 customer systems and 1 administrator system.
Your help is much appreciated.
C