NAT is like package delivery IRL. If you’re a server and send a package to a client without NAT, that’s like sending a delivery boy to deliver pizza, goes straight from source to destination.
But with NAT it’s like ordering a package online. It first will be delivered to a distribution center, and then a delivery warehouse in your area, and then the courier delivers packages to all people on his route.
It’s way more complex and you now have a whole bunch of points of failure.


But if you’ve planned your app through and know beforehand you don’t need relational data, you can skip the overhead of a RDBMS.
At least that’s what I would say if I hadn’t been in this exact situation and it later turned out we do need relational data so we had relational documents.
Also working with MongoDB without ODM is pure pain.