I am getting the data from 2 sources like below
 
Data 1
| E-Mail | Name | 
| aa@aa.aa | AA | 
| bb@bb.bb | BB | 
| cc@cc.cc | CC | 
 
Data 2
| E-Mail | ProjectName | Tech1 | Tech2 | 
| aa@aa.aa | P1 | CDP | SQL | 
| aa@aa.aa | P2 | AEM | AdobeAnalytics | 
| bb@bb.bb | P1 | CDP | SQL | 
 
E-Mail is primary identity in both. The relationship is going to be many-to-many, as multiple users can have multiple projects and multiple projects can have multiple users linked. Data 1 is ingested using b2b person schema.
 
What could be the best way to architect this in AEP? Should we create a custom schema for Projects and on the backend profile will be generated itself in such a way that I could see multiple projects under a profile of a user? Can I also be able to get this data in real-time and also in audiences i would able to select profiles on the basis of project or technologies worked ? or should we go for b2b opportunity schema which already have many-to-many relationship with b2b person?