O famoso Tom Kyte escreveu que eles (o Oracle) estão usando o banco de dados Oracle como servidor de arquivos e está funcionando perfeitamente, ainda mais rápido que o sistema de arquivos normal, com transacionalidade total, sem perda de desempenho e com backup único.
Sim, mas observe que eles são os produtores do banco de dados Oracle e, para qualquer outro usuário, há problemas de custo. O uso de banco de dados comercial, como o Oracle, para armazenamento de arquivos é simplesmente ineficaz.
No entanto, com o PostgreSQL, por exemplo, você pode simplesmente executar outra instância de banco de dados apenas para armazenamento de blob. Você tem suporte transacional completo. Mas a transacionalidade custa espaço no banco de dados. É necessário que o banco de dados armazene várias instâncias de blob para várias transações simultâneas. No PostgreSQL, é o mais doloroso, pois esse banco de dados armazena as duplicatas dos blobs feitos para a transação, mesmo que não sejam mais necessários, até que o processo VACUUM seja concluído.
Com o armazenamento do sistema de arquivos, por outro lado, você deve ter muito cuidado quando alguém modifica o arquivo, porque a transação pode ser revertida e a cópia do arquivo deve ser mantida até que a versão antiga não esteja mais visível.
No sistema em que os arquivos são adicionados e excluídos apenas, e o acesso transacional aos arquivos não é um problema, o armazenamento do sistema de arquivos será IMHO a melhor opção.