Method for efficient primary key based queries using atomic RDMA reads on cache friendly in-memory hash index
First Claim
1. A method comprising:
- to obtain first target data managed by a database server instance executing on a server machine, a requesting entity determining whether the first target data is eligible for remote direct memory access (RDMA) retrieval;
responsive to determining that the first target data is not eligible for RDMA retrieval, sending a request to the database server instance to cause the database server instance to provide the first target data;
to obtain second target data managed by the database server instance, the requesting entity determining whether the second target data is eligible for RDMA retrieval;
responsive to determining that the second target data is eligible for RDMA retrieval, performing the steps of;
sending a for-location-RDMA to obtain location information from volatile memory of the server machine without involving the database server instance; and
based on the location information obtained by the for-location-RDMA, sending a for-data-RDMA to obtain the second target data from the volatile memory of the server machine without involving the database server instance;
wherein the method is performed by one or more computing devices.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are provided for enabling a requesting entity to retrieve data that is managed by a database server instance from the volatile memory of a server machine that is executing the database server instance. The techniques allow the requesting entity to retrieve the data from the volatile memory of the host server machine without involving the database server instance in the retrieval operation. Because the retrieval does not involve the database server instance, the retrieval may succeed even when the database server instance has stalled or become unresponsive. In addition, direct retrieval of data using the techniques described herein will often be faster and more efficient than retrieval of the same information through conventional interaction with the database server instance.
270 Citations
30 Claims
-
1. A method comprising:
-
to obtain first target data managed by a database server instance executing on a server machine, a requesting entity determining whether the first target data is eligible for remote direct memory access (RDMA) retrieval; responsive to determining that the first target data is not eligible for RDMA retrieval, sending a request to the database server instance to cause the database server instance to provide the first target data; to obtain second target data managed by the database server instance, the requesting entity determining whether the second target data is eligible for RDMA retrieval; responsive to determining that the second target data is eligible for RDMA retrieval, performing the steps of; sending a for-location-RDMA to obtain location information from volatile memory of the server machine without involving the database server instance; and based on the location information obtained by the for-location-RDMA, sending a for-data-RDMA to obtain the second target data from the volatile memory of the server machine without involving the database server instance; wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. One or more non-transitory computer-readable media storing one or more sequences of instructions that, when executed by one or more computing devices, cause:
-
to obtain first target data managed by a database server instance executing on a server machine, a requesting entity determining whether the first target data is eligible for remote direct memory access (RDMA) retrieval; responsive to determining that the first target data is not eligible for RDMA retrieval, sending a request to the database server instance to cause the database server instance to provide the first target data; to obtain second target data managed by the database server instance, the requesting entity determining whether the second target data is eligible for RDMA retrieval; responsive to determining that the second target data is eligible for RDMA retrieval, performing the steps of; sending a for-location-RDMA to obtain location information from volatile memory of the server machine without involving the database server instance; and based on the location information obtained by the for-location-RDMA, sending a for-data-RDMA to obtain the second target data from the volatile memory of the server machine without involving the database server instance. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification