Abstract:
The technology disclosed relates to creating and frequently updating multiple online analytic processing (OLAP) analytic databases from an online transaction processing (OLTP) transaction updatable system that includes transaction commit, rollback, and field level security capabilities. It also relates to transparently decoupling extraction from rebuilding of frequently updated OLAP analytic databases from the OLTP transaction updatable system.
Abstract:
Methods, systems, and devices for providing matching security between data stores are described. In a database system, an operational data store may store transactional datasets and an analytical data store may store analytics datasets generated based on the transactional datasets. For these analytics datasets to efficiently inherit the security configurations of the transactional datasets, security information may be embedded in datasets retrieved from the operational data store during a data acquisition procedure. This security information may be converted into an embedded multiple-value field for storage in the analytical data store. The analytical data store may receive a query for data in a dataset, and may determine security descriptors associated with the user sending the query. The analytical data store may then filter the data based on comparing these determined security descriptors with the security information in the multiple-value field, and may transmit a query response with the filtered data.
Abstract:
Methods, systems, and devices for providing matching security between data stores are described. In a database system, an operational data store may store transactional datasets and an analytical data store may store analytics datasets generated based on the transactional datasets. For these analytics datasets to efficiently inherit the security configurations of the transactional datasets, security information may be embedded in datasets retrieved from the operational data store during a data acquisition procedure. This security information may be converted into an embedded multiple-value field for storage in the analytical data store. The analytical data store may receive a query for data in a dataset, and may determine security descriptors associated with the user sending the query. The analytical data store may then filter the data based on comparing these determined security descriptors with the security information in the multiple-value field, and may transmit a query response with the filtered data.
Abstract:
Methods are disclosed for dynamic node allocation for a server system that can automatically heal on failure—minimizing the need for static configuration—dynamically adjusting server resources to match load, and minimize end user wait times. The disclosed methods dynamically allocate nodes to increase capacity for a platform that accepts data queries. Additionally disclosed is a system for rolling version update deployment: workers maintain org lists of org-task-queues that they service; org-affinities between the workers and the org-task-queues require the workers to have access to local copies of immutable data sets to service org-tasks from the org-task-queues of the orgs that they service. A leader running on a worker implements a healing and balancing service that maintains worker redundancy, manages the workers' org-affinities to accumulate orgs on their respective org-lists. The leader implements messaging to the workers to update to a new software version and monitors completion of updates.
Abstract:
Methods are disclosed for dynamic node allocation for a server system that can automatically heal on failure—minimizing the need for static configuration—dynamically adjusting server resources to match load, and minimize end user wait times. The disclosed methods dynamically allocate nodes to increase capacity for a platform that accepts data queries. Additionally disclosed is a system for rolling version update deployment: workers maintain org lists of org-task-queues that they service; org-affinities between the workers and the org-task-queues require the workers to have access to local copies of immutable data sets to service org-tasks from the org-task-queues of the orgs that they service. A leader running on a worker implements a healing and balancing service that maintains worker redundancy, manages the workers' org-affinities to accumulate orgs on their respective org-lists. The leader implements messaging to the workers to update to a new software version and monitors completion of updates.
Abstract:
A predicate-based row level security system is used when workers build or split an analytical data store. According to one implementation, predicate-based means that security requirements of source transactional systems can be used as predicates to a rule base that generates one or more security tokens, which are associated with each row as attributes of a dimension. Similarly, when an analytic data store is to be split, build job, user and session attributes can be used to generate complementary security tokens that are compared to security tokens of selected rows. Efficient indexing of a security tokens dimension makes it efficient to qualify row retrieval based on security criteria.
Abstract:
Low latency communication between a transactional system and analytic data store resources can be accomplished through a low latency key-value store with purpose-designed queues and status reporting channels. Posting by the transactional system to input queues and complementary posting by analytic system workers to output queues is described. On-demand production and splitting of analytic data stores requires significant elapsed processing time, so a separate process status reporting channel is described to which workers can periodically post their progress, thereby avoiding progress inquiries and interruptions of processing to generate report status. This arrangement produces low latency and reduced overhead for interactions between the transactional system and the analytic data store system.
Abstract:
Various techniques and procedures related to filtering objects in a virtual application within a multi-tenant system are provided. One approach involves providing a first graphical user interface element enabling indication of a first filtering criterion and a second graphical user interface element enabling indication of a second filtering criterion within the virtual application being accessed over a network from a client device. After indication of the first filtering criterion and the second filtering criterion, a filtered set of objects is identified based on the first filtering criterion and the second filtering criterion. At least a portion of the filtered set of objects may then be presented within the virtual application on a client device.