
Is AWS Aurora a sound reason to start with MariaDB/MySQL? - malloryerik
Starting a new online project means choosing a database, and switching costs seem high. Even a prototype or MVP would ideally use the same database as later versions.<p>Does it make sense then to choose MariaDB or MySQL so that some day I can drop it into Aurora (starts at large instances)? Otherwise I&#x27;d likely go for Postgres... Server in nodejs...
======
gregw2016
In my view it depends on what you want.

It's not obvious but in my view, Aurora does not have a great scalability
story, it's more of a reliability play currently. It can give you greater
throughput due to the internal replication of data, but not faster queries
than you can get on your own big server (owned or rented) if you spend the big
bucks. When you are getting a big server, it is not particularly cheaper over
time, although it does reduce/remove the need for capex and let you spend
opex. It is however wonderful if you want to reduce the need for a DBA and/or
have really easy to setup and manage replication and resiliency to hardware
failures for your database. There aren't great MySQL open source or AWS MPP
options out there for scaling-out in my view (MySQL Cluster requires you use
NDB tables and MySQL Fabric imposes some significant shard key limitations.)

Postgres-based scale-out options include AWS Redshift (for analytics) or open
source Greenplum (for analytics) or, for more regular web/oltp-type traffic
the recently open sourced citusdb. The latter two you presumably could run on
AWS EC2 instances.

To me the scale-out story for Postgres looks better than MySQL. But if easily-
managed reliability is more of a concern, I would probably go Aurora.

~~~
malloryerik
Very nice answer, thanks.

------
KingMob
That's a bit of a premature optimization. By the time you might have heavy
loads, Aurora might support Postgres, or you may decide not to use AWS. If
you'd prefer Postgres currently, go with that.

~~~
malloryerik
True enough.

------
the_arun
I guess, you use any database of your choice with a layer of abstraction.

------
smt88
Use Postgres

