Multidimensional partition of data to calculate aggregation at scale
Assigneesalesforce.com, inc.
InventorsYogesh Patel, Percy Mehta, Mattia Padovani, Shan-Cheng Ho, Shaahin Mehdinezhad Rushan, Johannes Kienzle
Life of this patent
Estimating the term…
Abstract
A method enables data aggregation in a multi-tenant system. The method includes receiving, at a data aggregation manager, an event from an activity tracking component, generating, by the data aggregation manager, a first hash value based on a first identifier in the event, generating, by the data aggregation manager, a second hash value based on a second identifier in the event, and storing event message information to an entry of a metric storage database in a partition according the first hash value and the second hash value.
Claims20
A method of data aggregation in a multi-tenant system, the method comprising:
- receiving, at a data aggregation manager, an event from an activity tracking component where the activity tracking component is executed by a first electronic device communicatively coupled to a second electronic device that executes the data aggregation manager;
- generating, by the data aggregation manager, a first hash value based on a first identifier in the event;
- generating, by the data aggregation manager, a second hash value based on a second identifier in the event;
- storing, by the data aggregation manager, event message information to an entry of a metric storage database in a partition according to the first hash value and the second hash value, in response to determining the metric storage database does not include a prior copy of the event, where the entry can include event message information for multiple events having a same value of the first hash value or of the second hash value;
- and
- updating, by the data aggregation manager, a metric count for the entry, in response to storing the event message information to the entry.
A non-transitory machine-readable storage medium that provides instructions that, if executed by a processor, will cause said processor to perform operations comprising:
- receiving, at a data aggregation manager, an event from an activity tracking component where the activity tracking component is executed by a first electronic device communicatively coupled to a second electronic device that executes the data aggregation manager;
- generating, by the data aggregation manager, a first hash value based on a first identifier in the event;
- generating, by the data aggregation manager, a second hash value based on a second identifier in the event;
- storing, by the data aggregation manager, event message information to an entry of a metric storage database in a partition according to the first hash value and the second hash value, in response to determining the metric storage database does not include a prior copy of the event, where the entry can include event message information for multiple events having a same value of the first hash value or of the second hash value;
- and
- updating, by the data aggregation manager, a metric count for the entry, in response to storing the event message information to the entry.
A computer system to execute a method of data aggregation in a multi-tenant system, the computer system comprising:
- a non-transitory machine-readable storage medium having stored therein a data aggregation manager;
- and
- a processor coupled to the non-transitory machine-readable storage medium, the processor to execute the data aggregation manager, the data aggregation manager to receive an event from an activity tracking component executed by another computer system, to generate a first hash value based on a first identifier in the event, to generate a second hash value based on a second identifier in the event, to store event message information to an entry of a metric storage database in a partition according to the first hash value and the second hash value, in response to determining the metric storage database does not include a prior copy of the event, where the entry can include event message information for multiple events having a same value of the first hash value or of the second hash value, and updating a metric count for the entry, in response to storing the event message information to the entry.
Dependencies are inferred from the claim text.