A social media startup is currently designing their backend services, including the database architecture for their new messaging feature. The messaging system requires efficient handling of complex queries, including full-text searches and geographic location-based queries for their expanding global user base. Which database engine should the startup use to enable these capabilities in a cost-effective manner?
DynamoDB, because of its managed scalability and performance aspects
Amazon Aurora, as it is a MySQL and PostgreSQL-compatible relational database built for the cloud
MySQL, given its widespread adoption and ease of use
PostgreSQL, due to its advanced indexing and support for full-text search and geospatial data