Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The database should never ever become part of a public API.

You don’t share a DB for performance reasons (rather the opposite), you do it to ensure data integrity and consistency.

And no, not everyone needs to know every use case. But every team needs to have someone who coordinates any overlapping schema concerns with the other teams. This needs to be managed, but it’s also not rocket science.



If database is shared it is a part of an API. If it is shared between teams then it is a public API.

If DB is shared then data from different users is entered/updated through multiple transactions. So you cannot get anything better regarding consistency and integrity compared to multiple DBs and distributed TXs.

By introducing schema change coordination you will introduce enormous delays to almost any DB change. This is more realistic than everyone knowing each use case but less practical. Shared DB is an antipattern either way.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: