-
公开(公告)号:US11514028B2
公开(公告)日:2022-11-29
申请号:US16863834
申请日:2020-04-30
Applicant: SAP SE
Inventor: Amit Pathak , Colin Florendo , Pushkar Khadilkar , Robert Schulze
IPC: G06F16/00 , G06F16/23 , G06F12/02 , G06F3/06 , G06F16/22 , G06F12/0882 , G06F16/2455 , G06F12/0875 , G06F9/48
Abstract: System, method, and various embodiments for providing a hybrid data storage and load system are described herein. An embodiment operates by receiving a lookup request comprising a row identifier (ROWID) corresponding to a row of a table of a database. Which of a first set of pages corresponds to a sorted position of the ROWID is identified. The identified page of the first set of pages is loaded from the disk storage to the memory storage. A sorted row position of the ROWID is identified from a memory block of the loaded page from the first set of pages. One of a second set of pages that includes the sorted row position is identified. The identified one of the second set of pages is loaded from the disk storage into memory. The loaded identified one of the second set of pages is searched for the unsorted position of the ROWID.
-
公开(公告)号:US11481134B1
公开(公告)日:2022-10-25
申请号:US17328656
申请日:2021-05-24
Applicant: SAP SE
Inventor: Prateek Agarwal , Simhachala Sasikanth Gottapu , Sarika Iyer , Prasanta Ghosh , Colin Florendo
IPC: G06F3/06
Abstract: Disclosed herein are system, method, and computer program product embodiments for adaptive caching for hybrid columnar databases with heterogeneous page sizes. An embodiment operates by receiving a request to load a new page of memory from a disk in a buffer cache. The embodiment scans one or more pools comprising one or more pages of the same size in a buffer cache. The embodiment determines an increment of a reuse rate for the pools in the buffer cache within a time interval. The embodiment determines a cumulative reuse rate that is the sum of the increments of the reuse rate over several time intervals. The embodiment determines a gliding average reuse rate of the cumulative reuse rate over several time intervals. The embodiment compares the average reuse rates of the plurality of the pools to a threshold to dynamically determine whether a pool should reuse memory from the existing pages of the same pool or rebalance memory from one or more victim pools.
-
公开(公告)号:US11386082B2
公开(公告)日:2022-07-12
申请号:US16893697
申请日:2020-06-05
Applicant: SAP SE
Inventor: Mehul Wagle , Colin Florendo , Pushkar Khadilkar , Robert Schulze , Reza Sherkat , Amit Pathak
IPC: G06F16/23 , G06F12/02 , G06F3/06 , G06F16/22 , G06F12/0882 , G06F16/2455 , G06F12/0875 , G06F9/48
Abstract: Disclosed herein are system, method, and computer program product embodiments for providing paged and compressed storage for column data, while maintaining existing access mechanisms for the data. In order to reduce an in-memory footprint for column data, columns may be stored in pageable format using page chains, and only those pages of the column data needed to resolve a query will be placed in memory, and evicted from memory when no longer needed. In order to further reduce the footprint for these columns, compression can be applied, and the compressed column data stored in the same pageable format using page chains. The compressed data includes a plurality of vectors, each of which is converted into pages and stored on the page chain with the others so that they can be efficiently retrieved during database retrieval operations.
-
公开(公告)号:US11170023B2
公开(公告)日:2021-11-09
申请号:US15445593
申请日:2017-02-28
Applicant: SAP SE
Inventor: Colin Florendo , Michael Muehle , Thorsten Glebe , Rolando Blanco , Chaitanya Gottipati , Nirvik Basak , Martin Heidel , Peter Steinemann , Vivek Kandiyanallur , Shiping Chen , Sarika Iyer , Jörn Schmidt
IPC: G06F16/27 , G06F16/23 , G06F16/2455 , G06F11/20
Abstract: A computer implemented method for manipulating data comprises receiving log transaction information from a primary database system at a secondary database system and parsing the log transaction information to identify data objects that have been modified on the primary database system. The secondary database system determines whether the data objects are present in main memory on the secondary database system and whether the log transaction corresponds to a data manipulation language (DML) query or a data definition language (DDL) query. If the data objects are not in the main memory and the query is a DML query, they are copied from persistence data volumes to the main memory. The data objects in main memory are modified by replaying the log transactions on the data objects in the main memory. Then, the data objects in the persistence data volumes are modified. Related apparatus, systems, techniques and articles are also described.
-
公开(公告)号:US11086832B2
公开(公告)日:2021-08-10
申请号:US14885752
申请日:2015-10-16
Applicant: SAP SE
Inventor: Panfeng Zhou , Colin Florendo , Ivan Schreter , Thorsten Glebe , David Wein
Abstract: The subject matter disclosed herein relates to out of memory error handling in a database system. A database operation can be received by an in-memory database. The database operation can be for a database object stored in a database table that can be represented as a plurality of pages that can be persisted in a page chain. The in-memory database can reserve out of memory space sufficient to load a predetermined number of pages in the page chain into memory. The in-memory database can iteratively process each page in the page chain until completion of the database operation. The iterative process can include loading the page from persistence into memory of the in-memory database, performing at least a portion of the database operation using the loaded page, and unloading the page from the memory of the in-memory database. Related apparatus, systems, techniques, and articles are also described.
-
公开(公告)号:US10740036B2
公开(公告)日:2020-08-11
申请号:US15632110
申请日:2017-06-23
Applicant: SAP SE
Inventor: Ivan Schreter , Dirk Thomsen , Colin Florendo , Blaine French
IPC: G06F16/22 , G06F3/06 , G06F16/23 , G06F16/174 , G06F16/2455
Abstract: Data records of a data set can be stored in multiple main part fragments retained in on-disk storage. Each fragment can include a number of data records that is equal to or less than a defined maximum fragment size. Using a compression that is optimized for each fragment, each fragment can be compressed. After reading at least one of the fragments into main system memory from the on-disk storage, an operation can be performed on the fragment or fragments while the in the main system memory.
-
公开(公告)号:US11726985B2
公开(公告)日:2023-08-15
申请号:US16890020
申请日:2020-06-02
Applicant: SAP SE
Inventor: Colin Florendo , Surendra Vishnoi , Janardhan Hungund , Manuel Caroli
IPC: G06F16/22 , G06F16/23 , G06F12/02 , G06F3/06 , G06F12/0882 , G06F16/2455 , G06F12/0875 , G06F9/48
CPC classification number: G06F16/2379 , G06F3/0604 , G06F3/064 , G06F3/0673 , G06F9/4843 , G06F12/0223 , G06F12/0246 , G06F12/0875 , G06F12/0882 , G06F16/221 , G06F16/2219 , G06F16/2228 , G06F16/2237 , G06F16/2255 , G06F16/2272 , G06F16/2282 , G06F16/24552 , G06F16/24558 , G06F2212/1024 , G06F2212/1044
Abstract: Disclosed herein are system, method, and computer program product embodiments for maintaining of a geometric object in a database. An embodiment operates by a database maintaining a first page storing a data block in the database's on-disk store such that the data block stores at least one byte of the geometric object. After receiving the request for the geometric object, the database loads the page storing the geometric object in the in-memory store and determines the size of the geometric object. Based on the size of the geometric object, the database stores the geometric object in the in-memory store directly or in a heap of the in-memory store.
-
公开(公告)号:US11663200B2
公开(公告)日:2023-05-30
申请号:US17540921
申请日:2021-12-02
Applicant: SAP SE
Inventor: Pushkar Khadilkar , Colin Florendo , Amit Pathak
IPC: G06F12/00 , G06F16/23 , G06F12/02 , G06F3/06 , G06F16/22 , G06F12/0882 , G06F16/2455 , G06F12/0875 , G06F9/48
CPC classification number: G06F16/2379 , G06F3/0604 , G06F3/064 , G06F3/0673 , G06F9/4843 , G06F12/0223 , G06F12/0246 , G06F12/0875 , G06F12/0882 , G06F16/221 , G06F16/2219 , G06F16/2228 , G06F16/2237 , G06F16/2255 , G06F16/2272 , G06F16/2282 , G06F16/24552 , G06F16/24558 , G06F2212/1024 , G06F2212/1044
Abstract: Disclosed herein are system, method, and computer program product embodiments for storing an object onto a first or second page. An embodiment operates by receiving the object and determining that the first page has sufficient unused space for storing at least one byte of the object. Thereafter, a data block of the object is created to comprise at least one byte of the object. The data block is then stored on the first page or the second page, and a location of the object's first data block is recorded. Thereafter, a pointer corresponding to the location of the object's first data block for loading the object is provided.
-
公开(公告)号:US11537578B2
公开(公告)日:2022-12-27
申请号:US15958663
申请日:2018-04-20
Applicant: SAP SE
Inventor: Colin Florendo , Carsten Thiel , Ivan Schreter , Mihnea Andrei , Anil Kumar Goel
IPC: G06F16/22
Abstract: A request for an entry of a dictionary having multiple dictionary blocks may be received, where the dictionary stores string values associated with corresponding value identifiers (IDs) for dictionary compression. One of the dictionary blocks may be selectively loaded into memory, and the dictionary block that has been loaded into memory may be searched. A value ID directory may be constructed in memory, where the value ID directory includes last value IDs for the dictionary blocks, and each of the last value IDs is mapped to an index of one of the dictionary blocks that includes a string value for that last value ID. A separator directory may also be constructed in memory, where the separator directory includes separators for the dictionary blocks, and each of the separators is mapped to an index of one of the dictionary blocks that includes a string value for that separator.
-
公开(公告)号:US11372845B2
公开(公告)日:2022-06-28
申请号:US16893703
申请日:2020-06-05
Applicant: SAP SE
Inventor: Deepak Shrivastava , Chaitanya Gottipati , Colin Florendo , Rolando Blanco , Michael Muehle , Awisha Makwana
IPC: G06F16/23 , G06F16/22 , G06F16/2455 , G06F12/02 , G06F3/06 , G06F12/0882 , G06F12/0875 , G06F9/48
Abstract: Disclosed herein are system, method, and computer program product embodiments for converting column loadable data in a database into a page loadable format. When a column oriented in-memory database needs to perform an operation on a table, the affected columns must be loaded fully into memory. In some cases, a database may partition tables, allowing for column fragments corresponding to those partitions to be loaded into memory. These column fragments may exceed available memory, such that it is beneficial to convert the column fragment into a page loadable format. Approaches are discussed herein for performing the conversion without the need to update global metadata during the process, allowing for multiple parallel column fragments to be updated, allowing data manipulation language (DML) operations to continue on the column during the conversion process, and reducing the impact of blocked parallel savepoint operations during the conversion process by chunking the conversion process.
-
-
-
-
-
-
-
-
-