Software As A Service One Database Or Many
Apr 21, 2008
I am creating a software as a service product and I am going back and forth on a database design issue.
Should I create a separate database for each new customer, or create one big database and store all customers and do the standard relational database design idea.
The clear choice for me is create a new database for each new customer, but the only problem is rolling out schema updates and bug fixes. If I have 5000 customers and then 5000 databases, how to manage creating a new table, editing a column name or data type, editing a stored procedure, or creating a new trigger on 5000 separate customer databases?
So, there are many benefits for making a new database for each customer that I can think of:
With separate databases, customer’s data are each separate entities, it is the whole encapsulation/modular design idea. It is impossible to get data out of a different customer databases. With one large database a query that forgets to include the WHERE clause selecting a customer_id can cause havoc.
With one large database all customers are located in one, actually maybe a few, files. So many of the selects, inserts, deletes will scan all customers data, when all they ever need or care about is their own data. Even with indexes, inserts and deletes become slower with one large database as the size of the database increases.
What happens if you have one large database with 100,000 customers and say a table with 30 million records? Then you need to spilt the database across multiple servers, a cluster, because one machine inst cutting it. With a single database design, cluttering becomes a headache. With multiple databases, no problem, just setup a new server and start adding new databases.
Also, last thing is database integrity. With one large database if you database gets corrupt or accidentally deleted, or modified in a way which causes unwanted results all your customers are screwed. With multiple databases problems only effect the one single customer, again each customer is a separate entity.
The only problem of course with multiple databases, and the root of my question; how do I manage database schema maintenance? How do I effectively roll out changes to each customer database schema?
View 6 Replies
Jul 27, 2007
I have a tiny MySQL database (10MB) and I'm looking for some remote backup service. Someting that will backup the database and let me recover it if the host is in trouble.
I strongly prefer something simple and fully automated.
View 5 Replies
View Related
Jan 4, 2008
I have a phpBB forum, which uses MySQl database.
For the last two months the forum has been going down every couple of days because the database service has been continuously stoped running on the server with no reason.
What can cause such a frequent database failures?
Can someone attack the forum/database/server in a way that will cause the above problem?
(there is a good reason I consider this possibility very seriously)
How can I prevent futher database failures?
View 2 Replies
View Related
Apr 27, 2015
I have a Server with Centos7 + Plesk 12 and in the service configuration say that the Bind service is not installed, from command line i have install named services and make a manual configuration the first domain, but when I return to the service page in plesk... the problem is the same, the Bind Service is not installed; then the problem is when i want create a new hosting i need to go to the ssh to make the DNS configuration...
View 1 Replies
View Related
Sep 10, 2014
Got following Problem: Unable to find service node for web service on domain with id = 0
After a Check from [URL] ....
I tried this: [URL] ....
Result:
+--------------------+--------------+---------------------------------------+------------------------------+------------+
| Domains | Service Type | IpAddressesCollections.ipCollectionId | Current value of ipAddressId | Have to be |
+--------------------+--------------+---------------------------------------+------------------------------+------------+
| XXXXXXXXXXXXX.org | mail | 30 | 0 | 1 |
+--------------------+--------------+---------------------------------------+------------------------------+------------+
Resolution:
mysql -uadmin -p`cat /etc/psa/.psa.shadow` -Dpsa -e 'Update IpAddressesCollections SET ipAddressId = 1 WHERE ipCollectionId = 30'
Result: ERROR 1062 (23000) at line 1: Duplicate entry '30-0' for key 'PRIMARY'
View 16 Replies
View Related
Jun 24, 2015
Deleted a domain workspace in Parallels Plesk and now I am getting this error when signing into the panel:Looked at the logs and been trying multiple commands (including the bootstrapper repair etc.)I found the full error from the logs:
[13-Jun-2015 16:35:33 UTC] PleskDBException: Unable to find service node for web service on domain with id=6
file: /usr/local/psa/admin/plib/PhDomain.php
line: 1404
code: 0
trace: #0 /usr/local/psa/admin/plib/Smb/Subscription/Domain.php(490): PhDomain->getWebHostingServiceNode()
[code]....
View 1 Replies
View Related
Jul 6, 2014
We are currently using Parallel Plesk 11.0 version and there is one requirement from microsoft provider to add the exact same values in SRV Records.
Priority of Service = 100
Weight of Service = 1
but these values are not available in the dropdownlist. attached are the screenshots.
View 9 Replies
View Related
Jun 15, 2014
Clean install on openSUSE 13.1
After deleting a domain, we got the following error which rendered the panel useless.
Internal error: Unable to find service node for web service on domain with id=5
Message Unable to find service node for web service on domain with id=5
File PhDomain.php
Line 1402
Type PleskDBException
Go To Previous Page
View 6 Replies
View Related
Nov 20, 2014
When I update servers via CLI autoinstaller, I always (afair) get this mysqldump error message:
Code:
Stopping psa... * Stopping Plesk engine pool manager sw-engine-fpm
...done.
done
-- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.
mysqldump: Got error: 1049: Unknown database 'atmail' when selecting the database
===> Cumulative APS controller database (apsc) upgrade has been started.
===> Cumulative upgrade of APS controller database has been completed.
===> Cumulative Plesk database upgrade (revertable stage) has been started.
===> Preparing Plesk database upgrade (revertable stage).
===> Cumulative upgrade of Plesk database (revertable stage) has been completed.
Reading package lists...
There is no database "atmail" on any of our Plesk servers. Simple solution should be to first check if the DB exists before performing actions on it.As a bonus, perhaps it would be possible to suppress the warning about mysql.event.
View 5 Replies
View Related