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

Reply via email to