First, every transaction is visible to every node, because that's how a blockchain works.
So it you build a database to mirror the blockchain transactions, its read permissions won't truly affect transaction visibility for any of the nodes - though it might be harder for them to understand the transaction data themselves, especially if some of the metadata is encrypted.
As to whether to provide one database copy per node, or one central database, it depends on your needs. But I would say that part of the point of a blockchain is to enable every node to verify everything for itself, so that should probably also apply to this external database, meaning that each node runs its own.