Search

US-12625856-B2 - Throughput by allowing queries to use a marginally delayed transactional view

US12625856B2US 12625856 B2US12625856 B2US 12625856B2US-12625856-B2

Abstract

Disclosed herein are system, method, and computer program product embodiments for implementing database queries using a major commit time stamp (CTS). An embodiment operates by receiving a data query indicating a predetermined delay from a user equipment (UE) and retrieving a major CTS from a memory. The data query corresponds to data in the memory. The major CTS indicates an age of the data. The embodiment determines that the major CTS is within the predetermined delay. In response to determining that the major CTS is within the predetermined delay, the embodiment transmits the data corresponding to the major CTS to the UE.

Inventors

  • Christian Bensberg

Assignees

  • SAP SE

Dates

Publication Date
20260512
Application Date
20241023

Claims (20)

  1. 1 . An index server, comprising: a memory; and at least one processor coupled to the memory and configured to: receive a data query corresponding to data in the memory from a user equipment (UE), wherein the data query indicates a predetermined delay; retrieve a major commit time stamp (CTS) from the memory, wherein the major CTS indicates an age of the data in the memory; determine that the major CTS is within the predetermined delay; and in response to determining that the major CTS is within the predetermined delay, transmit the data corresponding to the major CTS to the UE.
  2. 2 . The index server of claim 1 , wherein the at least one processor is further configured to: receive a second data query indicating the predetermined delay from the UE, wherein the second data query corresponds to second data; determine that the major CTS is outside the predetermined delay; and refrain from transmitting the second data to the UE.
  3. 3 . The index server of claim 2 , wherein the at least one processor is further configured to: receive an update from a second index server, wherein the update indicates an updated major CTS; determine that the updated major CTS is within the predetermined delay; and transmit the second data corresponding to the major CTS to the UE.
  4. 4 . The index server of claim 3 , wherein the update includes a plurality of data changes.
  5. 5 . The index server of claim 1 , wherein the at least one processor is further configured to: receive a second data query corresponding to second data and indicating a time stamp from the UE; determine that the second data query corresponds to a committed write request; determine that the major CTS is older than the time stamp; and refrain from transmitting the second data to the UE.
  6. 6 . The index server of claim 5 , wherein the at least one processor is further configured to: receive an update from a second index server, wherein the update indicates the time stamp; and transmit the second data corresponding to the time stamp to the UE.
  7. 7 . The index server of claim 1 , wherein the at least one processor is further configured to: receive a second data query indicating the predetermined delay from the UE; determine that the memory includes a data change corresponding to a time stamp, wherein the time stamp is newer than the major CTS; determine that the major CTS is within the predetermined delay; and request an update corresponding to the major CTS from a second index server.
  8. 8 . A computer-implemented method for an index server, comprising: receiving a data query corresponding to data in a memory of the index server from a user equipment (UE), wherein the data query indicates a predetermined delay; retrieving a major commit time stamp (CTS) from the memory of the index server, wherein the major CTS indicates an age of data in the memory; determining that the major CTS is within the predetermined delay; and in response to determining that the major CTS is within the predetermined delay, transmitting the data corresponding to the major CTS to the UE.
  9. 9 . The computer-implemented method of claim 8 , further comprising: receiving a second data query indicating the predetermined delay from the UE, wherein the second data query corresponds to second data; determining that the major CTS is outside the predetermined delay; and refraining from transmitting the second data to the UE.
  10. 10 . The computer-implemented method of claim 9 , further comprising: receiving an update from a second index server, wherein the update indicates an updated major CTS; determining that the updated major CTS is within the predetermined delay; and transmitting the second data corresponding to the major CTS to the UE.
  11. 11 . The computer-implemented method of claim 10 , wherein the update includes a plurality of data changes.
  12. 12 . The computer-implemented method of claim 8 , further comprising: receiving a second data query corresponding to second data and indicating a time stamp from the UE; determining that the second data query corresponds to a committed write request; determining that the major CTS is older than the time stamp; and refraining from transmitting the second data to the UE.
  13. 13 . The computer-implemented method of claim 12 , further comprising: receiving an update from a second index server, wherein the update indicates the time stamp; and transmitting the second data corresponding to the time stamp to the UE.
  14. 14 . The computer-implemented method of claim 8 , further comprising: receiving a second data query indicating the predetermined delay from the UE; determining that the memory includes a data change corresponding to a time stamp, wherein the time stamp is newer than the major CTS; determining that the major CTS is within the predetermined delay; and requesting an update corresponding to the major CTS from a second index server.
  15. 15 . A non-transitory computer-readable medium (CRM) comprising instructions to, upon execution of the instructions by one or more processors of an index server, cause the index server to perform operations, the operations comprising: receiving a data query indicating a predetermined delay from a user equipment (UE), wherein the data query corresponds to data in a memory of the index server; retrieving a major commit time stamp (CTS) from the memory of the index server, wherein the major CTS indicates an age of the data in the memory; determining that the major CTS is within the predetermined delay; and in response to determining that the major CTS is within the predetermined delay, transmitting the data corresponding to the major CTS to the UE.
  16. 16 . The non-transitory CRM of claim 15 , wherein the operations further comprise: receiving a second data query indicating the predetermined delay from the UE, wherein the second data query corresponds to second data; determining that the major CTS is outside the predetermined delay; and refraining from transmitting the second data to the UE.
  17. 17 . The non-transitory CRM of claim 16 , wherein the operations further comprise: receiving an update from a second index server, wherein the update indicates an updated major CTS; determining that the updated major CTS is within the predetermined delay; and transmitting the second data corresponding to the major CTS to the UE.
  18. 18 . The non-transitory CRM of claim 15 , wherein the operations further comprise: receiving a second data query corresponding to second data and indicating a time stamp from the UE; determining that the second data query corresponds to a committed write request; determining that the major CTS is older than the time stamp; and refraining from transmitting the second data to the UE.
  19. 19 . The non-transitory CRM of claim 18 , wherein the operations further comprise: receiving an update from a second index server, wherein the update indicates the time stamp; and transmitting the second data corresponding to the time stamp to the UE.
  20. 20 . The non-transitory CRM of claim 15 , wherein the operations further comprise: receiving a second data query indicating the predetermined delay from the UE; determining that the memory includes a data change corresponding to a time stamp, wherein the time stamp is newer than the major CTS; determining that the major CTS is within the predetermined delay; and requesting an update corresponding to the major CTS from a second index server.

Description

BACKGROUND Data stored in a database may be copied to additional databases. This process can be referred to as database replication. This database replication process can serve various purposes. For example, the database replication can provide availability of the data in a remote location, or be used to distribute a high read load on the data. For another example, the database replication can recover the data when the database is damaged or destroyed. However, when a client device, such as user equipment (UE), requests reading data from one of the additional databases, it can be challenging to determine which data to read because the data stored in the database and the additional databases may differ. A database may hold so much data that it may be advantageous to span it to multiple physical resources. Such a database is called a “distributed database”. In a distributed database network communication occurs and may cause delays. When it comes to reading data from another physical host, a similar challenge exist so determine which data to read. BRIEF DESCRIPTION OF THE FIGURES The accompanying drawings, which are incorporated herein and form part of the specification, illustrate the present disclosure and, together with the description, further serve to explain the principles of the disclosure and enable a person of skill in the relevant art(s) to make and use the disclosure. FIG. 1 illustrates an example database system implementing database queries using a major commit time stamp (CTS), according to some embodiments of the disclosure. FIG. 2 illustrates a block diagram of an example database system, according to some embodiments of the disclosure. FIG. 3 illustrates an example method of reading and writing using the major CTS, according to some embodiments of the disclosure. FIG. 4 illustrates an example method of implementing the major CTS, according to some embodiments of the disclosure. FIG. 5 illustrates an example of database replication using the major CTS, according to some embodiments of the disclosure. FIG. 6 illustrates an example method of a distributed database using the major CTS, according to some embodiments of the disclosure. FIG. 7 illustrates an example computer system for implementing some embodiments of the disclosure or portion(s) thereof. The present disclosure is described with reference to the accompanying drawings. In the drawings, generally, like reference numbers indicate identical or functionally similar elements. Additionally, generally, the left-most digit(s) of a reference number identifies the drawing in which the reference number first appears. DETAILED DESCRIPTION Some embodiments of this disclosure include apparatus, system, computer program product, and method embodiments for implementing database queries using major commit time stamp (“major CTS”). In some embodiments, data in a database is copied to additional databases. For example, a first database may transmit the data to a second database and a third database. Thus, the second and the third database may store copies of the data stored in the first database. This process can be referred to as database replication. In some embodiments, the database replication can serve various purposes. For example, a user may be located far away from the first database but closer to the second database. Thus, the database replication may improve availability of the data to the user. For another example, when the first database is damaged or destroyed, the data can still be recovered from the second and/or the third databases. As another example, a replica of the data may be used for load balancing. In some embodiments, the first database may split the data into a first portion, a second portion, and a third portion. The first database can store the first portion, the second portion, and the third portion in a first host, a second host, and a third host respectively. In some embodiments, the first host, the second host, and the third host may be computers or servers that are located in the same of in different geographical locations. In such a case, the first database that includes the first host, the second host, and the third host can be referred to as a distributed database. In some embodiments, for the database replication, the first database may continuously update the data. For example, the first database may store changes, such as adding and removing data, as change records. In addition, the change records may be time stamped based on the times when the changes were made. In some embodiments, the first database may also configure the second and the third databases to make same changes so that the data stored in the second and the third database are consistent with the data stored in the first database. In some embodiments, the data in the first database may be updated frequently. In such a case, the first database may configure the second and the third database to make updates with a high frequency. For example, the first d