简体   繁体   中英

Which aws database should I use?

I have a legacy project that I like to migrate piece by piece. Now, the data is tightly connected.

For example:

  • Flight information
  • Crew info
  • Passengers info
  • Airports
  • Flights can have many airports too

I also would like to have the database that is scaleable and flexible in changing structure. I'm using AWS.

I had a look at DynamoDB, it has the flexibility that I'm looking for but when I found it's hard to query a particular single item in 1-to-many for example.

I also know how inflexible it is to change structure or schema in RDS.

Any suggestions?

The decision is whether to use a NoSQL database or a Relational Database that uses SQL .

In situations where you will be querying information across many types of data (eg "How many flights from LAX with more than 100 passengers departed more than 15 minutes late" ), a relational database makes things much easier.

They can be slower, but queries are much easier to write. (For example, the above question could be done in one query.)

A NoSQL database is excellent when you need predictable performance (reads per second), but cannot join information across tables.

Once you have picked your database type, then you can choose the database engine . Amazon Relational Database Service (RDS) offers:

  • MySQL (Open-source, low cost)
  • Aurora (Cloud version of MySQL, much more performant)
  • MariaDB
  • Microsoft SQL Server (higher cost)
  • Oracle (higher cost)

If in doubt, go with Aurora since it is more cloud-native and is fully compatible with MySQL. There is now a serverless version of Aurora that can automatically scale and even turn off when unused to lower costs.

As to flexibility of schemas, all SQL databases basically offer the same flexibility via ALTER TABLE .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM