I
think they are both tag like Text with Lookup names = '
type_of_book' and '
classification', and Column Header values = '
Type of book' and '
Classification' respectively. If you add those columns, and then do a database restore, the columns will be populated from the metadata.opf files - I
think 
Before proceeding make sure you have backups that you know how to restore.
I don't know where you got the term 'structure data'. It is not a term I'm familiar with in the context of calibre (or anything else) - it does not feature in the Calibre User Manual.
The nearest analogy I can think of the SQLite database schema, which is contained within the library database file (metadata.db), which calibre stores within each library folder, alongside the author and book folders. The database schema includes custom column definitions, as well as library specific information, such as book list layout - which columns, column order, and column widths; some plugins store data in metadata.db - e.g. View Manager and Reading List.
As already discussed there are techniques to separate the database from the library itself, but they are only worthwhile if you encounter problems in server/NAS environments. Apart from a very marginal improvement in startup times, moving the database to an SSD won't have any effect on calibre's performance - because once calibre has started the database is memory resident.
Calibre puts global preferences in your home directory in the 'calibre configuration directory', which includes things like plugins, spell check dictionaries, tweaks, keyboard shortcuts, last used window sizes/positions etc, etc - basically all things that are NOT library specific.
This calibre configuration directory can be accessed in the main GUI program (library manager) by going to
Preferences->Miscellaneous and click
Open configuration directory. It can be relocated via the CALIBRE_CONFIG_DIRECTORY environment variable.
BR