I am building a python application with a lot of interactions between Amazon Redshift and local python (sending queries to redshift, sending results to local etc...). My question is: what is the cleanest way to handle such interactions.
Currently, I am using sqlalchemy to load tables directly on local thanks to pandas.read_sql(). But I am not sure this is very optimised or safe.
Would it be better to go through Amazon S3, and then bring back files with boto, to finally read them with pandas.read_csv()?
Finally, is there a better idea to handle such interactions, maybe not doing everything in Python?