US 11,748,369 B2
Separation of logical and physical storage in a distributed database system
Alejandro Hernandez Saenz, Kirkland, WA (US); Cristian Diaconu, Kirkland, WA (US); Krystyna Ewa Reisteter, Kirkland, WA (US); Naveen Prakash, Sammamish, WA (US); Sheetal Shrotri, Redmond, WA (US); Rogério Ramos, Redmond, WA (US); Alexander Budovski, Boonville, MO (US); and Hanumantha Rao Kodavalla, Sammamish, WA (US)
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Sep. 2, 2021, as Appl. No. 17/465,298.
Claims priority of provisional application 63/232,619, filed on Aug. 12, 2021.
Prior Publication US 2023/0046342 A1, Feb. 16, 2023
Int. Cl. G06F 16/00 (2019.01); G06F 16/25 (2019.01); G06F 16/27 (2019.01); G06F 16/22 (2019.01); G06F 16/2455 (2019.01)
CPC G06F 16/256 (2019.01) [G06F 16/278 (2019.01); G06F 16/2272 (2019.01); G06F 16/24557 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A distributed database system including a distributed database configured to store a first logical database file comprising data and associated with a file identifier, the distributed database system comprising:
a plurality of page servers, each page server of the plurality of page servers configurable to store at least one slice comprising a portion of the first logical database file;
a compute node coupled to the plurality of page servers and configured to store the first logical database file responsive to a received command, said storing comprising:
slicing the data comprising the first logical database file into a first set of cells, each cell being associated with a respective page server of the plurality of page servers;
maintaining a plurality of endpoint mappings for a set of contiguous portions of the first logical database file, each endpoint mapping maintained for a corresponding contiguous portion of the set of contiguous portions; and
transmitting the data corresponding to each cell to the respective page server associated with the cell for storage therein,
wherein each endpoint mapping comprises:
a database file identifier corresponding to the first logical database file;
a range identifier that specifies a location within the first logical database file of the corresponding contiguous portion; and
an endpoint address corresponding to the page server associated with the respective range identifier.