CPC G06F 16/289 (2019.01) [G06F 12/0868 (2013.01); G06F 12/121 (2013.01); G06F 12/128 (2013.01); G06F 16/172 (2019.01); G06F 12/0808 (2013.01); G06F 2212/1056 (2013.01); G06F 2212/163 (2013.01); G06F 2212/314 (2013.01); G06F 2212/465 (2013.01)] | 20 Claims |
1. A method, comprising:
performing, by one or more computing devices:
receiving, from a client, a read request for a particular data block in virtual block storage, wherein the read request is formatted according to a network-based storage protocol, wherein the virtual block storage is implemented using an object data store storing a plurality of data block objects for the virtual block storage and a non-relational database storing a block cache that includes a plurality of cached block entries for the virtual block storage; and
in response to receiving the read request:
generating a translated read request, comprising formatting the read request according to a programmatic interface for the non-relational database and sending, over a network, the translated read request to the non-relational database to get a particular cached block entry corresponding to the particular data block;
generating another translated read request comprising formatting the read request according to a programmatic interface for the object data store and sending, over the network, the other translated read request to the object data store to get a particular data block object corresponding to the particular data block; and
sending to the client a response to the read request formatted according to the network-based storage protocol, wherein the response includes a first one received of either the particular cached data block entry from the non-relational database or the particular data block object from the object data store.
|