I have a database design question regarding Fibery. The answer likely depends on Fibery’s underlying technical architecture. Here’s my use case:
I import datasets into Fibery from Google Contacts, LinkedIn, Substack, Discourse and various other sources that contain contact data. For each of these datasets, the email address is the unique key. What is the optimal way to combine these sources in Fibery?
Option 1: (This is what I do right now ).
Have one large Email database that combines everything from all sources. For example, all data imported from Google Contacts sits in field names that start with GC (to keep them visually together). All data imported from Substack sits in fields beginning with SS, and so on.
The benefit of this approach is that there is only one unique record per email address and the data from various sources sits conveniently together. It’s very easy to make overviews and formulas across multiple sources. The downside is that in practice many fields remain empty because the set of contacts in LinkedIn is not the same as the set of contacts in Substack, etc.
Option 2: (I am considering this)
Have one long but thin Email database and store the imported data in separate databases: one for LinkedIn, one for Google Contacts, one for Substack, etc. Create one-on-one relationships between those databases and the central Email database.
The benefit here is that there is no “waste of space”: no empty fields are used for data that doesn’t exist. The downside is that overviews and formulas need to do more work: they will have to traverse the various relationships to combine the data.
Question: How do I decide the best approach? What does it depend on? I now have 60,000 Email records (I use option one) which might grow to a few hundred thousand over the next years. Should I consider to refactor to option 2?
Is the number of records in the imported database relevant?
Is the number of formulas and combined overviews relevant?
Is the percentage of overlap between the imported databases relevant?
I’m sure all of this depends on the underlying architecture of Fibery and I don’t know much about that. If I’m going to make a switch from design option 1 to option 2, I want to do that now. And I don’t want to have to switch back later.
Any advice appreciated.