Słynny Tom Kyte napisał, że oni (Oracle) używają bazy danych Oracle jako serwera plików i działa ona doskonale, nawet szybciej niż normalny system plików, z pełną transakcyjnością, bez utraty wydajności i z jedną kopią zapasową.
Tak, ale pamiętaj, że są producentem bazy danych Oracle, a dla każdego innego użytkownika występują problemy z kosztami. Korzystanie z komercyjnej bazy danych, takiej jak Oracle, do przechowywania plików jest po prostu nieefektywne kosztowo.
Jednak na przykład w PostgreSQL można po prostu uruchomić inną instancję DB tylko do przechowywania obiektów blob. Masz wtedy pełne wsparcie transakcyjne. Ale transakcyjność kosztuje przestrzeń DB. Istnieje potrzeba przechowywania w bazie danych wielu instancji obiektów blob dla wielu jednoczesnych transakcji. Na PostgreSQL jest to najbardziej bolesne, ponieważ ta baza danych przechowuje duplikaty obiektów blob wykonane dla transakcji są przechowywane, nawet jeśli nie są już potrzebne, dopóki proces VACUUM nie zostanie zakończony.
Z drugiej strony, w przypadku przechowywania systemu plików, należy zachować szczególną ostrożność, gdy ktoś modyfikuje plik, ponieważ transakcję można wycofać, a kopię pliku należy zachować, dopóki stara wersja nie będzie już widoczna.
W systemie, w którym pliki są tylko dodawane i usuwane, a transakcyjny dostęp do plików nie stanowi problemu, pamięcią systemu plików będzie IMHO najlepszym wyborem.