Hi, I think I probably will need a bit more information about your use case to know how to help you best; can you provide a bit more detail about your environment and what you are hoping to accomplish?
If your storage is "local" (meaning it appears as a local filesystem to Oak), I'd probably use OakFileDataStore. It implements SharedDataStore so you can share the same location with multiple instances. For example if you create a file share on a NAS and then mount that share on multiple servers - even though the storage is across the network, it is mounted in the filesystem and appears local. OakFileDataStore should work well for this purpose. The other common use case for a shared storage location is cloud-based storage, like AWS S3. In this case use S3DataStore (for AWS S3) or AzureDataStore (for Microsoft Azure Blob Storage). Do you have a different use case than one of these? As for DataStoreBlobStore - DataStoreBlobStore is a wrapper around a class that implements DataStore to make it look like a BlobStore. For reasons I'm not fully aware of (happened before my time - probably historical), binary object storage in Oak is usually available as an implementation of the Jackrabbit DataStore interface but Oak interacts with these as BlobStores. You will usually set up your repository something like this: DataStore ds = new OakFileDataStore(); // or whatever DataStore type you choose ds.init(dataStoreHomeDirectory); BlobStore blobStore = new DataStoreBlobStore(ds); Then you would use the blobStore to create the FileStore that your node store requires. -MR On Fri, Feb 21, 2020 at 2:03 PM jorgeeflorez . <[email protected]> wrote: > Hi, > I am trying to pick one data store with the purpose of avoiding binary > storage in MongoDB blobs collection. I would like to know which should I > choose to be used in production. > I have explored a bit (1.12 version) and my guess is that > DataStoreBlobStore should be used when you want to store files in a local > directory (one oak instance only accessing the files) whereas > CachingFileDataStore should be used if the folder where you want to store > files is located in another host and can be seen from the machine running > Oak (several Oak instances can be accessing the files). Is this correct? >
