ServiceNow - Reverse Engineering Data Model

Has anyone reverse engineered the ServiceNow data model?  I'm starting to look at this and was wondering if anyone could suggest an approach they have used (metadata API, excel metadata export, connection to underlying data store).

Regards,  Andrew