I've also seen a system that instanced the database per customer and simply extended the schema with additional columns.
That worked great... until the thousands of instances had to be merged into a single unified schema.
That worked great... until the thousands of instances had to be merged into a single unified schema.