Skip to content

Can I use both RDBMS and NoSQL for the same mobile iOS app?

0

I am new to AWS services. Currently, I am trying to design the appropriate database to support the mobile iOS app input and output. I think RDMBS (like AWS RDS) and NoSQL (like AWS DynamoDB) would suit the best for my mobile app, given that I am expecting WRITE by user, and frequent READ by user. The data are indeed structured but it seems like NoSQL would allow a much quicker READ. I am wondering how to properly what are the AWS services I should select and set up for this scenario. I am also interested in setting up a Global Database to ensure data resiliency.

If there are resources that I can read more about how the set up would be great.

asked 3 months ago56 views
1 Answer
0

Yes, you can absolutely use both relational databases (RDBMS) and NoSQL databases together for your mobile iOS app, which is often called a "polyglot persistence" approach.

For your specific needs with structured data, frequent reads, and writes from users, here's how you might approach this:

AWS Database Options:

  1. For structured data and complex queries:
  • Amazon RDS for PostgreSQL or Aurora PostgreSQL-Compatible
  • Good for data that requires high transactional integrity and complex relationships
  1. For high-speed reads and scalable performance:
  • Amazon DynamoDB
  • Excellent for web and mobile applications with high read requirements
  • Provides predictable performance with seamless scalability

When to use each:

  • Use RDS/Aurora for complex data relationships, ad-hoc queries, and data that requires strong consistency
  • Use DynamoDB for user profiles, session management, shopping carts, and other data that needs fast access and can benefit from a more flexible schema

For global data resiliency:

  • Aurora PostgreSQL-Compatible offers global databases with write forwarding for active-active configurations across multiple AWS Regions
  • DynamoDB provides global tables for multi-region deployment with active-active configuration

Implementation approach:

  1. Identify which parts of your data model need relational capabilities versus which need speed and scalability
  2. Use Aurora/RDS for complex business logic and reporting
  3. Use DynamoDB for high-traffic user interactions and real-time features
  4. Consider using AWS Amplify, which provides tools to set up fully typed real-time APIs (powered by AWS AppSync) and NoSQL databases (powered by DynamoDB)

This hybrid approach allows you to leverage the strengths of both database types while addressing the specific needs of your mobile application.
Sources
Selecting a database for a SaaS application - AWS Prescriptive Guidance
Database configuration, backup, and failover - Web Application Hosting in the AWS Cloud
Choosing between relational (SQL) and NoSQL - Amazon DynamoDB
Concepts - AWS Amplify Gen 2 Documentation

answered 3 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.