Patents Assigned to SingleStore, Inc.
  • Patent number: 12572540
    Abstract: In an example there is provided a computer-implemented method which comprises generating an execution plan for a received user query, converting the execution plan into bytecode, compiling to unoptimized machine code using the bytecode and beginning execution of the execution plan by executing the unoptimized machine code, compiling optimized machine code using the bytecode whilst executing the unoptimized machine code; and switching to executing the optimized machine code in order to execute the execution plan, when the optimized machine code has been compiled.
    Type: Grant
    Filed: June 18, 2024
    Date of Patent: March 10, 2026
    Assignee: SingleStore, Inc.
    Inventors: Saksham Jain, John Sherwood, Zhou Sun
  • Patent number: 12530319
    Abstract: A method for managing log files for recording operations on data stored in a database is provided, wherein a set of log files having an allocated first portion of storage is updated, the allocated first portion of storage is monitored, and a second portion of storage is allocated in dependence on a determination that an available portion of storage is below a predetermined size. A method for generating a snapshot is provided, wherein data entries are included in the snapshot in dependence on a determined relative order of log records in a set of log files. A method of replicating a binary large object is provided, wherein the binary large object is sent to a second database in response to identifying a log record comprising data indicating the binary large object.
    Type: Grant
    Filed: July 1, 2024
    Date of Patent: January 20, 2026
    Assignee: SingleStore, Inc.
    Inventors: Adrian Birka, Rodrigo Toste Gomes, Alexander Podolsky
  • Patent number: 12505082
    Abstract: Disclosed herein is a computer-implemented method of storing data items arranged in a plurality of columns and a plurality of rows. In some examples the method comprises storing the data items in a segment of persistent storage having a columnstore comprising one or more column files to store the data items column by column, storing the data items in a rowstore in the segment, the rowstore comprising one or more row files to store the data items row by row, and storing a segment index in the segment, the segment index indicating a location in a said column file of the columnstore and a said row file of the rowstore for at least some of the data items.
    Type: Grant
    Filed: December 7, 2022
    Date of Patent: December 23, 2025
    Assignee: SingleStore, Inc.
    Inventors: Robert Walzer, Xiening Dai
  • Patent number: 12499107
    Abstract: A database system and a computer implemented method for managing functions in the database system is provided. The method, implemented using instructions that may be stored in the database system, involves obtaining first data representing a set of one or more operations to be performed on data in the database system. Second data, representing a function definition, is derived from the first data and the function definition includes the set of one or more operations and a set of state variables. A function is generated according to the second data. Generating the function includes storing a set of one or more values for respective ones of the state variables. The set of values are stored in an isolated computing environment in the database system and the function is configured to operate on the values in the isolated computing environment.
    Type: Grant
    Filed: April 15, 2024
    Date of Patent: December 16, 2025
    Assignee: SingleStore, Inc.
    Inventors: Bailey Hayes, Carl Sverre
  • Patent number: 12436931
    Abstract: Disclosed herein is a computer-implemented method of processing a query using a columnstore comprising a plurality of segments, the method comprising: receiving a query comprising a parameter; determining a key corresponding to the parameter; identifying a mapping structure, from a plurality of mapping structures, relating to said key, wherein each mapping structure corresponds to a respective segment of the columnstore; interrogating the identified mapping structure to determine a value corresponding to the key, wherein the value identifies an entry of an index table of a plurality of index tables that corresponds to the respective segment, wherein the entry of the index table identifies a row of the respective segment of the columnstore relating to the parameter; and retrieving data relating to the parameter from a data source based on data stored in the entry of the index table.
    Type: Grant
    Filed: December 14, 2023
    Date of Patent: October 7, 2025
    Assignee: SingleStore, Inc.
    Inventors: Eric Hanson, Szu-Po Wang, Zhou Sun, Connor Gregory Watts, Nikita Shamgunov, Yevgeniy Kogan
  • Patent number: 12360966
    Abstract: In some examples there is disclosed a computer-implemented method comprising providing an upper index having derived values corresponding to unique key values contained in a columnstore used to store at least part of a database. It may then be determined whether there is a duplicate in the database of the unique key value of the data to be written by querying the upper index for the unique key value and, in response to the upper index having a duplicate derived value, identifying a lower index and a position within the lower index, wherein the lower index is associated with at least part of a column of the columnstore, and querying the lower index to determine whether a unique key value corresponding to the position matches the unique key value of the data to be written.
    Type: Grant
    Filed: November 22, 2021
    Date of Patent: July 15, 2025
    Assignee: SingleStore, Inc.
    Inventors: Huzaifa Abbasi, Evan Bergeron, Zhou Sun, Szu-Po Wang
  • Patent number: 12229163
    Abstract: A database management system configured to perform a computer-implemented method is provided. The method involving configuring a first set of nodes to determine an instantaneous state of the database management system, generate system configuration data, and provide the system configuration data to a second set of nodes of the database management system, wherein the configuration data is replicated amongst the first set of nodes according to a consensus-based replication protocol so as to maintain the system configuration data. The method also involves configuring the second set of nodes to receive the system configuration data and implement a state machine that is arranged to modify a configuration of the second set of nodes according to the system configuration data, wherein the second set of nodes are arranged to replicate user data according to a non-consensus-based replication protocol.
    Type: Grant
    Filed: January 31, 2023
    Date of Patent: February 18, 2025
    Assignee: SingleStore, Inc.
    Inventors: Rodrigo Toste Gomes, Adrian Birka, Joseph Victor, Tiago Vale, Adam Prout
  • Patent number: 12079172
    Abstract: Disclosed herein is a method of managing data in a database management system comprising a first, master storage, node and a second node for performing operations on data stored in the database. The method comprises configuring the second node to perform a set of steps. The second node is configured to write data indicative of one or more operations on data to a set of log files. The second node segments the set of log files into a set of log file chunks For each of the log file chunks, the second node may transmit data from the database associated with a log file chunk to the first node and thereafter transmit the log file chunk to the first node. The segmenting and transmitting of the set of log files and their associated data may be performed asynchronously to the updating of the set of log files.
    Type: Grant
    Filed: December 22, 2021
    Date of Patent: September 3, 2024
    Assignee: Singlestore, Inc.
    Inventors: Joseph Victor, Adam Prout, Rodrigo Toste Gomes, Kai Yuan Lung
  • Patent number: 12056191
    Abstract: There is provided a method of using a bitmap filter to filter a data source as part of a join operation. A set bit at a bit location of the bitmap filter is associated with an entry of the data source that comprises an identifier that matches a filter parameter. A row identifier of a row in another data source that corresponds to the identifier is determined based on a sum of a number of bits set in bit locations that are between the bit location of the set bit associated with the entry of the data source and a bit location in the bitmap filter corresponding to a different, known, row identifier of a different row in the another data source. The row of the another data source corresponding to the determined row identifier is interrogated to obtain information defining the identifier that matches the filter parameter.
    Type: Grant
    Filed: April 3, 2023
    Date of Patent: August 6, 2024
    Assignee: Singlestore, Inc.
    Inventors: Eric Norman Hanson, Michal Nowakiewicz, Eric Boutin
  • Patent number: 12045234
    Abstract: In an example there is provided a computer-implemented method which comprises generating an execution plan for a received user query, converting the execution plan into bytecode, compiling to unoptimized machine code using the bytecode and beginning execution of the execution plan by executing the unoptimized machine code, compiling optimized machine code using the bytecode whilst executing the unoptimized machine code; and switching to executing the optimized machine code in order to execute the execution plan, when the optimized machine code has been compiled.
    Type: Grant
    Filed: December 21, 2021
    Date of Patent: July 23, 2024
    Assignee: Singlestore, Inc.
    Inventors: Saksham Jain, John Sherwood, Zhou Sun
  • Patent number: 12038873
    Abstract: A method for managing log files for recording operations on data stored in a database is provided, wherein a set of log files having an allocated first portion of storage is updated, the allocated first portion of storage is monitored, and a second portion of storage is allocated in dependence on a determination that an available portion of storage is below a predetermined size. A method for generating a snapshot is provided, wherein data entries are included in the snapshot in dependence on a determined relative order of log records in a set of log files. A method of replicating a binary large object is provided, wherein the binary large object is sent to a second database in response to identifying a log record comprising data indicating the binary large object.
    Type: Grant
    Filed: September 6, 2022
    Date of Patent: July 16, 2024
    Assignee: Singlestore, Inc.
    Inventors: Adrian Birka, Rodrigo Toste Gomes
  • Patent number: 11977538
    Abstract: A database system and a computer implemented method for managing functions in the database system is provided. The method, implemented using instructions that may be stored in the database system, involves obtaining first data representing a set of one or more operations to be performed on data in the database system. Second data, representing a function definition, is derived from the first data and the function definition includes the set of one or more operations and a set of state variables. A function is generated according to the second data. Generating the function includes storing a set of one or more values for respective ones of the state variables. The set of values are stored in an isolated computing environment in the database system and the function is configured to operate on the values in the isolated computing environment.
    Type: Grant
    Filed: February 24, 2022
    Date of Patent: May 7, 2024
    Assignee: Singlestore, Inc.
    Inventors: Bailey Hayes, Carl Sverre
  • Patent number: 11886407
    Abstract: Disclosed herein is a computer-implemented method of processing a query using a columnstore comprising a plurality of segments, the method comprising: receiving a query comprising a parameter; determining a key corresponding to the parameter; identifying a mapping structure, from a plurality of mapping structures, relating to said key, wherein each mapping structure corresponds to a respective segment of the columnstore; interrogating the identified mapping structure to determine a value corresponding to the key, wherein the value identifies an entry of an index table of a plurality of index tables that corresponds to the respective segment, wherein the entry of the index table identifies a row of the respective segment of the columnstore relating to the parameter; and retrieving data relating to the parameter from a data source based on data stored in the entry of the index table.
    Type: Grant
    Filed: July 6, 2021
    Date of Patent: January 30, 2024
    Assignee: SingleStore, Inc.
    Inventors: Eric Hanson, Szu-Po Wang, Zhou Sun, Connor Gregory Watts, Nikita Shamgunov, Yevgeniy Kogan
  • Patent number: 11669521
    Abstract: A method for causing a processor to perform a query on a column-store table of encoded values is provided. The method includes configuring the processor to receive the query, comprising a filter to be applied to at least a first column vector of the encoded values. The processor processes the query for the encoded values in the first column vector, to generate a first vector indicative of respective encoded values passing or failing the filter. The processor determines, from the first vector, an indicator of encoded values passing the filter and encoded values failing the filter, relative to the encoded values in the first column vector. The processor determines a bit length of the encoded values. The processor selects an algorithm for processing the query based on the indicator and the determined bit length of the encoded values. A system and a non-transitory, computer-readable medium are also provided.
    Type: Grant
    Filed: February 22, 2022
    Date of Patent: June 6, 2023
    Assignee: SINGLESTORE, INC.
    Inventors: Michal Nowakiewicz, Eric Boutin
  • Patent number: 11645336
    Abstract: There is provided a system of generating a bitmap filter as part of a join operation. A query comprising a filter parameter is received and a first data source associated with the filter parameter is queried to identify an entry therein with an identifier corresponding to the filter parameter. Each entry of the first data source is identified by a corresponding identifier to differentiate the entries from one another. The system generates a bitmap filter corresponding to the filter parameter by identifying a single bit location in the bitmap filter that corresponds to an identifier of the entry corresponding to the filter parameter. Each identifier has a numerical value used to identify the bit location. A single bit location is assigned to the identifier and a bit is set at the assigned bit location such that there is one-to-one mapping between the identifier and the assigned bit location.
    Type: Grant
    Filed: December 7, 2020
    Date of Patent: May 9, 2023
    Assignee: SingleStore, Inc.
    Inventors: Eric Norman Hanson, Michal Nowakiewicz, Eric Boutin
  • Patent number: 11475012
    Abstract: A non-transitory computer-readable medium is provided. The medium comprises a set of instructions, which, when executed by a processing system associated with a database or data warehouse, causes the processing system to retrieve data from a data source in accordance with a mapping between a first set of partitions and a second set of partitions, the first set of partitions being associated with the data source and the second set of partitions being associated with the database. The set of instructions, when executed by the processing system, further causes the processing system to load the retrieved data into the database. Retrieving the data and loading the retrieved data comprise a single logical unit of work. A database system and a method executed by a processing system associated with a database are also provided.
    Type: Grant
    Filed: September 25, 2017
    Date of Patent: October 18, 2022
    Assignee: SingleStore, Inc.
    Inventors: Joseph Victor, Francis Williams, Carl Sverre, Steven Camina, Hurshal Patel
  • Patent number: 11468011
    Abstract: A method for managing log files for recording operations on data stored in a database is provided, wherein a set of log files having an allocated first portion of storage is updated, the allocated first portion of storage is monitored, and a second portion of storage is allocated in dependence on a determination that an available portion of storage is below a predetermined size. A method for generating a snapshot is provided, wherein data entries are included in the snapshot in dependence on a determined relative order of log records in a set of log files. A method of replicating a binary large object is provided, wherein the binary large object is sent to a second database in response to identifying a log record comprising data indicating the binary large object.
    Type: Grant
    Filed: April 11, 2019
    Date of Patent: October 11, 2022
    Assignee: SingleStore, Inc.
    Inventors: Adrian Birka, Rodrigo Toste Gomes
  • Patent number: 11386155
    Abstract: A computer-implemented method of evaluating a set of filter parameters being represented by a filter tree comprising a plurality of nodes. The method can include identifying whether a node is a root of a sub-tree comprising other nodes of the filter tree; generating a cost for said node by processing a sample input comprising a plurality of data items of a data source using the filter parameter and measuring the time taken for the plurality of data items to be processed; and determining a selectivity of said node based on an output of its filter parameter as a result of processing the sample input using the filter parameter; then ordering at least some of the plurality of nodes of the filter tree having the same parent node based on their relative costs and selectivities, for use in generating an ordered filter tree.
    Type: Grant
    Filed: March 27, 2019
    Date of Patent: July 12, 2022
    Assignee: SingleStore, Inc.
    Inventors: Michal Nowakiewicz, Connor Gregory Watts
  • Patent number: 11288268
    Abstract: In an example there is provided a computer-implemented method comprising generating an execution plan for a received user query in a structured query language, the execution plan having a number of operators for operating on data from a content database; compiling the operators into corresponding byte code and machine code; executing the operators by first interpreting the corresponding byte code; switching to executing the operators by executing the corresponding machine code when compiled.
    Type: Grant
    Filed: October 31, 2019
    Date of Patent: March 29, 2022
    Assignee: SingleStore, Inc.
    Inventor: Zhou Sun
  • Patent number: 11275731
    Abstract: A method for causing a processor to perform a query on a column-store table of encoded values is provided. The method includes configuring the processor to receive the query, comprising a filter to be applied to at least a first column vector of the encoded values. The processor processes the query for the encoded values in the first column vector, to generate a first vector indicative of respective encoded values passing or failing the filter. The processor determines, from the first vector, an indicator of encoded values passing the filter and encoded values failing the filter, relative to the encoded values in the first column vector. The processor determines a bit length of the encoded values. The processor selects an algorithm for processing the query based on the indicator and the determined bit length of the encoded values. A system and a non-transitory, computer-readable medium are also provided.
    Type: Grant
    Filed: November 30, 2018
    Date of Patent: March 15, 2022
    Assignee: Singlestore, Inc.
    Inventors: Michal Nowakiewicz, Eric Boutin