Multiple services reading from the same DB can -- and should -- be using different accounts that have access to different objects that abstract the underlying data model from the various clients and keep them loosely coupled. This is almost as old of a recommendation as relational DBs themselves.
You can create a tightly coupled design with a shared DB, but there is nothing inherent with shared DB integration requires that.
You can create a tightly coupled design with a shared DB, but there is nothing inherent with shared DB integration requires that.