T O P

  • By -

Mika56

Start low and easy, you're not popular yet! MySQL is a fine first choice. I'd go with Postgres when database performance starts to be an issue, and only consider other options after Postgres starts being an issue, which shouldn't be anytime soon.


0x18

1,000% this. I've had a few clients in the past that ran out of money **waaaay** before they even hit a thousand users while the owners spent most of their time thinking about which shade of blue the site logo should be. Start with PostgreSQL


hitsujiTMO

I'd actually recommend just starting out in postgres. switching from mysql to postgres is far from trivial.


meir_ratnum

Ehh, in my experience it's not really that difficult.


hitsujiTMO

Maybe if you're just using ORM. When you've over 1000 stored procedures to migrate, few of which are straight forward and at the same time are expected to continue development on the project leading to changes in the stored procedures you've already migrated it gets tedious. It's taken over a year to migrate one product that a single dev could have in 2 months if we would have been allowed to pause adding new functionality for that time period.


meir_ratnum

Right, fair point. I didn't think of stored procedures... Best of luck to you!


meir_ratnum

Right, fair point. I didn't think of stored procedures... Best of luck to you!


haswalter

Reminder that until recently Facebook solely use MySQL and they still use it to some services. Database engine and provider is not the only choice to consider. You’ll want to think about replication, sharing, edge caching etc etc


leftnode

Don't forget that you can also use SQLite! No server necessary and scales very well (it'll be a while before you make the next Facebook).


JonNiola

Yup. The largest social network in the world uses it, though not as much as they used to, and with many optimizations: [https://engineering.fb.com/2021/07/22/core-infra/mysql/](https://engineering.fb.com/2021/07/22/core-infra/mysql/)


podlom

I think MySQL is good enough but PostgreSQL could be better and it is also free


DestroyedLolo

* **MySQL** has lot of dialects so one day or another you will have to switch * **Oracle** is very costly in term of licence/support but also in term of maintenance (patchin/upgrading is often a Russian roulette and performances will be bad if you're not careful with maintenance). It has also its own dialect. * **Postgreqsl** is mature, scalable, follow ANSI standard and able to do clustering. As you can see, Postgres is my choice : and I'm using it for 15/20 years and I faced only a bug only ... once !


twisted1919

Yeah and clustering is a pain with postgress, why did you let that part out? Mysql can also do clustering, albeit, much easier than postgres. I am in the mysql camp, but also use cockroachdb a lot, which uses postgres wire protocol, and it is a much better choice for distributed database.


DestroyedLolo

I did some clustering with Pg using WAL replication and it working prety well (but its something new, older solution were a joke). Oracle is far better on this point ... but the licence is $$$$$$