I'm currently designing an architecture in aws for transactional data. I have some information about transactions that firstly reaches dynamodb for fast analysis, and then is sent to Aurora with the information splitted and loaded to the correct tables with their relations. For example, an event is fired to dynamodb with some client id, some new device, an event type and some event data. All this information is then transformed and sent to Aurora, as, as far as I know, it has the fastest relational I/O.
Now I have to give the users an option to run complex queries for analysis and predictions. They nead near-real time dashboards for one hand, and complex analysis in other.
I have been investigating quite some time yet and I couldn't reach to a conclusion on wether I should make a backup to s3 and run Spectrum, or if I should run Aurora parallel queries on them. What are the benefits of one architecture over another? Should I even do it like this, or is it a better way?