We’re building Multi-tenant custom fields SAAS app. It’s a kind of a product catalog, where a customer is able to define own custom fields and eventually query/segment products by built-in, but even by those new custom fields.
Is there any recommendation for this feature implementation? JSON fields seem tempting but indexing seems limited (just 1 index, no compound indexes which include json fields). We’re even thinking about joined table just for custom fields and having custom fields as “real” table fields added by DDL on the fly. Is adding new fields/indexes expensive in CB for existing big tables?
The other question is about multi-tenancy. Pro/Con in CB with having for all tenants: common tables, common db, separate dbs, or hybrid, in terms of scalability and cost of managing.