5 ms·
> As soon as something happens that would bring repository choice into question I don't know. Once a project is started with postgres/mysql/orcale, how often d
by y0ghur7_xxx 11y ago
> As soon as something happens that would bring repository choice into question
I don't know. Once a project is started with postgres/mysql/orcale, how often do you change the DB?
We have some projects that started with struts, then we changed the fe to jsp, the asp.net, then HTML/JS + MVC.net.
But the DB was always Postgres. It never changed. In my experience what changes often is the frontend, not the stuff that keeps your data.
I would optimize for fe/middleware changes, not db changes.
- tunesmith 11y agoPlenty of examples, although they all tend to be higher-scale considerations that might not apply for your small business or side project: 1) You have "friends" or "friends of friends" modeled in Postgres, but then you realize that you want/need to do more social graph stuff in particular, so it makes more sense to use a graph database like Neo4J 2) You're saving a ton of activity data in postgres but your site is slowing down, and you realize you don't need the archived data, so it makes more sense to use something like Redis for that chunk of data 3) You're saving a ton of log data but the storage of it is going way up, and you're only querying it for big data / data warehouse purposes, so it makes more sense to use something like Cassandra 4) You're wanting to write a new feature set that relies on existing normalized data but would require new complicated queries and joins and business logic to deal with it, plus you're running into scaling considerations, so it makes more sense to convert to a reactive event-based system, such as micro services consuming a kafka topic, where each micro service has its own dedicated repository In each of those cases, if you have used Postgres combined with sprocs, it's much harder to transition than if you had coded to interfaces and relied on your db in a dumb sense.