Patent ID: 9037801
Filing Date: 2015-05-19
Classification: G06F

Abstract:
1. A method of storing and retrieving data in a data storage system, wherein the data storage system comprises at least one computer including at least one data processor and a software application that implements a middle tier, the data storage system further comprises one or more database systems and a plurality of cache nodes that implement a storage tier, the middle tier is configured to interface the storage tier of the data storage system with a client tier, the method comprising: at the at least one computer of the middle tier: in response to receiving a first user request from a user device of the client tier requiring at least one reading of data, sending a read query solely to the plurality of cache nodes; in response to receiving a first queried data from at least one cache node in response to the read query, processing, with the at least one data processor, the first user request using the first queried data; in response to receiving a miss from all cache nodes in response to the read query, fetching, with the at least one data processor, the one or more database systems based on the first user request; in response to retrieving a second queried data from the one or more database systems, processing the first user request using the second queried data from the one or more database systems and sending, to the at least one cache node the second queried data and an instruction to add the second queried data to the at least one cache node to thereby populate the at least one cache node with the second queried data from the one or more database systems in response to the missed read query; and in response to receiving a second user request requiring at least one writing of updated data concurrent with fetching the second queried data from the one or more database systems, sending an instruction for writing the one or more database systems with the updated data, sending an instruction for concurrently writing the at least one cache node with the updated data to thereby populate the plurality of cache nodes at each write query of the data storage system, and aborting a subsequent addition of the second queried data in the at least one cache node such that the updated data is stored in the plurality of cache nodes.