Relative advantages of a file store and a data store
Decide whether to use a file store or a data store for our messaging engine, by considering the advantages of each type.
Use a file store rather than a data store for our messaging engine can have several advantages:
- Better performance
- To achieve best performance using a data store, you often have to use a separate remote database server. With file store we 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. See Sharing connections to benefit from one-phase commit optimization. File store does not support this optimization.
Data stored in both data store and file store benefit from security features provided by WebSphere Application Server when accessed using the WAS APIs, that is when using JMS messaging. Further security features are available depending on the type of message store we use. See File stores and Data stores.
- Data store: we access your chosen database using a userid and password that is administered using the supplied tools for our specified DBMS. Logical and physical separation of our database server can also be used to improve the overall security of our data.
- File store: additional security can be provided when using a file store by careful consideration of our file store files. For example, using a secure network-attached drive to store the file store files improves the physical security of our data. Another example is storing the files on an operating system encrypted file system.
Both file store and data store offer high availability capabilities. See Message store high availability.
Administer message stores