Combined row and columnar storage for in-memory databases for OLTP and analytics workloads
First Claim
Patent Images
1. A method, said method comprising steps of:
- storing rows in a table in a database, wherein storing rows in said table comprises storing one or more column-major columns of said rows in column-major format and storing one or more row-major columns of said rows in row-major format;
wherein storing rows in said table further comprises;
storing said one or more row-major columns in a row partition comprising row pages;
storing said one or more column-major columns in one or more column partitions, each column partition of said one or more column partitions comprising column pages, wherein said one or more column-major columns include a particular column-major column;
executing a database transaction, wherein executing said database transaction comprises updating in said database said particular column-major column in-place to a new value;
committing said database transaction; and
wherein said updating comprises storing said new value in a column page of said one or more column partitions before committing said database transaction.
1 Assignment
0 Petitions
Accused Products
Abstract
Columns of a table are stored in either row-major format or column-major format in an in-memory DBMS. For a given table, one set of columns is stored in column-major format; another set of columns for a table are stored in row-major format. This way of storing columns of a table is referred to herein as dual-major format. In addition, a row in a dual-major table is updated “in-place”, that is, updates are made directly to column-major columns without creating an interim row-major form of the column-major columns of the row. Users may submit database definition language (“DDL”) commands that declare the row-major columns and column-major columns of a table.
-
Citations
14 Claims
-
1. A method, said method comprising steps of:
-
storing rows in a table in a database, wherein storing rows in said table comprises storing one or more column-major columns of said rows in column-major format and storing one or more row-major columns of said rows in row-major format; wherein storing rows in said table further comprises; storing said one or more row-major columns in a row partition comprising row pages; storing said one or more column-major columns in one or more column partitions, each column partition of said one or more column partitions comprising column pages, wherein said one or more column-major columns include a particular column-major column; executing a database transaction, wherein executing said database transaction comprises updating in said database said particular column-major column in-place to a new value; committing said database transaction; and wherein said updating comprises storing said new value in a column page of said one or more column partitions before committing said database transaction. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. One or more non-transitory computer-readable media storing sequences of instructions, which, when executed by one or more processors, cause:
-
storing rows in a table in a database, wherein storing rows in said table comprises storing one or more column-major columns of said rows in column-major format and storing one or more row-major columns of said rows in row-major format; wherein storing rows in said table further comprises; storing said one or more row-major columns in a row partition comprising row pages; storing said one or more column-major columns in one or more column partitions, each column partition of said one or more column partitions comprising column pages, wherein said one or more column-major columns include a particular column-major column; executing a database transaction, wherein executing said database transaction comprises updating in said database said particular column-major column in-place to a new value; committing said database transaction; and wherein said updating comprises storing said new value in a column page of said one or more column partitions before committing said database transaction. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
Specification