-
公开(公告)号:US12153816B2
公开(公告)日:2024-11-26
申请号:US17944610
申请日:2022-09-14
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 scanning 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.
-
公开(公告)号:US11514027B2
公开(公告)日:2022-11-29
申请号:US16857982
申请日:2020-04-24
Applicant: SAP SE
Inventor: Reza Sherkat , Chaitanya Gottipati , Colin Florendo , Martin Heidel
IPC: G06F16/22 , G06F16/23 , G06F12/02 , G06F3/06 , G06F12/0882 , G06F16/2455 , G06F12/0875 , G06F9/48
Abstract: Disclosed herein are system, method, and computer program product embodiments for storing a large object (LOB) in a database. An embodiment operates by identifying the LOB to be stored in an on-disk store of the database and determining the size of the LOB. Thereafter, an index vector for the on-disk store to include an identifier corresponding to the LOB is created. Additionally, a dictionary for the on-disk store to include a copy of the identifier and corresponding LOB data is also created. The LOB data corresponds to the LOB itself or a LOB location inside of the on-disk store based on the LOB's size.
-
公开(公告)号:US20180239788A1
公开(公告)日:2018-08-23
申请号:US15958663
申请日:2018-04-20
Applicant: SAP SE
Inventor: Colin Florendo , Carsten Thiel , Ivan Schreter , Mihnea Andrei , Anil Kumar Goel
IPC: G06F17/30
CPC classification number: 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.
-
公开(公告)号:US11442862B2
公开(公告)日:2022-09-13
申请号:US16850310
申请日:2020-04-16
Applicant: SAP SE
Inventor: Robert Schulze , Adrian Dragusanu , Anup Ghatage , Colin Florendo , Mihnea Andrei , Randall Hammon , Sarika Iyer , Simhachala Sasikanth Gottapu , Yanhong Wang
IPC: G06F12/08 , G06F12/0862 , G06F12/0882 , G06F16/24 , G06F16/22
Abstract: Disclosed herein are system, method, and computer program product embodiments for performing fair prefetching. An embodiment operates by splitting a data vector into a first subrange and a second subrange. The embodiment performs a first chance prefetch operation on the first subrange based on a fixed number of pages, thereby loading a set of pages of the first subrange into a main memory. The embodiment performs the first chance prefetch operation on the second subrange based on the fixed number of pages, thereby loading a first set of pages of the second subrange into the main memory. The embodiment performs a second chance prefetch operation on the second subrange based on the performing the first chance prefetch operation on the second subrange, thereby loading a second set of pages of the second subrange into the main memory. The embodiment then executes the query.
-
公开(公告)号:US11194789B2
公开(公告)日:2021-12-07
申请号:US16858344
申请日:2020-04-24
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
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.
-
公开(公告)号:US10885074B2
公开(公告)日:2021-01-05
申请号:US16059665
申请日:2018-08-09
Applicant: SAP SE
Inventor: Calvin Hua , Reza Sherkat , Colin Florendo , Mihnea Andrei
IPC: G06F16/31 , H03M7/40 , G06F16/901 , G06F16/9038
Abstract: Disclosed herein are system, method, and computer program product embodiments for providing a memory optimization system for inverted indexes. An embodiment operates by determining a value identifier corresponding to a value to be searched for in a database based on a query. From a lookup table, a prefix of an offset corresponding to a location in a compressed posting list that identifies row locations where the value is found in the database is retrieved. From a directory page, a suffix of the offset corresponding to the location is retrieved. The offset is generated based on the prefix and the suffix. From the posting list, row identifiers corresponding to the generated offset are retrieved. The retrieved row identifiers are returned responsive to the query.
-
公开(公告)号:US10769034B2
公开(公告)日:2020-09-08
申请号:US15452391
申请日:2017-03-07
Applicant: SAP SE
Inventor: Sarika Iyer , Vivek Kandiyanallur , Martin Heidel , Rolando Blanco , Stephan Kottler , Carsten Thiel , Peter Steinemann , Jörn Schmidt , Colin Florendo , Michael Muehle , Chaitanya Gottipati
IPC: G06F17/30 , G06F11/14 , G06F16/23 , G06F16/2453
Abstract: Objects across multiple database manipulation language (DML) redo log records are cached, during continuous replay of redo log records on a secondary system, for the same table partition to enable reuse of such cached objects. Later, these cached objects can be reused as they are accessed during the sequential processing of DML redo records for a specific table partition.
-
公开(公告)号:US10140326B2
公开(公告)日:2018-11-27
申请号:US14954736
申请日:2015-11-30
Applicant: SAP SE
Inventor: Reza Sherkat , Ivan Schreter , Robert Schulze , Mihnea Andrei , Colin Florendo , Christian Lemke , Sebastian Seifert
Abstract: Disclosed herein are system and method embodiments for generating a paged inverted index. An embodiment is generated by storing a first data structure and the second data structure in a plurality of pages, where the plurality of pages are stored in the one or more memories. The first data structure is stored in the plurality of pages and includes a plurality of value identifiers, where a value identifier corresponds to an offset. The second data structure stored in the plurality of pages includes a plurality of row positions, wherein a row position is at a location that corresponds to the offset in the first data structure and identifies a position of row in a table that stores data associated with the value ID.
-
公开(公告)号:US20180260287A1
公开(公告)日:2018-09-13
申请号:US15452391
申请日:2017-03-07
Applicant: SAP SE
Inventor: Sarika Iyer , Vivek Kandiyanallur , Martin Heidel , Rolando Blanco , Stephan Kottler , Carsten Thiel , Peter Steinemann , Jörn Schmidt , Colin Florendo , Michael Muehle , Chaitanya Gottipati
Abstract: Objects across multiple database manipulation language (DML) redo log records are cached, during continuous replay of redo log records on a secondary system, for the same table partition to enable reuse of such cached objects. Later, these cached objects can be reused as they are accessed during the sequential processing of DML redo records for a specific table partition.
-
公开(公告)号:US12019622B2
公开(公告)日:2024-06-25
申请号:US18216218
申请日:2023-06-29
Applicant: SAP SE
Inventor: Colin Florendo , Surendra Vishnoi , Janardhan Hungund , Manuel Caroli
IPC: G06F3/06 , G06F9/48 , G06F12/02 , G06F12/0875 , G06F12/0882 , G06F16/22 , G06F16/23 , G06F16/2455
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.
-
-
-
-
-
-
-
-
-