3 ms·
If you don't see a need to massively scale horizontally from the get go, SQL. (And if you need to ask the question, you are likely not equipped to handle parall
by necovek 4y ago
If you don't see a need to massively scale horizontally from the get go, SQL. (And if you need to ask the question, you are likely not equipped to handle parallelism/distributed issues coming out of not having ACID guarantees)
A good way to estimate that is if you'll be mostly writing to the database instead of reading from it.
You can also go half-way with things like object storage in Postgres (jsonb fields), so that's usually a no-risk choice for a project in an early phase of development.
- michallipka 4y agoThank you!
- zaphar 4y agoDepending on your needs you can go halfway with sqlite and the json extension as well. In general I start with sql and then when it becomes clear I need to I'll use a NoSQL to optimize or improve some portion of the application. I find that sql is usually the right default and you'll go quite a ways before you outgrow it. If you do reach the point where you are outgrowing it then your needs are going to make the correct NoSQL solution pretty obvious.