No, this post is not about the relationships between developers. They are normal people too. It is more about the fact that, for over 20 years already since the rise of OO languages like Java, developers are still trying to get data into relational database tables. Of course there are libraries like Hibernate that do the Object to Relational Mapping (ORM) for you, but in the end you’re still trying to create a (3rd form normalised) relational structure that fits with your real world objects. Oh, and next to that you’re trying to get the data back into your application in such a way that it still performs well.
If you just don’t want to go with Mongo you have a point. Everybody is doing it. It’s Mongo all over the place. And how do you know it’s the best choice, if you haven’t used anything else? Continue reading
It’s a common belief among developers that storing binaries in a database is not a best practice. It is particularly believed to be slow in both read and write performance. A common solution is then to store binaries as files on a (networked) filesystem while keeping a reference to those files in the database. While this is fine in most cases it does pose one issue: It’s not ACID.
For a Java based product we picked Liquibase as the database change management solution. Want to know how we got there?