package brooklyn.entity.nosql


/**
 * Represents a NoSQL data store.
 */
public interface DataStore {
    // TODO add methods
}

/**
 * Represents a NoSQL data shard in a {@link DataStore}.
 */
public interface Shard {
    // TODO add methods
}
