发明名称 Techniques for maintaining column vectors of relational data within volatile memory
摘要 Techniques are provided for more efficiently using the bandwidth of the I/O path between a CPU and volatile memory during the performance of database operation. Relational data from a relational table is stored in volatile memory as column vectors, where each column vector contains values for a particular column of the table. A binary-comparable format may be used to represent each value within a column vector, regardless of the data type associated with the column. The column vectors may be compressed and/or encoded while in volatile memory, and decompressed/decoded on-the-fly within the CPU. Alternatively, the CPU may be designed to perform operations directly on the compressed and/or encoded column vector data. In addition, techniques are described that enable the CPU to perform vector processing operations on the column vector values.
申请公布号 US9201944(B2) 申请公布日期 2015.12.01
申请号 US201313916284 申请日期 2013.06.12
申请人 ORACLE INTERNATIONAL CORPORATION 发明人 Ellison Lawrence J.;Ganesh Amit;Marwah Vineet;Kamp Jesse;Patthak Anindya C.;Chavan Shasank K.;Gleeson Michael J.;Holloway Allison L.;Bhattacharyya Manosiz
分类号 G06F17/30;G06F15/82 主分类号 G06F17/30
代理机构 Hickman Palermo Becker Bingham LLP 代理人 Hickman Palermo Becker Bingham LLP
主权项 1. A method comprising: maintaining, within volatile memory of a computing device, a column vector that corresponds to a particular column of a relational table in a relational database; wherein the column vector is a contiguous array of values from the particular column; and during execution of a SQL statement that has a predicate that involves a comparison of a particular value to values from the particular column, performing the steps of: transferring a contiguous plurality of values of the column vector from the volatile memory to a particular register within a single CPU of the computing device; andwithin the single CPU, while the contiguous plurality of values simultaneously reside in the particular register, the single CPU concurrently performing the comparison between (a) the particular value, and (b) each value in the contiguous plurality of values; wherein the method is performed by one or more computing devices.
地址 Redwood Shores CA US