The term Entity Sharding (ES) relates to a specific business process that allows a developer, end-user, configurator, or business owner to specify a data repository for every property, or the entirety, of an Entity object. Upon saving/updating an Entity, this process is handled asynchronously and dynamically changes the data repository during the save process for each configured portion of the Entity. During the retrieval process, the Entity is retrieved from its designated data repositories and dynamically re-materialized into the full object with full functionality restored.
For example, if you have a Person Entity with first name, last name, date of birth, gender, and address fields. The entire person record could be stored in the same data repository (traditional business process). However, say, for example, there was a derived instance of that person entity, that due to some business rules, needed to be stored in a different data repository, that Entity could be identified in such a way to indicate that it was to be stored in a separate data repository than the rest of the person entities. When retrieved, a list of person entities is retrieved, and the Entity that was configured to a different data repository would then be re-materialized back into the list of person entities. This business process is also designed in such a way that each field on the Entity could also be identified to be stored in a different data repository as well and then re-materialized back into a full person entity object on retrieval.
- Data privacy laws – GDPR, CCPA, Cyber Security Law, etc.
- Data security – Obfuscation, Encryption, Scrubbing, Redacting, etc.
- Data ownership