We are revamping our product which gets highly customized for each client. Currently we have to maintain separate database for each client which heavily affects persistence layer.
Our major goal for new database schema is extensibility. I am not an expert database designer thus require input from experts :).
I am thinking about extension (sister) table approach. For every core table there could be a sister table where extended fields would reside. This way, we can develop separate persistent layer for core and extension tables.
What if i divide the it into two databases. Core and Extension databases. This will ease the maintenance.
Making separate databases will not allow you the native Referential Integrity using PK and FK. It also adds compexity to maintainance.
If you RDBMS supports schemas, you should take advantage of multiple schemas in a single database.
Also, if you are new to databases, you should learn about normalization and database design (there are some good threads on this site).