MongoDB Transaction Read Locks in Go

Sometimes, things do not go well on the coding level. In that case, we know what to do - fix the issue, get to another task. Sometimes, things don’t work out on the architectural level. For such stuff we have to apply additional resources to work around it. Fixing it won’t make the tech debt disappear though.

One of such issues was our MongoDB schema design. Most of us acknowledge the fact that a noSQL DB should be denormalized to be used efficiently. This convention was overlooked in one of the projects, which led us to a normalized, relational-like schema. And it actually worked fine, until it didn’t. Remember ACID?