The second solution looks like more plausible. You can opt to use a database environment outside your Beanstalk, in fact that is the more recommended approach (https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/AWSHowTo.RDS.html).
If both data collection and data preview app are meant to be separate apps, you actually can deploy them as 2 "application" in Beanstalk, each connected to the same database instance. These 2 application can have separate environments if you need dev/staging/prod version. And each environment you can design your web app to be scalable using load-balancers.
Elastic Beanstalk stuck aborting current environment operationasked 9 months ago
Unable to swap Environment URL's on Elastic Beanstalkasked 4 years ago
How to deploy to single instance Elastic Beanstalk worker environment using CodePipeline?asked a year ago
Deploy to elastic beanstalk across accountsAccepted Answerasked 9 months ago
AWS Elastic beanstalkasked 17 days ago
Multiple applications on same environment of Elastic Beanstalkasked 3 months ago
Do Elastic Beanstalk Web Server Environment Need A Public Elastic IPasked 7 months ago
Elastic Beanstalk Error deploy python flask application sqlite3asked 6 months ago
Deployed One laravel app on AWS Elastic Beanstalk & EKS Same Database RDS WAccepted Answerasked 3 years ago
Elastic Beanstalk not terminating environment from pipelineasked a year ago