Business users want easy access to content and don't tend to care where it gets stored. However, the mechanics of storage have always been an important consideration for IT and System Admin folks. A content management system usually stores content in a file system, a database, a custom repository, or a combination of these.
Different vendors use different approaches. Some allow you to be flexible while others offer fewer choices. Consider the following examples:
- Oracle is pushing "Secure Files" to allow users to store Oracle ECM content, including large files, in their database, as an alternative to their traditional file-system-based repository.
- Microsoft SharePoint has always stored all content, including files, in SQL Server database. This has raised concerns about SharePoint for certain scenarios and Microsoft has responded with mechanisms such as External Blob Storage (EBS). In fact, a large number of third-party vendors specialize in only this aspect (or weakness) of SharePoint.
- Plone has taken an approach opposite to that of Oracle. You no longer put large files into Zope's database (ZODB), but instead store them in file system
- Many other vendors, such as Alfresco and EMC Documentum, use a custom repository for storing files. The repository itself can be a file system or database, but the vendors provide some sort of an abstraction layer to access it.
As you can see, there is no universally right approach. In fact, some people also argue that standards such as Content Management Interoperability Services (CMIS) and Java Content Repository API standards (JSR 283/170) make it irrelevant.
That's not correct though. Some factors to consider with respect to storage requirements are:
- Do other applications in your enterprise need to access content managed by your Content or Document Management System?
- Does your organization mandate certain requirements such as "All file type content should be stored in an Oracle (or DB2 or SQL Server) database'?
- Your requirements for backup/restore and whether you want to use your database's backup utilities or something else
- Availability of system administration skills
There are many other considerations that we will detail out in a forthcoming advisory paper. Meanwhile, we dedicate a good amount of space to advising you on such architectural issues in our Document & Records Management (ECM) as well as Web Content Management vendor evaluation reports.