US Patent Application 17951193. Maintaining Transactional Consistency in Columnar Engine simplified abstract

From WikiPatents
Jump to navigation Jump to search

Maintaining Transactional Consistency in Columnar Engine

Organization Name

Google LLC


Inventor(s)

Anjan Kumar Amirishetty of Fremont CA (US)

Viral Shah of Cupertino CA (US)

Maintaining Transactional Consistency in Columnar Engine - A simplified explanation of the abstract

This abstract first appeared for US patent application 17951193 titled 'Maintaining Transactional Consistency in Columnar Engine

Simplified Explanation

- The patent application is about maintaining transaction consistency when using a columnar cache. - The columnar cache is initially loaded with all-visible data. - As data is modified, the corresponding data in the columnar cache is invalidated. - Invalidated data in the columnar cache is refreshed as more data gets invalidated. - The latest all-visible data is populated in the columnar cache while queries are still using the old data. - Once all queries transition to using the newly populated data, old data is removed from the columnar cache. - A query can use valid blocks of the columnar cache and go to a row store for invalid blocks. - When a query starts using the columnar cache, a request is submitted to prefetch the invalid blocks from the row store asynchronously.


Original Abstract Submitted

Aspects of the disclosure are directed to maintaining transaction consistency when using a columnar cache. The columnar cache can be initially loaded with all-visible data, and as the data gets modified, respective data is invalidated in the columnar cache. As more data gets invalidated in the columnar cache, respective data can be refreshed in the columnar cache. As part of the refresh, the latest all-visible data can be populated while the queries are still using the old data in the columnar cache. When all the queries transition to use the newly populated data, old data can be removed from the columnar cache. A query can use valid blocks of columnar cache and go to a row store for invalid blocks. When a query starts to use the columnar cache, a request can be submitted to asynchronously prefetch the invalid blocks from the row store.