Can the Oracle database be used as a multimedia repository, workspace environment and streaming platform? 'No' would be the response from most technologists. However, the Oracle database provides intriguing possibilities for the storing, manipulating and streaming of multimedia data in enterprise class environments. Knowledge of why and how the Oracle database can be used for multimedia applications is essential if one is to justify and maximize the ROI.
Why Use Oracle for Multimedia?
Using the Oracle database as an enterprise class data multimedia warehouse can, for the savvy systems architect, result in solutions that are cheaper, easier to program, more stable and secure than competing solutions. While many would argue that it's hard to compete on a cost basis with MySQL and a file-system there is a catch. The cost of failure at the enterprise level can be a negative existential experience. Furthermore, the time and effort involved to provide the same level of data security (i.e., ACID properties) with MySQL and file systems that can be achieved by an Oracle database is prohibitive. The result may also be technically disjointed and difficult to maintain due to a lack of cohesion between the various parts.
One of the more dominant reasons for using an Oracle database for multimedia applications is data security. Rules of corporate data governance require that data is not lost, misplaced or inappropriately accessed. If you are employed by a corporate or government entity in which the validity and security of your data is critical, the Oracle database is probably already on your short list of technologies to use.
Unfortunately, a majority of the multimedia solutions available today utilize a hybrid architecture for storing data. This architecture combines an RDBMS (usually MySQL) and a file-system. The RDBMS contains relevant relational data and a link to the multimedia file in the file-system. It is readily apparent that in an enterprise environment, relying upon a link in the database to a file in a file-system is less than optimal. The risk of having your file-links scrambled, either inadvertently or maliciously, is one that should not be tolerated.
But the requirement to support file-based access to multimedia data still remains. This is due to the fact that streaming, editing and media manipulation programs all require file based access. That reason, among others has hindered the ability of databases to assume a role as the primary storage medium for multimedia data.
Fortunately, the Oracle database has the flexibility and capability to provide one solution that perfectly merges those two domains – databases and file-systems. A feature of the database called Database File System (DBFS) allows multimedia data to be stored in the database while maintaining a file-based mechanism for access. This arrangement also allows one to implement a system that ensures the correlation between media content and meta-data is maintained by keeping all of the resources in the database.
Many of the aforementioned hybrid systems must also maintain a logical relationship between files in the file-system and data in the database. This is usually accomplished by encoding file and directory names in a logical manner. The Oracle database and DBFS removes the necessity of maintaining a logical relationship between data in the database and directories in a file-system.
Another factor arguing for the use of the Oracle database is the proliferation of media files. Some media streaming protocols require data to be presented in short 10 second duration files. Combine that with multiple versions of the same content (e.g. high-def, half-scale, MP4, Flash etc.) that many organizations must maintain and one can readily see that the number of media files soon becomes an administrative issue. When using DBFS to expose data in the database as a file, Oracle has proven to be flexible and adept at the task of maintaining large data-sets.
At the upper end of the spectrum, multimedia data can get very 'big'. Currently, 3D movies run at a 714MB per second rate while the raw output from a digital camera averages 1.03 GB per second. Extending that out, you would have to provide 2.58 and 3.72 TB of storage for a 1 hour movie. Clearly, multimedia is big data. For that environment, Oracle, an integrated technology company, can provide a significant portion of the hardware and software required for a large multimedia warehouse.
A final consideration is the recent advances in data-layer programming techniques. It is now feasible and desirable to utilize advanced features in Oracle's data-layer programming language, PL/SQL, to directly administer and manipulate multimedia data. This precludes the need to operate on multimedia data in the middle tier. The result is systems that are easier to program and significantly more secure.
How is Multimedia on Oracle Implemented
The Oracle database contains a feature called Oracle Multimedia. In brief summary, this framework consists of specialized object types as well as PL/SQL packages that allow applications to import, retrieve and manipulate multimedia data. Oracle Multimedia does not directly support the streaming of media via common protocols such as HTTP, HLS or RTSP. It does provide a framework to support the storage and retrieval of media data by user applications such as streaming servers and editing programs.