Relative advantages of a file store and a data store
You must decide whether to use a file store or a data store for your messaging engine, by considering the advantages of each type.
- Better performance
- To achieve best performance using a data store, you often have to use a separate remote database server. With file store you can achieve even better performance without having to use a separate remote database server.
- Low administration requirements
- The file store combines high throughput with little or no administration. This makes it suitable for those who do not want to worry about where the messaging engine is storing its recoverable data. File store improves on the throughput, and scalability of Apache Derby.
- Lower deployment costs
- Use of data store might require database administration to configure and manage your messaging engines. File store can be used in environments without a database server.
Some organizations prefer to use data store because it uses their existing resources more effectively. For example, this might be the case for a company with a strong team of database specialists, or a stable database infrastructure.
If there is a transient connectivity loss to the file system, the application server must be restarted once the connectivity to the file system is restored. Whereas, in the case of the data store, the messaging engine can recover from the database itself. In such situations, the data store will be a preferred high availability option than the file store system.
Data store has the following technical
advantage over file store: with data store, some Java™ EE
applications can share JDBC connections and benefit from one-phase
commit optimization. For more information see Sharing connections to benefit from one-phase commit optimization.
File store does not support this optimization.
- Data store: you access your chosen database by using a userid and password that is administered using the supplied tools for your specified DBMS. Logical and physical separation of your database server can also be used to improve the overall security of your data.
- File store: additional security can be provided when using a file store by careful consideration of your file store files. For example, using a secure network-attached drive to store your file store files improves the physical security of your data. Another example is storing your files on an operating system encrypted file system.
Both file store and data store offer high availability capabilities. For more details see Message store high availability.