AEM supports pulling/inserting data from a relational database.
For this use case -- you need to use DataSourcePool and write the service to perform database operations. See this AEM article as an example:
Or you can port all the data to the AEM JCR. This is your decision. Some people use a relational database and others use the Java Content Repository to store data for AEM sites.
Do we essentially need to discriminate between structured and unstructured data? The site is quite dynamic and will require a lot of querying. Which approach would work faster, Using the Data source pool for all the data or moving the blobs to AEM and then using the Datsourcepool for structured data?
which should be more faster.
Where the data resides should be based on what is the source of truth.
Keeping the data within AEM is always better considering the performance, network latency etc..
However, if this is the common content which needs to be accessed by multiple systems, then its better to keep it in RDBMS itself.
Irrespective of whether the data is structured or unstructured, once you have the information architecture defined in AEM, you should be able to create a one time script and migrate the data from DB to AEM.