Your customer is developing a chat application for social networking. Users can send messages in real time, which may include text, images, and videos. The application needs to handle millions of users with low-latency message delivery and support flexible data structures for user profiles and chat metadata. Which database should you use?