Patents by Inventor Mihnea Andrei

Mihnea Andrei 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: 11030182
    Abstract: A method may include iterating through at least a portion of a table stored in a database by identifying a timestamp block associated with a range of rows forming the portion of the table. In response to determining that the timestamp block is a sparse timestamp block storing timestamps associated with only some of the rows in the first range of rows, generating a bitmap. Each of the binary values in the bitmap may correspond one of the rows in the range of rows. Moreover, each of the binary values in the bitmap may indicate whether the timestamp block includes a timestamp associated with a corresponding row from the range of rows. Iterating through the range of rows may include accessing, based on the bitmap, the timestamp block to read or write timestamps of transaction affecting the rows in the range of rows.
    Type: Grant
    Filed: February 14, 2019
    Date of Patent: June 8, 2021
    Assignee: SAP SE
    Inventors: Amarnadh Sai Eluri, Vimal Chandran Satheesh, Anupam Mukherjee, Mihnea Andrei
  • Patent number: 11023447
    Abstract: A method may include performing a transaction on a row in a table stored in a database. In response to performing the transaction, a first timestamp block associated with a range of rows including the row may be retrieved. In response to determining that the first timestamp block is a sparse timestamp block that has reached maximum capacity, a second timestamp block may be allocated for storing the timestamp associated with the transaction. The sparse timestamp block may be allocated with sufficient storage space for storing some but not all of the timestamps associated with the range of rows. By contrast, the second timestamp block may be a dense timestamp block allocated with sufficient storage space for storing all of the timestamps associated with the range of rows. The timestamp associated with the transaction may be stored in the second timestamp block.
    Type: Grant
    Filed: February 14, 2019
    Date of Patent: June 1, 2021
    Assignee: SAP SE
    Inventors: Amarnadh Sai Eluri, Vimal Chandran Satheesh, Anupam Mukherjee, Mihnea Andrei
  • Patent number: 10997178
    Abstract: A method, a system and a computer program product for implicitly partitioning data. An index in a plurality of indexes is selected. The index corresponds to a plurality of ranges of data values stored in a plurality of database slices of a database. A partitioning structure for the selected index is generated. The partitioning structure includes a plurality of hierarchically arranged nodes. Each node corresponds to a range of data values in the plurality of ranges of data values stored and at least one database slice storing corresponding range of data values. Another range of data values is received for storage in the database. Using the partitioning structure, a node in the partitioning structure corresponding to the received range of data values and a corresponding database slice for storing the received range of data values are identified. The received range of data values is stored in the identified database slice.
    Type: Grant
    Filed: June 11, 2019
    Date of Patent: May 4, 2021
    Assignee: SAP SE
    Inventors: Christian Bensberg, Mihnea Andrei
  • Publication number: 20210089550
    Abstract: Techniques and solutions are described for implementing virtual table schemas. A virtual table schema includes a logical pointer that is used to target a table that includes data and is defined according to the virtual table schema. Values assigned to the logical pointer can be used to target tables at different locations, such as in a federated database system or in a cache of a database management system of a central computing system. When data associated with the virtual table is requested, or prior to receiving the request, the data can be stored in a table in the cache. The logical pointer can be updated to reference the cache. If the cache is full, the table can be removed from the cache, and the logical pointer can be updated to reference a table at the federated database system.
    Type: Application
    Filed: December 13, 2019
    Publication date: March 25, 2021
    Applicant: SAP SE
    Inventors: Ruediger Karl, Mihnea Andrei, Juchang Lee, Stefan Baeuerle, Seyeong Bae, Joo Yeon Lee
  • Publication number: 20210089552
    Abstract: Techniques and solutions are described for implementing virtual table schemas. A virtual table schema includes a logical pointer that is used to target a table that includes data and is defined according to the virtual table schema. Values assigned to the logical pointer can be used to target tables at different locations, such as tables located in a remote database system, replica tables containing data replicated from a table in a remote database system, or cached table data. Replica tables targeted by a logical pointer of a virtual table schema can have various locations, such as being located in main memory of a database system, being located in a dynamic storage system, or being located in a data lake. Replica tables can be transferred between locations based on various criteria.
    Type: Application
    Filed: December 13, 2019
    Publication date: March 25, 2021
    Applicant: SAP SE
    Inventors: Ruediger Karl, Mihnea Andrei, Juchang Lee, Stefan Baeuerle, Seyeong Bae, Joo Yeon Lee
  • Publication number: 20210089540
    Abstract: Techniques and solutions are described for implementing virtual table schemas. A virtual table schema includes a logical pointer that is used to target a table that includes data and is defined according to the virtual table schema. Values assigned to the logical pointer can be used to target tables at different locations, such as in-memory storage or in dynamic storage of a database management system. The dynamic storage includes an in-memory buffer cache and persistent storage. The logical pointer can be updated to point to the in-memory storage or the dynamic storage, including based on use statistics. Similarly, a table having data for the virtual table can be transitioned between the in-memory buffer cache and the persistent storage, including based on use statistics for the virtual table. A value for the logical pointer can be updated when the table is transferred between the in-memory buffer cache and the dynamic storage.
    Type: Application
    Filed: December 13, 2019
    Publication date: March 25, 2021
    Applicant: SAP SE
    Inventors: Ruediger Karl, Mihnea Andrei, Juchang Lee, Stefan Baeuerle, Seyeong Bae, Joo Yeon Lee
  • Patent number: 10885062
    Abstract: Persisting data in logical tiers of an in-memory database based on aging rules of the database system. The database system can be configured to age data by moving the data from a first logical tier supporting high performance data access to a second logical tier supporting lower performance data access, thereby improving the operational efficiency of the database system.
    Type: Grant
    Filed: November 25, 2016
    Date of Patent: January 5, 2021
    Assignee: SAP SE
    Inventors: Mihnea Andrei, Christian Bensberg, Alexander Boehm, Adrian Dragusanu, Xun Chen, Reza Sherkat, Anisoara Nica, Martin Heidel, Rolando Blanco
  • Patent number: 10885074
    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.
    Type: Grant
    Filed: August 9, 2018
    Date of Patent: January 5, 2021
    Assignee: SAP SE
    Inventors: Calvin Hua, Reza Sherkat, Colin Florendo, Mihnea Andrei
  • Patent number: 10877675
    Abstract: Provided is a system and method for improving memory management in a database. In one example, the method may include receiving a request to store a data object within a database, determining a category type associated with the data object from among a plurality of category types based on an attribute of the data object, and storing the data object via a memory pool corresponding to the determined category from among a plurality of memory pools corresponding to the plurality of respective categories, where the storing comprises allocating a first category type of data object to a first memory pool locked to main memory and allocating a second category type of data object to a second memory pool that is swapped out to disk over time. The locked memory pool can ensure that more important data items remain available even when they are the least recently used.
    Type: Grant
    Filed: February 15, 2019
    Date of Patent: December 29, 2020
    Assignee: SAP SE
    Inventors: Anupam Mukherjee, Mihnea Andrei
  • Publication number: 20200394195
    Abstract: A method, a system and a computer program product for implicitly partitioning data. An index in a plurality of indexes is selected. The index corresponds to a plurality of ranges of data values stored in a plurality of database slices of a database. A partitioning structure for the selected index is generated. The partitioning structure includes a plurality of hierarchically arranged nodes. Each node corresponds to a range of data values in the plurality of ranges of data values stored and at least one database slice storing corresponding range of data values. Another range of data values is received for storage in the database. Using the partitioning structure, a node in the partitioning structure corresponding to the received range of data values and a corresponding database slice for storing the received range of data values are identified. The received range of data values is stored in the identified database slice.
    Type: Application
    Filed: June 11, 2019
    Publication date: December 17, 2020
    Inventors: Christian Bensberg, Mihnea Andrei
  • Publication number: 20200387509
    Abstract: Disclosed herein are system, method, and computer-program product embodiments for generating a paged and in-memory representation of a database object. An embodiment operates by maintaining in-memory and paged form primitives unique to the database object or a substructure thereof in a database such that the in-memory and paged form primitives are capable of providing the in-memory and paged representations of the database objects, respectively. Thereafter, a load configuration for the database object is determined. Based on the load configuration, the in-memory and/or paged representations of the database object are generated using the in-memory form primitive or the paged form primitive unique to the database object, respectively. Subsequently, the in-memory and/or paged representations of the database object are stored in the database.
    Type: Application
    Filed: May 5, 2020
    Publication date: December 10, 2020
    Inventors: Colin Florendo, Mihnea ANDREI, Amit PATHAK, Robert SCHULZE, Adrian DRAGUSANU, Reza SHERKAT, Sebastian SEIFERT, Christian LEMKE
  • Patent number: 10853343
    Abstract: Systems, apparatus, techniques, articles, and methods include a unified table container for storing data and metadata in pages organized in one or more page chains. A determination is made as to whether the query includes a data definition statement. In response to determining that the query includes a data definition statement, in-memory runtime data is persisted to a persistent volume that is configured to be accessed by the database system. The in-memory runtime data includes one or more first data fields and one or more second data fields that are different from the one or more first data fields. Furthermore, the unified table container includes a persistent runtime data descriptor that is associated with the one or more first data fields and persists the first one or more first data fields when persisting the in-memory runtime data.
    Type: Grant
    Filed: May 16, 2017
    Date of Patent: December 1, 2020
    Assignee: SAP SE
    Inventors: Michael Muehle, Chaitanya Gottipati, Nirvik Basak, Mihnea Andrei
  • Publication number: 20200320051
    Abstract: Implementations of the present disclosure include providing, at each node in a set of nodes of a database system, a table partition of a plurality of table partitions, the plurality of table partitions being provided by partitioning a table using a primary key, providing, at each node in the set of nodes of the database system, a secondary index partition of a plurality of secondary index partitions, each secondary index partition including a replicate table of at least a portion of the table, the plurality of secondary index partitions being provided by partitioning the table using one or more secondary keys, and for at least one operation executed on a table partition, executing a replication protocol to replicate the at least one operation on a secondary index partition that corresponds to the table partition.
    Type: Application
    Filed: April 2, 2019
    Publication date: October 8, 2020
    Inventors: Juchang Lee, Hyejeong Lee, Kyu Hwan Kim, Friedrich Keller, Mihnea Andrei
  • Patent number: 10762107
    Abstract: A computer implemented method for updating a secondary database includes receiving transaction log information from a primary database system at a secondary database system. The transaction log information comprises a first marker identifying a beginning of an operation comprising a plurality of sub-operations and a second marker identifying an end of the operation. The transaction log information is sequentially parsed, a first marker is identified, and a lock state is created after replaying the first marker to ensure proper serialization of the plurality of sub-operations. The lock state is terminated after replaying the second marker. Related apparatus, systems, techniques and articles are also described.
    Type: Grant
    Filed: January 18, 2017
    Date of Patent: September 1, 2020
    Assignee: SAP SE
    Inventors: Colin Florendo, Chaitanya Gottipati, Michael Muehle, Nirvik Basak, Mihnea Andrei, Thomas Peh
  • Publication number: 20200264786
    Abstract: Provided is a system and method for improving memory management in a database. In one example, the method may include receiving a request to store a data object within a database, determining a category type associated with the data object from among a plurality of category types based on an attribute of the data object, and storing the data object via a memory pool corresponding to the determined category from among a plurality of memory pools corresponding to the plurality of respective categories, where the storing comprises allocating a first category type of data object to a first memory pool locked to main memory and allocating a second category type of data object to a second memory pool that is swapped out to disk over time. The locked memory pool can ensure that more important data items remain available even when they are the least recently used.
    Type: Application
    Filed: February 15, 2019
    Publication date: August 20, 2020
    Inventors: Anupam Mukherjee, Mihnea Andrei
  • Patent number: 10725987
    Abstract: 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: Grant
    Filed: November 25, 2014
    Date of Patent: July 28, 2020
    Assignee: SAP SE
    Inventors: David Wein, Ivan Schreter, Mihnea Andrei, Martin Heidel, Frank Benkstein
  • Patent number: 10706077
    Abstract: Computer-implemented systems and methods for categorizing tables of a database into groups are provided. A set of queries used to access a database are processed to generate a log that identifies for each of the queries (i) a database operation associated with the query, (ii) a table of the database accessed via the query, and (iii) a column or columns of the table used by the query to access the table. Database operation criteria for categorizing database tables into groups are accessed. The criteria are based on a total number of times that a table is accessed by the set of queries and a number of times that the table is accessed using a column or group of columns. An algorithm that evaluates data of the log against the criteria is applied. The algorithm is configured to automatically categorize tables identified in the log into groups based on the evaluation.
    Type: Grant
    Filed: June 8, 2017
    Date of Patent: July 7, 2020
    Assignee: SAP SE
    Inventors: Mihnea Andrei, Mahesh Gadgil
  • Patent number: 10691688
    Abstract: Cracking page-loadable columns for in-memory data management is described herein. An embodiment operates by accessing a column according to a received query, determining that the received query requires a non-critical data structure associated with the column, and rebuilding the non-critical data structure from data associated with the column.
    Type: Grant
    Filed: June 17, 2016
    Date of Patent: June 23, 2020
    Assignee: SAP SE
    Inventors: Anisoara Nica, Peter Bumbulis, Reza Sherkat, Mihnea Andrei, Anil K. Goel
  • Publication number: 20200142929
    Abstract: A system and method, including determining, by a processor, a data type for each column of a database table; determining, by the processor and based on the determined data type for each column of the database table, an indication of a size of the database table; calculating, by the processor and based on the determined indication of the size of the database table, a start nbit size for a nbit compression process to be used on the database table; specifying, by the processor, the calculated start nbit size for the nbit compression process; and compressing the database table by executing the nbit data compression process using the specified start nbit size.
    Type: Application
    Filed: January 6, 2020
    Publication date: May 7, 2020
    Inventors: Panfeng Zhou, Mihnea Andrei, Vivek Kandiyanallur, Xin Liu, Neeraj Kulkarni
  • Patent number: 10642823
    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. If the data objects are not in the main memory, they are copied from persistence data volumes to the main memory. The data objects 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.
    Type: Grant
    Filed: November 30, 2016
    Date of Patent: May 5, 2020
    Assignee: SAP SE
    Inventors: Mihnea Andrei, Rolando Blanco, Shiping Chen, Martin Heidel, Vivek Kandiyanallur, Thomas Peh, Joern Schmidt, Liang Song, Peter Steinemann