US 11,775,525 B2
Storage of a dataset via multiple durability levels
Andrew D. Baptist, Mt. Pleasant, WI (US)
Assigned to Ocient Holdings LLC, Chicago, IL (US)
Filed by Ocient Holdings LLC, Chicago, IL (US)
Filed on Mar. 17, 2022, as Appl. No. 17/655,186.
Application 17/655,186 is a continuation of application No. 17/679,432, filed on Feb. 24, 2022.
Application 17/679,432 is a continuation of application No. 17/136,271, filed on Dec. 29, 2020, granted, now 11,314,743.
Prior Publication US 2022/0300501 A1, Sep. 22, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 17/30 (2006.01); G06F 16/2455 (2019.01); G06F 21/62 (2013.01); G06F 16/28 (2019.01); G06F 16/22 (2019.01)
CPC G06F 16/2456 (2019.01) [G06F 16/2282 (2019.01); G06F 16/284 (2019.01); G06F 21/6227 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A method for execution by at least one processor of a database system, comprising:
receiving a plurality of records of a dataset for storage, wherein each of the plurality of records include a plurality of values corresponding to a plurality of fields of the dataset;
generating a plurality of segment row data from the plurality of records, wherein each segment row data includes a corresponding one of a plurality of mutually exclusive proper subsets of the plurality of records;
storing the plurality of segment row data via a first storage mechanism corresponding to a first durability level;
facilitating storage of the plurality of segment row data via a second storage mechanism corresponding to a second durability level that is more durable than the first durability level;
facilitating execution of a plurality of queries against the dataset by accessing the plurality of segment row data via the first storage mechanism;
detecting a failure of storage of one of the plurality of segment row data via the first storage mechanism, wherein detecting the failure of the storage the one of the plurality of segment row data via the first storage mechanism includes detecting a failed memory drive storing the one of the plurality of segment row data; and
recovering the one of the plurality of segment row data for storage via the first storage mechanism based on accessing at least one of the plurality of segment row data via the second storage mechanism, wherein recovering the one of the plurality of segment row data for storage via the first storage mechanism includes:
accessing duplicate segment row data of the one of the plurality of segment row data stored via the second storage mechanism; and
storing the duplicate segment row data via a second memory drive of the first storage mechanism that is different from the failed memory drive.