US 11,860,830 B2
Combined row and columnar storage for in-memory databases for OLTP and analytics workloads
Tirthankar Lahiri, Palo Alto, CA (US); Martin A. Reames, Minneapolis, MN (US); Kirk Edson, Fremont, CA (US); Neelam Goyal, San Mateo, CA (US); Kao Makino, San Carlos, CA (US); Anindya Patthak, Fremont, CA (US); Dina Thomas, Palo Alto, CA (US); Subhradyuti Sarkar, Fremont, CA (US); Chi-Kim Hoang, Palo Alto, CA (US); and Qingchun Jiang, Foster City, CA (US)
Assigned to Oracle International Corporation, Redwood Shores, CA (US)
Filed by Oracle International Corporation, Redwood Shores, CA (US)
Filed on Feb. 27, 2019, as Appl. No. 16/287,569.
Application 16/287,569 is a continuation of application No. 14/097,575, filed on Dec. 5, 2013, granted, now 10,311,154.
Claims priority of provisional application 61/880,884, filed on Sep. 21, 2013.
Prior Publication US 2019/0197026 A1, Jun. 27, 2019
Int. Cl. G06F 16/21 (2019.01); G06F 16/27 (2019.01)
CPC G06F 16/211 (2019.01) [G06F 16/21 (2019.01); G06F 16/278 (2019.01)] 18 Claims
OG exemplary drawing
 
1. A method, said method comprising steps of:
a database server receiving a data definition language (DDL) statement that declares a table in a database and table columns of said table;
wherein said database includes a database dictionary that defines database objects of said database;
wherein said DDL statement declares:
one or more column-major columns of said table columns, and
row-major columns of said table columns;
in response to receiving said DDL statement, creating said table by at least generating metadata in said database dictionary that defines:
said table,
said one or more column-major columns of said table, and
said row-major columns of said table;
storing rows in said table, wherein storing rows in said table comprises storing said one or more column-major columns of said rows in column-major format and storing said row-major columns of said rows in row-major format;
receiving a data manipulation language (DML) statement requesting to update a column value of a column-major column of said one or more column-major columns; and
in response to receiving said DML statement, updating in said database said column-major column in-place to a new value.