Currently we have following implementations of BlobStore 1. org.apache.jackrabbit.oak.plugins.blob.db.DbBlobStore 2. org.apache.jackrabbit.oak.plugins.blob.cloud.CloudBlobStore 3. org.apache.jackrabbit.oak.spi.blob.FileBlobStore 4. org.apache.jackrabbit.oak.spi.blob.MemoryBlobStore 5. org.apache.jackrabbit.oak.plugins.document.mongo.MongoBlobStore 6. org.apache.jackrabbit.oak.plugins.document.mongo.gridfs.MongoGridFSBlobStore 7. org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore 8. org.apache.jackrabbit.oak.plugins.document.rdb.RDBBlobStore
And then for DataStore we have a) org.apache.jackrabbit.core.data.db.DbDataStore b) org.apache.jackrabbit.aws.ext.ds.S3DataStore c) org.apache.jackrabbit.core.data.FileDataStore Now based on above list couple of Queries Q1 - What is the difference between RDBBlobStore and DbBlobStore? Should we have only one implementation for storage in DataBase Q2 - For a system which is getting upgraded from JR2 to Oak. Would 2.1 It continue to use its existing DataStore implementation. 2.2 Migrate all the content first then switch to one of the BlobStore implementations 2.3 Both DataStore and BlobStore would be used together Q3. Just for the record and to confirm we would be preferring S3DataStore over CloudBlobStore for now Q4. Should we remove some of the unused BlobStore impl like MongoGridFSBlobStore. They can be resurrected back if need is felt for them Chetan Mehrotra