There is a workplace that uses Subversion as the external datasource for Modeshape. The performance is poor; using an SVN for Modeshape affects the normal use of SVN as a code repository. The JCR data is stored in the same server instance (but separate repo) of SVN.
Reading about federated sources at:
https://docs.jboss.org/author/display/MODE50/Federation
I see that Modeshape can connect to a variety of external datasources, including "Oracle 11i, Cassandra, MongoDB, Git, SVN, SAP, file systems, CMIS, RPM repositories, and JCR repositories". Is any one of these more efficient than SVN in handling a high frequency of requests? Would RDBMS or NoSQL datasources potentially offer improved performance and efficiency? Or maybe another solution?
Many thanks.
ModeShape federation is really just for using JCR to access external systems, and it is very different than using JCR to access data stored within the ModeShape repository. Accessing data that is stored/persisted within the repository will always be significantly faster than accessing external (federated) data.
If you want to store data within the repository, then by far the best approach is to use a relational database. In fact, any relational DBMS (e.g., Postgres 9.x, H2 1.4.x, MySQL 5.x and Oracle 11) will work and perform really well, while also allowing the data to be properly backed up using the DBMS tooling. For smaller installations, storing the data locally on the file system may be sufficient.