Abstract:
A mechanism for optimizing loading of relational data for applications is disclosed. A method includes monitoring a plurality of requests selecting entities and processes to be executed for the selected entities. The plurality of requests are generated in an application server. The method also includes associating an application context with each of the processes to be executed for the selected entities. The application context includes the process to be executed using an entity stored in a database external to the application server. The application further includes generating a fetch plan for the entity stored in the database; and modifying, the generated fetch plan in view of the selected entities and the associated application context.
Abstract:
An example method of controlling access to data stored in a plurality of autonomous data sources includes receiving a federated query including a plurality of source queries. The method also includes receiving a request to submit a source query to a target data source. The method further includes determining whether the request matches at least one rule stored in a rules database. A rule that includes a given query matches a request that includes the given query. The method also includes when it is determined that the request does not match a rule stored in the rules database, sending a communication to cause (i) the source query to be submitted to the data source, and (ii) an initial result of the source query to be masked. The initial result of the source query has the same structure as the masked result of the source query.
Abstract:
A system and method of flexible holding storage during messaging includes determining one or more properties of a message, the message to be stored in a holding storage area of a messaging system, determining status of one or more candidate holding storage devices, determining one or more storage selection rules, adjusting the one or more storage selection rules based on information associated with the status of the one or more candidate holding storage devices, and selecting a holding storage device for the message from the candidate holding storage devices based on the adjusted storage selection rules and information associated with the properties of the message. The one or more storage selection rules express preferences among the one or more candidate holding storage devices. In some examples, the system and method further include sending the message to the selected holding storage device.
Abstract:
An example method of controlling access to data stored in a plurality of autonomous data sources includes receiving a federated query including a plurality of source queries. The method also includes receiving a request to submit a source query to a target data source. The method further includes determining whether the request matches at least one rule stored in a rules database. A rule that includes a given query matches a request that includes the given query. The method also includes when it is determined that the request does not match a rule stored in the rules database, sending a communication to cause (i) the source query to be submitted to the data source, and (ii) an initial result of the source query to be masked. The initial result of the source query has the same structure as the masked result of the source query.
Abstract:
A method for optimizing loading of relational data for applications is disclosed. The method includes monitoring a plurality of requests selecting entities and processes to be executed for the selected entities. The plurality of requests is generated in an application server. The method also includes associating an application context with each of the processes to be executed for the selected entities. The application context includes the process to be executed using an entity stored in a database external to the application server. The method further includes generating a fetch plan for the entity stored in the database and modifying, the generated fetch plan in view of the selected entities and the associated application context. The fetch plan may include lazy loading of the entity stored in the database (e.g., by loading the entity from the database and deferring loading of one or more attributes of the entity form the database).
Abstract:
Methods, systems, and computer program products are included for defining a partitioning strategy corresponding to an attribute, creating tables and inserting data into the tables according to the partitioning strategy, detecting triggering events, and responsive to the triggering events, dynamically activating tables for storing data.
Abstract:
Adaptive optimization of second level cache is disclosed. In an example embodiment, a system includes a database server and an enterprise application server, which includes an enterprise application execution module, a first level cache, a second level cache, and a cache optimizer. The enterprise application server iteratively executes an executable module, which causes receiving entity data from a database, with a plurality of different attributes, storing the entity data in a first level cache, and accessing an attribute in the entity data from the first level cache. The enterprise application server collects statistical data representing a quantity of accesses of attributes, determines an attribute to omit from a second level cache based on the statistical data, transfers a subset of the entity data from the first level cache, and stores, in the second level cache, the subset of the entity data with the at least one attribute omitted.
Abstract:
A system, method, and techniques for providing high availability to an application are provided. An example system includes a plurality of databases and a persistence layer that generates, based on a request, one or more sets of database commands that is specific to a database. The system also includes a high-availability layer that is an intermediary between the persistence layer and the plurality of databases, and includes a transaction manager and an execution engine. The transaction manager starts a composite transaction including a sub-transaction corresponding to each database of the plurality of databases and determines whether each applied sub-transaction has successfully completed. A sub-transaction includes a set of database commands. The execution engine applies each sub-transaction to its corresponding database.
Abstract:
Systems and methods are provided for a caching mechanism that determines validity of cached data using web application business logic. An example system includes a web container that receives a first request to return one or more generated data located in a data cache, and a web application including one or more data validity arbiters and business logic determining the validity of the one or more generated data. The system may further include a business logic caching mechanism that requests the validity of the one or more generated data from the one or more data validity arbiters, wherein the one or more data validity arbiters utilize the business logic to determine the validity of the one or more generated data.