4 ms·
From the article: > By mid-2020, it was clear that product usage would surpass the abilities of our trusty Postgres monolith, which had served us dutifully thr
by bsder 5y ago
From the article:
> By mid-2020, it was clear that product usage would surpass the abilities of our trusty Postgres monolith, which had served us dutifully through five years and four orders of magnitude of growth.
This should answer your question. Just use a standard database and get on with coding features instead.
If you are successful enough to get to the point that sharding PostgreSQL becomes your bottleneck, you've won.
In addition, you really can't solve scaling problems up front. Where your bottleneck actually occurs will differ from where you think it will.
- flowerlad 5y ago> Just use a standard database and get on with coding features instead. Better still, choose a "standard database" that supports sharding.
- rtpg 5y agoSerious question: Let's say I'm using Django or Rails, and I just want to write the code with the ORM. What database am I using that you think makes sense? I would see an argument that Notion's structure should have made this problem more important for them to resolve earlier in the process (like some document-based DB), but Postgres works well!
- jamesfinlayson 5y agoProbably CockroachDB - I'm not sure what other free/open source options there are. I'm sure some proprietary databases will do it too but I haven't used Oracle/MSSQL/whatever to know what they give you.
- flowerlad 5y agoAre you an IT developer, who is developing applications for internal use? If so PostgreSQL is an excellent choice! But if you're developing an app that scales to internet users consider Couchbase or some other database that matches your requirements.
- rini17 5y agoWhy wouldn't Postgres scale to internet users?
- bsder 5y agoPlease do. And please be my competitor. We will be happily building out features while your engineering team wastes time solving for scaling problems that you will never have because you don't have features your customers want.
- flowerlad 5y ago> solving for scaling problems Choosing database A instead of database B doesn't mean you're suddenly "solving for scaling problems". It just means you're better prepared to one day solve scaling problems, should your product take off.
- crubier 5y agoEvery choice has trade offs. And database sharding should be very low in your priorities when starting a project because YAGNI. In particular, I will actively laugh at anyone not choosing Postgres « because it does not scale enough » when starting a project. Postgres Pros overwhelm massively this imaginary potential Con.