System and method utilizing a shared cache to provide zero copy memory mapped database
First Claim
1. A method comprising:
- receiving a list of models to include in an expected data set for a plurality of applications to analyze concurrently, the models including a combination of data attributes from a database repository, wherein the expected data set includes different types of models and different types of models include different data attributes;
identifying in the database repository, a portion of the database repository comprising a plurality of data attributes of the expected data set to be accessed concurrently by the plurality of applications;
allocating a memory space for a shared cache, wherein the shared cache comprises a column data store configured to store data for each of the plurality of attributes of the expected data set in columns;
retrieving the expected data set from a database;
populating the shared cache with the expected data set;
storing memory address locations corresponding to the columns of the column data store of the shared cache; and
providing, to the plurality of applications, one or more of the stored memory address locations corresponding to the columns of the column data store of the shared cache.
7 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for providing a plurality of applications with concurrent access to data are disclosed. One such method includes identifying attributes of an expected data set to be accessed concurrently by the applications, initializing a shared cache with a column data store configured to store the expected data set in columns, and creating a memory map for accessing a physical memory location in the shared cache. The method may also include mapping the applications'"'"' data access requests to the shared cache with the memory map. Only one instance of the expected data set is stored in memory, so each application is not required to create additional instances of the expected data set in the application'"'"'s memory address space. Therefore, larger expected data sets may be entirely stored in memory without limiting the number of applications running concurrently.
-
Citations
21 Claims
-
1. A method comprising:
-
receiving a list of models to include in an expected data set for a plurality of applications to analyze concurrently, the models including a combination of data attributes from a database repository, wherein the expected data set includes different types of models and different types of models include different data attributes; identifying in the database repository, a portion of the database repository comprising a plurality of data attributes of the expected data set to be accessed concurrently by the plurality of applications; allocating a memory space for a shared cache, wherein the shared cache comprises a column data store configured to store data for each of the plurality of attributes of the expected data set in columns; retrieving the expected data set from a database; populating the shared cache with the expected data set; storing memory address locations corresponding to the columns of the column data store of the shared cache; and providing, to the plurality of applications, one or more of the stored memory address locations corresponding to the columns of the column data store of the shared cache. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to perform an operation for providing a plurality of applications with concurrent access to an expected data set from a database repository, the operation comprising:
-
receiving a list of models to include in the expected data set for a plurality of applications to analyze concurrently, the models including a combination of data attributes from the database repository, wherein the expected data set includes different types of models and different types of models include different data attributes; identifying in the database repository, a portion of the database repository comprising a plurality of data attributes of the expected data set to be accessed concurrently by the plurality of applications; allocating a memory space for a shared cache, wherein the shared cache comprises a column data store configured to store data for each of the plurality of attributes of the expected data set in columns; retrieving the expected data set from a database; populating the shared cache with the expected data set; storing memory address locations corresponding to the columns of the column data store of the shared cache; and providing, to the plurality of applications, one or more of the stored memory address locations corresponding to the columns of the column data store of the shared cache. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer system, comprising:
-
a memory storing one or more programs; and a processor configured to execute the one or more programs to perform an operation for providing a plurality of applications with concurrent access to data, the operation comprising; receiving a list of models to include in an expected data set for multiple applications to analyze concurrently, the models including a combination of data attributes from the database repository, wherein the expected data set includes different types of models and different types of models include different data attributes; identifying in the database repository, a portion of the database repository comprising a plurality of data attributes of the expected data set to be accessed concurrently by the plurality of applications; allocating a memory space for a shared cache, wherein the shared cache comprises a column data store configured to store data for each of the plurality of attributes of the expected data set in columns; retrieving the expected data set from a database; populating the shared cache with the expected data set; storing memory address locations corresponding to the columns of the column data store of the shared cache; and providing, to the plurality of applications, one or more of the stored memory address locations corresponding to the columns of the column data store of the shared cache. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification