Patents by Inventor David Wein
David Wein has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 11086832Abstract: 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.Type: GrantFiled: October 16, 2015Date of Patent: August 10, 2021Assignee: SAP SEInventors: Panfeng Zhou, Colin Florendo, Ivan Schreter, Thorsten Glebe, David Wein
-
Patent number: 10747737Abstract: Disclosed herein are system, method, and computer program product embodiments for altering the data type of a column in a database. An embodiment operates by converting an original dictionary associated with a column into a new dictionary. The new dictionary stores the values of the original dictionary using a different data type. An index vector containing the keys of the original dictionary is then updated to contain the associated keys of the new dictionary. Because the size of the original dictionary is often substantially smaller than the number of rows in the associated column, this dictionary conversion decreases the computation cost to the database system of altering the data type of the column and reduces or even minimizes database downtime for users.Type: GrantFiled: November 25, 2014Date of Patent: August 18, 2020Assignee: SAP SEInventors: Colin Florendo, Ivan Schreter, Panfeng Zhou, David Wein, Steffen Geissinger, Michael Muehle
-
Patent number: 10725987Abstract: The subject matter disclosed herein provides methods for the forced ordering of a dictionary based on row identifier values. A plurality of concurrent transactions can be handled in an in-memory database. At least one of the transactions can include at least one write operation to a dictionary. Each write operation can be assigned a row identifier (ID). At least one of the write operations can be written to the dictionary out of sequence. The sequence can be based on the row ID. Each row ID in the dictionary can be mapped to a corresponding value identifier in the dictionary. The dictionary can position the value identifiers so that the corresponding row IDs are in a sorted sequential order based on the row ID. Related apparatus, systems, techniques, and articles are also described.Type: GrantFiled: November 25, 2014Date of Patent: July 28, 2020Assignee: SAP SEInventors: David Wein, Ivan Schreter, Mihnea Andrei, Martin Heidel, Frank Benkstein
-
Patent number: 10311048Abstract: Changes to data in a column in an in memory array resulting from operations of a transaction thread can be written to a database object associated with the column. The database object can be marked for materialization upon completion of all of the plurality of operations of the transaction thread such that the column and the changes are materialized from the in-memory array to one or more pages stored on a persistent storage based on the marking.Type: GrantFiled: November 17, 2015Date of Patent: June 4, 2019Assignee: SAP SEInventor: David Wein
-
Patent number: 10296611Abstract: The subject matter disclosed herein provides methods for reformatting a page due to a rollover. An in-memory array holding a column of data can be maintained. One or more pages can be maintained. Each page can have one or more rows for storing the column of data. The column of data in the in-memory array can be monitored for a change. A rollover can be performed on at least one of the pages based on the change. The rollover can reformat the at least one page by rewriting metadata associated with the at least one page. Related apparatus, systems, techniques, and articles are also described.Type: GrantFiled: November 25, 2014Date of Patent: May 21, 2019Inventors: David Wein, Mihnea Andrei, Ivan Schreter, Rolando Blanco, Thomas Legler
-
Patent number: 9965504Abstract: Loading of table metadata into memory of an in-memory database is initiated. The table metadata is persisted across pages in a page chain. Thereafter, a plurality of metadata objects are materialized into memory that each include an object handle pinning an underlying persisted page in the page chain. The objects are populated with data from the underlying persisted pages. Subsequently, for one to many object relationships, a vector of object handles is generated that comprises a plurality of transient handles that each point to a different instance of a respective transient object. Alternatively, for one to one object relationships or many to one object relationships, an object handle to point to a respective linked object is generated. Related apparatus, systems, techniques and articles are also described.Type: GrantFiled: November 25, 2014Date of Patent: May 8, 2018Assignee: SAP SEInventors: Ivan Schreter, David Wein, Thorsten Glebe
-
Patent number: 9898551Abstract: The subject matter disclosed herein provides methods for determining the page on which a desired row position value is located. A table having a plurality of rows can be accessed. The rows can be distributed across one or more pages in an in-memory database. Each row can be associated with a unique row position value. Each page can be associated with a capacity that is representative of an amount of data stored on the page. A capacity index having a plurality of entries can be created to record changes in capacity between pages. Neighboring entries in the capacity index can have a different capacity. Each entry in the capacity index can correspond to a page. A page directory can be created based on the capacity index. The page directory can indicate all possible row position values associated with each page. Related apparatus, systems, techniques, and articles are also described.Type: GrantFiled: November 25, 2014Date of Patent: February 20, 2018Assignee: SAP SEInventors: David Wein, Ivan Schreter
-
Patent number: 9891831Abstract: The subject matter disclosed herein provides methods for the dual storage of data using an in-memory array and an on-disk page structure. An in-memory array holding a column of data can be maintained. One or more pages can be maintained. Each of the one or more pages can have one or more rows for storing the column of data. Random access can be provided to a subset of the one or more rows by at least loading the subset of rows from the one or more pages to the in-memory array without loading all of the rows from the one or more pages. Related apparatus, systems, techniques, and articles are also described.Type: GrantFiled: November 25, 2014Date of Patent: February 13, 2018Assignee: SAP SEInventors: Thomas Legler, David Wein, Ivan Schreter, Mihnea Andrei, Anil Kumar Goel, Guenter Radestock
-
Patent number: 9830109Abstract: The subject matter disclosed herein provides methods for materializing data from an in-memory array to one or more pages. An in-memory array holding a column of data can be maintained. One or more pages can be maintained. Each of the one or more pages can have one or more rows for storing the column of data. At least one of the one or more pages can be marked for materialization. The column of data can be materialized by copying the data from the in-memory array to the one or more rows of the one or more pages. The materializing can be based on the marking. Related apparatus, systems, techniques, and articles are also described.Type: GrantFiled: December 5, 2016Date of Patent: November 28, 2017Assignee: SAP SEInventors: David Wein, Mihnea Andrei, Dirk Thomsen, Ivan Schreter
-
Patent number: 9811549Abstract: Disclosed herein are system, method, and computer program product embodiments for directly restoring a database from a log volume. An embodiment operates by reading one or more database transaction log records from a log volume. The embodiment then loads from a database table persistent storage one or more pages containing rows in the database table that will be read from or written to by the one or more database transaction log records. The embodiment then loads a dictionary for each column associated with the one or more database transaction log records. The embodiment then applies the one or more database transaction log records directly into the one or more loaded pages and the one or more dictionaries. Each dictionary and page modified in memory is then written to the database table persistent storage when a savepoint operation is performed.Type: GrantFiled: November 25, 2014Date of Patent: November 7, 2017Assignee: SAP SEInventors: Ivan Schreter, Shiping Chen, David Wein, Steffen Geiβinger
-
Patent number: 9779104Abstract: Log records are accessed as part of a database operation in a database. The log records log insert, update, and delete operations in the database and include, for each row, a row position, a fragment identifier (ID), and a row ID. Thereafter, as part of the database operation, rows specified by the log records are located by: using the fragment identifier and the row position within the corresponding record of the log if the fragment with the corresponding fragment identifier is still available, otherwise, using the row identifier within the corresponding record of the log to look up the row position in an index of a corresponding row identifier column. The database operation is then finalized using the located rows. Related apparatus, systems, techniques and articles are also described.Type: GrantFiled: November 25, 2014Date of Patent: October 3, 2017Assignee: SAP SEInventors: Mihnea Andrei, Ivan Schreter, David Wein, Shiping Chen, Panfeng Zhou, Steffen Geissinger
-
Publication number: 20170139981Abstract: Changes to data in a column in an in memory array resulting from operations of a transaction thread can be written to a database object associated with the column. The database object can be marked for materialization upon completion of all of the plurality of operations of the transaction thread such that the column and the changes are materialized from the in-memory array to one or more pages stored on a persistent storage based on the marking.Type: ApplicationFiled: November 17, 2015Publication date: May 18, 2017Inventor: David Wein
-
Publication number: 20170109044Abstract: 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.Type: ApplicationFiled: October 16, 2015Publication date: April 20, 2017Inventors: Panfeng Zhou, Colin Florendo, Ivan Schreter, Thorsten Glebe, David Wein
-
Publication number: 20170083243Abstract: The subject matter disclosed herein provides methods for materializing data from an in-memory array to one or more pages. An in-memory array holding a column of data can be maintained. One or more pages can be maintained. Each of the one or more pages can have one or more rows for storing the column of data. At least one of the one or more pages can be marked for materialization. The column of data can be materialized by copying the data from the in-memory array to the one or more rows of the one or more pages. The materializing can be based on the marking. Related apparatus, systems, techniques, and articles are also described.Type: ApplicationFiled: December 5, 2016Publication date: March 23, 2017Inventors: David Wein, Mihnea Andrei, Dirk Thomsen, Ivan Schreter
-
Patent number: 9513811Abstract: The subject matter disclosed herein provides methods for materializing data from an in-memory array to one or more pages. An in-memory array holding a column of data can be maintained. One or more pages can be maintained. Each of the one or more pages can have one or more rows for storing the column of data. At least one of the one or more pages can be marked for materialization. The column of data can be materialized by copying the data from the in-memory array to the one or more rows of the one or more pages. The materializing can be based on the marking. Related apparatus, systems, techniques, and articles are also described.Type: GrantFiled: November 25, 2014Date of Patent: December 6, 2016Assignee: SAP SEInventors: David Wein, Mihnea Andrei, Dirk Thomsen, Ivan Schreter
-
Publication number: 20160147457Abstract: The subject matter disclosed herein provides methods for the dual storage of data using an in-memory array and an on-disk page structure. An in-memory array holding a column of data can be maintained. One or more pages can be maintained. Each of the one or more pages can have one or more rows for storing the column of data. Random access can be provided to a subset of the one or more rows by at least loading the subset of rows from the one or more pages to the in-memory array without loading all of the rows from the one or more pages. Related apparatus, systems, techniques, and articles are also described.Type: ApplicationFiled: November 25, 2014Publication date: May 26, 2016Inventors: Thomas Legler, David Wein, Ivan Schreter, Mihnea Andrei, Anil Kumar Goel, Guenter Radestock
-
Publication number: 20160147786Abstract: Log records are accessed as part of a database operation in a database. The log records log insert, update, and delete operations in the database and include, for each row, a row position, a fragment identifier (ID), and a row ID. Thereafter, as part of the database operation, rows specified by the log records are located by: using the fragment identifier and the row position within the corresponding record of the log if the fragment with the corresponding fragment identifier is still available, otherwise, using the row identifier within the corresponding record of the log to look up the row position in an index of a corresponding row identifier column. The database operation is then finalized using the located rows. Related apparatus, systems, techniques and articles are also described.Type: ApplicationFiled: November 25, 2014Publication date: May 26, 2016Inventors: Mihnea Andrei, Ivan Schreter, David Wein, Shiping Chen, Panfeng Zhou, Steffen Geissinger
-
Publication number: 20160147904Abstract: The subject matter disclosed herein provides methods for determining the page on which a desired row position value is located. A table having a plurality of rows can be accessed. The rows can be distributed across one or more pages in an in-memory database. Each row can be associated with a unique row position value. Each page can be associated with a capacity that is representative of an amount of data stored on the page. A capacity index having a plurality of entries can be created to record changes in capacity between pages. Neighboring entries in the capacity index can have a different capacity. Each entry in the capacity index can correspond to a page. A page directory can be created based on the capacity index. The page directory can indicate all possible row position values associated with each page. Related apparatus, systems, techniques, and articles are also described.Type: ApplicationFiled: November 25, 2014Publication date: May 26, 2016Inventors: David Wein, Ivan Schreter
-
Publication number: 20160147459Abstract: The subject matter disclosed herein provides methods for materializing data from an in-memory array to one or more pages. An in-memory array holding a column of data can be maintained. One or more pages can be maintained. Each of the one or more pages can have one or more rows for storing the column of data. At least one of the one or more pages can be marked for materialization. The column of data can be materialized by copying the data from the in-memory array to the one or more rows of the one or more pages. The materializing can be based on the marking. Related apparatus, systems, techniques, and articles are also described.Type: ApplicationFiled: November 25, 2014Publication date: May 26, 2016Inventors: David Wein, Mihnea Andrei, Dirk Thomsen, Ivan Schreter
-
Publication number: 20160147776Abstract: Disclosed herein are system, method, and computer program product embodiments for altering the data type of a column in a database. An embodiment operates by converting an original dictionary associated with a column into a new dictionary. The new dictionary stores the values of the original dictionary using a different data type. An index vector containing the keys of the original dictionary is then updated to contain the associated keys of the new dictionary. Because the size of the original dictionary is often substantially smaller than the number of rows in the associated column, this dictionary conversion decreases the computation cost to the database system of altering the data type of the column and reduces or even minimizes database downtime for users.Type: ApplicationFiled: November 25, 2014Publication date: May 26, 2016Inventors: Colin Florendo, Ivan Schreter, Panfeng Zhou, David Wein, Steffen Geissinger, Michael Muehle