Cell-based database management system
First Claim
1. A system for managing a database, the system comprising:
- a server including at least on processor and a memory storing processor-executable codes, the server configured to;
maintain a cell-based database, the cell-based database comprising;
a cell domain, the cell domain comprising;
a plurality of cells, each cell of the plurality of cells comprising;
a row identifier;
a column identifier;
a transaction identifier; and
a value identifier;
a domain row sequence, the domain row sequence independently ordering the row identifiers of the plurality of cells;
a domain column sequence, the domain column sequence independently ordering the column identifiers of the plurality of cells;
a row identifier generator, the row identifier generator including an unordered set of unique row identifiers;
a column identifier generator, the column identifier generator including an unordered set of unique column identifiers; and
a transaction sequence, the transaction sequence comprising transaction identifiers of the plurality of cells; and
to transfer cells from a cell buffer of one or more cell buffers to the cell domain, the one or more cell buffers comprising;
a plurality of buffer cells, each buffer cell of the plurality of buffer cells comprising;
the row identifier;
the column identifier;
the transaction identifier; and
the value identifier;
a buffer row sequence, the buffer row sequence independently ordering the row identifiers of the plurality of buffer cells, the buffer now sequence being different from the domain row sequence; and
a buffer column sequence, the buffer column sequence independently ordering the column identifiers of the plurality of buffer cells, the buffer column sequence being different from the domain column sequence; and
wherein while transferring the cells from the cell buffer to the cell domain, the server is further configured to;
determine that at least one of the row identifier, the column identifier, and the transaction identifier is unspecified in at least one cell from the cell buffer;
in response to the determination, transform the at least one cell by specifying the at least one of the row identifier, the column identifier, and the transaction identifier;
determine that a row identifier in at least one cell of the cell buffer is ordered by the buffer row sequence and not ordered by the domain row sequence;
determine, based on the buffer row sequence, a predecessor of the row identifier and a successor of the row identifier, the predecessor being ordered by the domain row sequence using a first row sequence identifier and the successor being ordered by the domain row sequence using a second row sequence identifier;
generate a third row sequence identifier;
add the third row sequence identifier in the domain row sequence between the first row sequence identifier and the second row sequence identifier; and
order the row identifier by the domain row sequence using the third row sequence identifier.
3 Assignments
0 Petitions
Accused Products
Abstract
Provided are systems and methods for managing a database. In an example system, information stored in cells includes a row identifier, a column identifier, a value identifier, and a transaction identifier. The system includes a cell domain and one or more cell buffers. Both the cell domain and cell buffer include a plurality of cells, a row sequence ordering the row identifiers of cells, and a column sequence ordering the column identifiers. Additionally, the cell domain includes row and column identifier generators and transaction and value sequences. The system further includes a transfer module operable to transfer cells from a cell buffer to the cell domain, and a reader module operable to output cells, upon receiving a request buffer, from the cell domain to a response buffer. A set of constraints is applied when outputting cells to the response buffer based on the information stored in the request buffer.
8 Citations
16 Claims
-
1. A system for managing a database, the system comprising:
-
a server including at least on processor and a memory storing processor-executable codes, the server configured to; maintain a cell-based database, the cell-based database comprising;
a cell domain, the cell domain comprising;a plurality of cells, each cell of the plurality of cells comprising; a row identifier; a column identifier; a transaction identifier; and a value identifier; a domain row sequence, the domain row sequence independently ordering the row identifiers of the plurality of cells; a domain column sequence, the domain column sequence independently ordering the column identifiers of the plurality of cells; a row identifier generator, the row identifier generator including an unordered set of unique row identifiers; a column identifier generator, the column identifier generator including an unordered set of unique column identifiers; and a transaction sequence, the transaction sequence comprising transaction identifiers of the plurality of cells; and to transfer cells from a cell buffer of one or more cell buffers to the cell domain, the one or more cell buffers comprising; a plurality of buffer cells, each buffer cell of the plurality of buffer cells comprising; the row identifier; the column identifier; the transaction identifier; and the value identifier; a buffer row sequence, the buffer row sequence independently ordering the row identifiers of the plurality of buffer cells, the buffer now sequence being different from the domain row sequence; and a buffer column sequence, the buffer column sequence independently ordering the column identifiers of the plurality of buffer cells, the buffer column sequence being different from the domain column sequence; and
wherein while transferring the cells from the cell buffer to the cell domain, the server is further configured to;determine that at least one of the row identifier, the column identifier, and the transaction identifier is unspecified in at least one cell from the cell buffer; in response to the determination, transform the at least one cell by specifying the at least one of the row identifier, the column identifier, and the transaction identifier; determine that a row identifier in at least one cell of the cell buffer is ordered by the buffer row sequence and not ordered by the domain row sequence; determine, based on the buffer row sequence, a predecessor of the row identifier and a successor of the row identifier, the predecessor being ordered by the domain row sequence using a first row sequence identifier and the successor being ordered by the domain row sequence using a second row sequence identifier; generate a third row sequence identifier; add the third row sequence identifier in the domain row sequence between the first row sequence identifier and the second row sequence identifier; and order the row identifier by the domain row sequence using the third row sequence identifier. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory computer-readable storage medium having embodied thereon a program, the program being executable by a processor to perform a method for managing a database, the method comprising:
-
transferring cells from a cell buffer of one or more cell buffers to a cell-based database, the cell-based database comprising a cell domain; receiving a request buffer, the request buffer including a cell buffer from the one or more cell buffers; and outputting a response buffer, the response buffer including a cell buffer from the one or more cell buffers; and
whereinthe cell domain comprises; a plurality of cells, each cell of the plurality of cells comprising; a row identifier; a column identifier; a transaction identifier, the transaction identifier comprising a time identifier and a user identifier; and a value identifier; a domain row sequence, the domain row sequence independently ordering the row identifiers of the plurality of cells; a domain column sequence, the domain column sequence independently ordering the column identifiers of the plurality of cells; a row identifier generator, the row identifier generator including an unordered set of unique row identifiers; a column identifier generator, the column identifier generator including an unordered set of unique column identifiers; and a transaction sequence, the transaction sequence comprising transaction identifiers of the plurality of cells; and the one or more cell buffers comprise; a plurality of buffer cells, each buffer cell of the plurality of buffer cells comprising; the row identifier; the column identifier; the transaction identifier, the transaction identifier comprising a buffer time identifier and the buffer user identifier; and the value identifier; a buffer row sequence, the buffer row sequence independently ordering the row identifiers of the plurality of buffer cells, the buffer row sequence being different from the domain row sequence; and a buffer column sequence, the buffer column sequence independently ordering the column identifiers of the plurality of buffer cells, the buffer column sequence being different from the domain column sequence; and
wherein the transferring includes;determining that at least one of the row identifier, the column identifier, and the transaction identifier is unspecified in at least one cell from the cell buffer; in response to the determination, transforming the at least one cell by specifying the at least one of the row identifier, the column identifier, and the transaction identifier; determining that a row identifier in at least one cell of the cell buffer is ordered by the buffer row sequence and not ordered by the domain row sequence; determining, based on the buffer row sequence, a predecessor of the row identifier and a successor of the row identifier, the predecessor being ordered by the domain row sequence using a first row sequence identifier and the successor being ordered by the domain row sequence using a second row sequence identifier; generating a third row sequence identifier; adding the third row sequence identifier in the domain row sequence between the first row sequence identifier and the second row sequence identifier; ordering the row identifier by the domain row sequence using the third row sequence identifier; determining, that a column identifier in at least one cell of the cell buffer is ordered by the buffer column sequence and not ordered by the domain column sequence; determining, based on the buffer column sequence, a column predecessor of the column identifier and a column successor of the column identifier, the column predecessor being ordered by the domain column sequence using a first column sequence identifier and the column successor being ordered by the domain column sequence using a second column sequence identifier; generating a third column sequence identifier; adding the third column sequence identifier in the domain column sequence between the first column sequence identifier and the second column sequence identifier; and ordering the column identifier by the domain column sequence using the third column sequence identifier.
-
Specification