In step2, I would save the docunid as a char field and let the sql-db generate a LongInt PK. Numbers are much faster in SQL than char.
Embedded Objects are hard.
- Multivalue fields maybe saved as their own m-n joined table.
- For RichText I once parsed their content as html with jakarta-http-client from Domino. Nsf was running on Domino Server and I wrote a loop which fired http-Get requests for all documents with richText.