This article gives a decent initial overview. https://blog.openzeppelin.com/proxy-patterns
Normal Ethereum smart contracts are not able to update their software after they have been deployed. This creates problems when there is a bug in the software or when the operators of the smart contract want to introduce upgrades or new features. If you have data in these smart contracts then it is lock forever to that contract.
I am only vaguely familiar with OrbitDb, so I cannot comment what their authorisation or database upgradability features in specific. Generally, as it is a database it does not execute custom software that needs to be upgraded (only the database software is used). I would hope that they have a strategy that allows users orbitDb to upgrade the orbitDb software if and as needed - but after a quick search I could not find this well documented. The question to answer is: "if the orbitDb software introduces breaking changes", how will all clients upgrade to use the new orbitDb software in a way that does not introduce inconsistencies or corrupt data?"