I am working on a PHP application that intends to ease company workflow and project management, let\'s say something like Basecamp and GoPlan.
I am not sure on what
You can start with a single database and partition it as the application grows. If you do this, there a few things I would recommend:
1) Design the database in a way that it can be easily partitioned. For example, if customers are going to share data, make sure that data is easily replicated across each database.
2) When you have only one database, make sure it is being backed up to another physical server. In the event of a failover you can revert traffic to this other server and still have your data intact.