3 ms·
> The business / stakeholders, can't agree on what data is needed and it is constantly changing You are about to spread this chaos everywhere. If they can't de
by fiedzia 8y ago
> The business / stakeholders, can't agree on what data is needed and it is constantly changing
You are about to spread this chaos everywhere. If they can't decide on what to store and how, nobody will be able
to make sense of that, create useful reports or maintain it. Things will fall apart constantly and everywhere.
> product owner is getting arm twisted to add new "fields" , so that department X can get more out of this app
Why is that a problem? Using relational db does not mean that adding new field should be some big effort or require any ceremony. If they want it and it makes sense they should get it on the same day.
> The frontend is making multiple API calls from different services and assembling a document in redux / local storage. This is an antipattern!
It is, but it has nothing to do with data storage. Looks like nobody is owning backend and data, so frontend does what they can to get the job done. It is not their fault.
> The relational model could cause added maintenance and refactoring when new changes come around
Non-relational model adds a lot more maintenance and refactoring if you want quality.It is only easier if nobody cares about tomorrow.
> The current schema has several tables but are just filled with CLOBs that store JSON
Nothing you said indicates that you need a non-relational database, only that you have non-relational data.
You can keep them in db as it was before, with option of moving to separate fields as definition will mature and ability to use transactions.
>* I am in a junior heavy team, with noobies
>* Seniors are scared of new practices.
Its a mess, but looks like you are not in position to do much about it. You can't fix organizational problems with technology. Main decision to make is if you want to stay there or leave and go to better place.
- mothsonasloth 8y agoI just joined the company and I am broke after taking a long break, so leaving the company anytime soon is not an option. The juniors on my team are from a coding camp, so I can't really expect them to be of much help at the moment. I will take ownership of this and be pushing back, because I am not afraid to say no after many years of working in development. After doing some research and the feedback from this post I will be refactoring the mysql schema and the hibernate models in the java service. I will also make use of the JSON data type instead of CLOB so I can actually query some dynamic data.