A method and device for separating hot and cold data
By using the mapping relationship between sequence information and time information in the online transaction processing system to distinguish and compress hot and cold data, the problem of low efficiency of hot and cold data distinction and compression in the prior art is solved, and the utilization rate of database storage space is improved.
Patent Information
- Application Number
- CN202510014633.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-06
- Publication Date
- 2025-05-16
- Estimated Expiration
- 2045-01-06
AI Technical Summary
In online transaction processing systems, it is difficult for the prior art to effectively distinguish and compress hot and cold data, resulting in waste of database storage space.
The computing device obtains the sequence information of the page where the data row is located, establishes a mapping relationship between the sequence information and the time information, and then determines the recording time of the data rows, and realizes the separation and compression of hot and cold data.
It improves the compression rate of cold data in the database, reduces the cost of cold data identification, and can identify hot and cold information of indexed data rows, avoiding wasting of storage space.
Smart Images

Figure CN119415526B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the computer field, and in particular to a method and device for separating hot and cold data. Background Art
[0002] Online transaction processing (OLTP) refers to a system that processes real-time data transactions and interactions. The online transaction processing system can process and manage a large amount of daily transaction data in real time. Therefore, online transaction processing can be widely used in finance, telecommunications, retail and other fields.
[0003] In the database management of online transaction processing systems, it is often necessary to compress the data in the database to save the storage space of the database. However, in order to ensure the response speed of online business, the computing device needs to distinguish between cold data and hot data in the database, and only compress cold data to save space, while not compressing hot data, so as to save space while not affecting the normal access response time of users to hot data.
[0004] In the current compression scheme for distinguishing hot and cold data in online transaction processing systems, in order to achieve hot and cold separation of compressed data, it is necessary to store information for judging hot and cold in the data row, such as timestamp, and the computing device can distinguish hot and cold data according to the timestamp. However, storing the timestamp information in the header of the data row requires space for the header field, but some index data rows do not contain the data header field, resulting in the computing device being unable to identify the hot and cold information of the index data row, further resulting in a low compression rate of cold data in the database, resulting in a waste of database storage space. Summary of the invention
[0005] The embodiment of the present application provides a method for separating hot and cold data, which is used to improve the compression rate of cold data in a database. The embodiment of the present application also provides a hot and cold data separation device, a network device, a computer-readable storage medium and a computer program product corresponding to the hot and cold data separation method.
[0006] In the first aspect, an embodiment of the present application provides a method for separating hot and cold data, which can be executed by a computing device, or by a component of the computing device, such as a processor, chip or chip system of the computing device, or by a logic module or software that can realize all or part of the functions of the computing device. The method provided in the first aspect includes: the computing device obtains sequence information of the page where the data row is located, the sequence information is used to indicate the update sequence of the data row in the page, the sequence information is also used to establish a mapping relationship between the update sequence and time information, the time information is used to indicate the recording time of the data row, when the computing device performs hot and cold separation on the target data row, the computing device determines the recording time of the target data row based on the mapping relationship, the recording time is used to determine the hot and cold data of the target data row, the target data row includes the data row to be identified as hot and cold data, and the computing device performs hot and cold data separation on the target data row according to the recording time of the target data row.
[0007] In the embodiment of the present application, the computing device can establish an association between the sequence information of the page where the data is located and the time information. Therefore, when the computing device performs cold and hot separation on the target data, it can also rely on the sequence information of the page where the target data is located to determine the update time of the target data, thereby determining whether the target data is cold data. Compared with the prior art that uses the header field of the heap table data row to store time information, the cold and hot data separation method provided in the embodiment of the present application does not need to store time information for each data row, but can determine the recording time of the data row by querying the mapping relationship, thereby reducing the cost of cold data identification. At the same time, the cold and hot data separation method provided in the embodiment of the present application can also identify the cold and hot information of the index data row type, thereby further improving the cold data compression rate.
[0008] In a possible implementation, the sequence information includes one or more of the following: a log sequence number and a last modification time. When the sequence information is a log sequence number, the sequence information may be a log sequence number in a header of a page where the data row is located, and the log sequence number is a unique identifier of the page where the data row is located.
[0009] The sequence information in the embodiments of the present application may be different types of incremental information, thereby enhancing the richness of the implementation methods of the sequence information in the embodiments of the present application.
[0010] In one possible implementation, the sequence information is a log sequence number. In the process of determining the record time of the target data row based on the mapping relationship, the computing device queries the mapping relationship based on the first log sequence number of the page where the target data row is located, and determines the record time corresponding to the first log sequence number as the record time corresponding to the target data row.
[0011] In the embodiment of the present application, when the computing device identifies the hot and cold data of the target data row, the mapping relationship can be queried based on the first log sequence number of the page where the target data row is located, so as to determine the record time corresponding to the target data row, thereby improving the feasibility of the computing device determining the record time corresponding to the target data row.
[0012] In one possible implementation, when the computing device queries the mapping relationship based on the log sequence number of the page where the target data row is located, when the first log sequence number does not exist in the mapping relationship, the mapping relationship is queried based on the second log sequence number, and the time information corresponding to the second log sequence number is determined as the record time corresponding to the target data row, and the second log sequence number is a log sequence number in the mapping relationship that is adjacent to and greater than the first log sequence number.
[0013] In the embodiment of the present application, when the first log sequence number does not exist in the mapping relationship, the computing device can query the mapping relationship based on the second log sequence number that is adjacent to and greater than the first log sequence number in the mapping relationship, and determine the time information corresponding to the second log sequence number as the record time corresponding to the target data row, thereby further improving the feasibility of determining the record time corresponding to the target data row.
[0014] In a possible implementation, when the computing device acquires the sequence information of the page where the data row is located, the computing device periodically acquires the sequence information of the page where the data row is located, and records the acquisition time corresponding to the sequence information. Specifically, the computing device periodically acquires the sequence information of the page where the data row is located based on a preset time interval, and records the sequence information and the acquisition time.
[0015] In the embodiment of the present application, the computing device periodically collects sequence information of the page where the data row is located based on a preset time interval and establishes a mapping relationship, thereby avoiding establishing a mapping relationship for each updated page, thereby reducing the storage space of the mapping relationship.
[0016] In a possible implementation, after the computing device establishes the mapping relationship between the sequence information and the acquisition timestamp, the mapping relationship is stored in a persistent storage. Specifically, the computing device may store the mapping relationship in a local storage or in a database, which is not specifically limited.
[0017] In the embodiment of the present application, the computing device can store the established mapping relationship in the persistent storage, so that when querying the target data row, the mapping relationship can be queried from the persistent storage, thereby improving the feasibility of querying the mapping relationship in the embodiment of the present application.
[0018] In one possible implementation, after the computing device obtains the sequence information of the page where the data row is located, the computing device establishes a mapping relationship between the sequence information and the acquisition timestamp. The update sequence in the sequence information is positively correlated with the acquisition timestamp. The larger the update sequence value in the sequence information, the newer the collection time in the acquisition timestamp corresponding to the update sequence.
[0019] In the embodiment of the present application, the computing device can establish a mapping relationship between the updated sequence information and the acquisition timestamp, and can identify and compress cold data based on the mapping relationship, thereby improving the compression rate of the cold data in the embodiment of the present application.
[0020] In one possible implementation, before the computing device separates the target data row from the hot data according to the recording time of the target data row, the computing device queries the mapping relationship based on the log sequence number of the page where the target data row is located. When the time interval between the recording time of the target data row and the current time is greater than a threshold, the target data row is determined to be cold data.
[0021] In the embodiment of the present application, after the computing device queries the recording time of the target data row, when the time interval between the recording time of the target data row and the current time is greater than the threshold, the computing device can determine that the target data row is cold data, thereby improving the feasibility of identifying cold data in the embodiment of the present application.
[0022] In a possible implementation, the data row includes one or more of the following: a heap table data row and an index data row. When the data row is an index data row, the page where the index data row is located may also be called an index page.
[0023] The hot and cold data separation method provided in the embodiment of the present application can be applied to various types of data rows, thereby improving the scope of application of the hot and cold data separation method in the embodiment of the present application.
[0024] In a second aspect, an embodiment of the present application provides a device for separating hot and cold data, the device comprising an acquisition unit and a processing unit, wherein the acquisition unit is used to acquire sequence information of a page where a data row is located, the sequence information is used to establish a mapping relationship between the sequence information and time information, and the time information is used to indicate the recording time of the data row. The processing unit is used to determine the recording time of the target data row based on the mapping relationship, the recording time is used to perform hot and cold data determination of the target data row, and the target data row includes the data row to be subjected to hot and cold data identification. The processing unit is also used to perform hot and cold data separation on the target data row according to the recording time of the target data row.
[0025] In a possible implementation, the sequence information includes one or more of the following: a log sequence number and a last modification time.
[0026] In a possible implementation, the sequence information is a log sequence number, and the processing unit is specifically configured to query a mapping relationship based on a first log sequence number of a page where the target data row is located, and determine the time information corresponding to the first log sequence number as the record time corresponding to the target data row.
[0027] In one possible implementation, when the first log sequence number does not exist in the mapping relationship, the mapping relationship is queried based on the second log sequence number, and the time information corresponding to the second log sequence number is determined as the record time corresponding to the target data row, and the second log sequence number is a log sequence number in the mapping relationship that is adjacent to and greater than the first log sequence number.
[0028] In a possible implementation, the acquisition unit is specifically used to periodically acquire sequence information of the page where the data row is located based on a preset time interval. The processing unit is also used to establish a mapping relationship between the sequence information and the acquisition timestamp, wherein the update sequence in the sequence information is positively correlated with the acquisition timestamp, and the acquisition timestamp indicates the acquisition time of the sequence information. The processing unit is also used to store the mapping relationship in a persistent storage.
[0029] In a possible implementation manner, the processing unit is further configured to determine that the target data row is cold data when the time interval between the recording time of the target data row and the current time is greater than a threshold.
[0030] In a possible implementation, the data row includes one or more of the following: a heap table data row and an index data row.
[0031] In a third aspect, an embodiment of the present application provides a computing device, comprising a processor, the processor being coupled to a memory, the processor being used to store instructions, and when the instructions are executed by the processor, the computing device executes the method described in the first aspect or any possible implementation of the first aspect.
[0032] In a fourth aspect, an embodiment of the present application provides a computing device cluster, the computing device cluster includes one or more computing devices, the computing device includes a processor, the processor is coupled to a memory, the processor is used to store instructions, when the instructions are executed by the processor, the computing device cluster executes the method described in the first aspect or any possible implementation method of the first aspect.
[0033] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium having instructions stored thereon. When the instructions are executed, the computer executes the method described in the first aspect or any possible implementation manner of the first aspect.
[0034] In a sixth aspect, an embodiment of the present application provides a computer program product, which includes instructions. When the instructions are executed, the computer implements the method described in the first aspect or any possible implementation method of the first aspect.
[0035] It can be understood that the beneficial effects that can be achieved by any of the hot and cold data separation devices, computing devices, computing device clusters, computer-readable media or computer program products provided above can be referred to the beneficial effects in the corresponding methods and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] Figure 1 A schematic diagram of the system architecture of a database system provided in an embodiment of the present application;
[0037] Figure 2 A schematic diagram of a process for separating hot and cold data provided in an embodiment of the present application;
[0038] Figure 3 A schematic diagram of the structure of a database page provided in an embodiment of the present application;
[0039] Figure 4 A schematic diagram of hot and cold data separation provided in an embodiment of the present application;
[0040] Figure 5 A schematic diagram of collecting sequence information provided in an embodiment of the present application;
[0041] Figure 6 A schematic diagram of a cold and hot data separation device provided in an embodiment of the present application;
[0042] Figure 7 A schematic diagram of the structure of a computing device provided in an embodiment of the present application;
[0043] Figure 8 A schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application;
[0044] Fig. 9 A schematic diagram of the structure of another computing device cluster provided in an embodiment of the present application. DETAILED DESCRIPTION
[0045] The embodiments of the present application provide a method and device for separating cold and hot data, which are used to improve the compression rate of cold data in a database.
[0046] The terms "first", "second", "third", "fourth", etc. (if any) in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0047] In the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a specific way.
[0048] First, some terms involved in the embodiments of the present application are introduced to facilitate technical personnel in this field to understand the technical solution.
[0049] Cold data refers to data that is rarely accessed and used. Cold data has a low access frequency but needs to be preserved for a long time. It is usually stored in slower storage media to save costs and storage space.
[0050] Hot data refers to data that is frequently accessed and used. Hot data requires fast read and write speeds and response times, so it is usually stored in fast storage media for fast access and processing.
[0051] In order to make the technical solution of the present application clearer and easier to understand, the system architecture of the present application is introduced below with reference to the accompanying drawings.
[0052] See also Figure 1 , Figure 1 A schematic diagram of the system architecture of a database system is provided for an embodiment of the present application. Figure 1 In the example shown, the database system 10 includes an application server 100, a switch 110, and a database server 120, wherein the database server 120 includes an engine 121 and a hard disk enclosure 130. The specific functions of each part of the database system 10 are described below.
[0053] The application server 100 may be a physical machine or a virtual machine. Physical application servers include but are not limited to computing devices such as desktop computers, servers, and laptops. Applications are run in the application server 100, and users can access data through the applications in the application server 100.
[0054] The switch 110 is used for the application server 100 to access the database server 120 to store and store data. The switch 110 may be an Ethernet switch, an InfiniBand switch, a switch using RDMA over converged Ethernet (RoCE), or the like.
[0055] It is understandable that the switch 110 Figure 1 The system shown is an optional device, and the application server 100 can also communicate with the database server 120 directly through the network.
[0056] The database server 120 may be a centralized storage system. The centralized storage system is characterized by having a unified entrance through which all data from external devices must pass. This entrance is the centralized storage system engine 121. The engine 121 is the core component of the centralized storage system, and many advanced functions of the storage system are implemented in it.
[0057] The engine 121 has one or more controllers. Figure 1 The example shown is described by taking the engine including two controllers as an example. There is a mirror channel between controller 0 and controller 1. When controller 0 writes a copy of data into its memory 124, a copy of the data can be sent to controller 1 through the mirror channel, and controller 1 stores the copy in its local memory 124.
[0058] Thus, controller 0 and controller 1 are backed up for each other. When controller 0 fails, controller 1 can take over the business of controller 0, and when controller 1 fails, controller 0 can take over the business of controller 1, thereby avoiding the unavailability of the entire database server 120 due to hardware failure. When 4 controllers are deployed in the engine 121, there is a mirror channel between any two controllers, so any two controllers are backed up for each other.
[0059] The engine 121 also includes a front-end interface 125 and a back-end interface 126, wherein the front-end interface 125 is used to communicate with the application server 100, thereby providing storage services for the application server 100. The back-end interface 126 is used to communicate with the hard disk 134 to expand the capacity of the storage system. Through the back-end interface 126, the engine 121 can connect more hard disks 134 to form a storage resource pool.
[0060] The controller 0 includes at least a processor 123 and a memory 124. The processor 123 is a central processing unit (CPU) used to process data access requests from outside the storage system (server or other storage system), and also used to process requests generated inside the storage system. Exemplarily, when the processor 123 receives a write data request sent by the application server 100 through the front-end interface 125, the data in the write data request will be temporarily stored in the memory 124. When the total amount of data in the memory 124 reaches a certain threshold, the processor 123 sends the data stored in the memory 124 to the hard disk 134 through the back-end interface for persistent storage.
[0061] Memory 124 refers to an internal memory that directly exchanges data with the processor. It can read and write data at any time and at a very high speed. It serves as a temporary data storage for the operating system or other running programs. Memory 124 includes at least two types of memories. For example, the memory can be either a random access memory or a read-only memory (ROM). For example, the random access memory is a dynamic random access memory (DRAM) or a storage class memory (SCM). Among them, DRAM is a semiconductor memory, which, like most random access memories (RAM), is a volatile memory device. SCM is a composite storage technology that combines the characteristics of traditional storage devices and memories. Storage class memory can provide faster read and write speeds than hard disks, but the access speed is slower than DRAM, and the cost is also cheaper than DRAM.
[0062] However, DRAM and SCM are only exemplary in this embodiment, and the memory 124 may also include other random access memories, such as static random access memory (SRAM), etc. As for the read-only memory, for example, it may be a programmable read only memory (PROM), an erasable programmable read only memory (EPROM), etc.
[0063] In addition, the memory 124 may also be a dual in-line memory module or a dual-line memory module (DIMM), that is, a module composed of a dynamic random access memory DRAM, or a solid state disk (SSD). In actual applications, multiple memories 124 and different types of memories 124 may be configured in the controller 0. This embodiment does not limit the number and type of the memory 124. In addition, the memory 124 may be configured to have a power-saving function. The power-saving function means that when the system loses power and then powers on again, the data stored in the memory 124 will not be lost. A memory with a power-saving function is called a non-volatile memory.
[0064] The memory 124 stores software programs, and the processor 123 runs the software programs in the memory 124 to manage the hard disk. For example, the hard disk is abstracted into a storage resource pool, which is then divided into LUNs and provided to the server. The LUN here can be a hard disk in the server. Of course, some centralized storage systems are also file servers themselves, which can provide shared file services for the server.
[0065] It should be noted that Figure 1 The figure shows a centralized storage system with separated disk and controller. In this system, the engine 121 may not have a hard disk slot, and the hard disk 134 needs to be placed in the hard disk frame 130, and the back-end interface 126 communicates with the hard disk frame 130. The back-end interface 126 exists in the engine 121 in the form of an adapter card. Two or more back-end interfaces 126 can be used on one engine 121 to connect multiple hard disk frames. Alternatively, the adapter card can also be integrated on the motherboard, in which case the adapter card can communicate with the hard disk frame 130 via the PCIE bus. In addition, Figure 1 Only one engine 121 is shown in the figure. However, in actual applications, the storage system may include two or more engines 121, and redundancy or load balancing is performed between the multiple engines 121.
[0066] The hard disk enclosure 130 includes a control unit 131 and a plurality of hard disks 134. The control unit 131 may have various forms. In one embodiment, the hard disk enclosure 130 is an intelligent disk enclosure, such as Figure 1As shown, the control unit 131 includes a CPU and a memory. The CPU is used to perform operations such as address conversion and reading and writing data. The memory is used to temporarily store data to be written to the hard disk 134, or read from the hard disk 134 to be sent to the controller. In another case, the control unit 131 is a programmable electronic component, such as a data processing unit (DPU). The DPU has the versatility and programmability of the CPU, but is more specialized and can run efficiently on network data packets, storage requests or analysis requests. The DPU is distinguished from the CPU by a greater degree of parallelism (a large number of requests need to be processed). Optionally, the DPU here can also be replaced with a processing chip such as a graphics processing unit (GPU) or an embedded neural-network processing unit (NPU).
[0067] The number of control units 131 may be one, two or more, and is not specifically limited. When the hard disk frame 130 includes at least two control units 131, the hard disk 134 and the control unit 131 may have an ownership relationship. If the hard disk 134 and the control unit 131 have an ownership relationship, each control unit 131 can only access the hard disk that belongs to it. In addition, if the storage space is insufficient, when adding a new hard disk 134 to the hard disk frame 130, it is necessary to rebind the ownership relationship between the hard disk 134 and the control unit 131, which is complicated to operate and leads to poor scalability of the storage space.
[0068] In another embodiment, the functions of the control unit 131 can be offloaded to the network card 104. In other words, in this embodiment, the hard disk frame 130 does not have a control unit 131 inside, but the network card 104 performs data reading and writing, address conversion and other computing functions. At this time, the network card 104 is an intelligent network card. It can include a CPU and a memory. In some application scenarios, the network card 104 may also have a persistent memory medium, such as a persistent memory (PM), or a non-volatile random access memory (NVRAM), or a phase change memory (PCM). The CPU is used to perform operations such as address conversion and reading and writing data. The memory is used to temporarily store data to be written to the hard disk 134, or data read from the hard disk 134 to be sent to the controller.
[0069] The CPU can also be another programmable electronic component, such as a data processing unit (DPU). The DPU has the versatility and programmability of the CPU, but is more specialized and can run efficiently on network data packets, storage requests, or analysis requests. The DPU is distinguished from the CPU by a greater degree of parallelism (needing to process a large number of requests). Optionally, the DPU here can also be replaced with processing chips such as graphics processing units (GPUs), embedded neural-network processing units (NPUs), etc.
[0070] There is no ownership relationship between the network card 104 and the hard disk 134 in the hard disk frame 130. The network card 104 can access any hard disk 134 in the hard disk frame 130, so it is more convenient to expand the hard disk when the storage space is insufficient. According to the type of communication protocol between the engine 121 and the hard disk frame 130, the hard disk frame 130 may be a SAS hard disk frame, or it may be an NVMe hard disk frame, an IP hard disk frame, and other types of hard disk frames. Among them, the SAS hard disk frame adopts the SAS3.0 protocol, and each frame supports 25 SAS hard disks. The engine 121 is connected to the hard disk frame 130 via an onboard SAS interface or a SAS interface module. The NVMe hard disk frame is more like a complete computer system. The NVMe hard disk is inserted into the NVMe hard disk frame, and the NVMe hard disk frame is connected to the engine 121 via the RDMA port.
[0071] based on Figure 1 The database system 10 shown in the figure, the present application also provides a method for separating hot and cold data. The method for separating hot and cold data provided by the present application is introduced below in conjunction with an embodiment.
[0072] See also Figure 2 , Figure 2 A flow chart of a method for separating hot and cold data provided in an embodiment of the present application. Figure 2 In the example shown, the method includes the following steps:
[0073] 201. The computing device obtains sequence information of the page where the data row is located. The sequence information is used to establish a mapping relationship between the sequence information and time information. The time information is used to indicate the recording time of the data row.
[0074] In a database, a page is the basic unit of database storage management, that is, data is stored in pages. In a database page, a page usually includes a page header, data rows (tuples), free space, and a page trailer. The page header includes sequence information, which is used to indicate the update sequence of the data rows in the page. The sequence information can be a log sequence number (LSN).
[0075] For example, in the innodb storage engine of the Mysql database, the basic unit of interaction between the memory and the hard disk is the page, where in the page header, the sequence information can be the log sequence number "FIL_PAGE_LSN" field in the page header. For example, in the Gauss DB database, the sequence information in the page can be the log sequence number "pd_lsn" field.
[0076] In a possible implementation, in addition to the sequence information, the page header of the database page also includes other metadata information, for example, the page header also includes information such as page type, page status, and page offset, wherein the page type can indicate that the type of the data page can be an index page or a data page, etc., and the page status can indicate the current usage status of the page, such as whether it is full or being modified. The page offset can record the relative position of the data row in the page.
[0077] In the page structure of the above database page, the data row is used to store actual data, which may also be referred to as data record or data in the embodiment of the present application. Among them, the data row may also include user-defined fields and metadata maintained by the database system. Free space is the idle space in the page, which may also be referred to as residual space. Free space can be used to dynamically add new data rows. The end mark and verification information of the page may also be included in the footer to ensure the integrity and correctness of the page.
[0078] See also Figure 3 , Figure 3 A schematic diagram of a database page provided in an embodiment of the present application. Figure 3In the example shown, the page is a page in the Gauss DB database, and the Gauss DB data page includes a page header, free space and data rows, wherein the page header includes fields such as "pd_lsn", "pd_checksum", "pd_flags", "pd_lowe", "pd_upper", "pd_special", "pd_size+version", etc., the free space is the "free space" part in the data page, which can also be called the remaining space of the page, and the data row is the "tuple1" part in the page, which is used to store data.
[0079] exist Figure 3 In the example shown, the "pd_lsn" in the page header is the log sequence number, which can indicate the operation sequence of the page. For example, the log sequence number "pd_lsn" will increase with the number of operations on the page. The "pd_checksum" field in the page header is the checksum field of the page, which is used to verify the integrity of the page and prevent the data from being tampered with or damaged during transmission or storage. The "pd_flags" field is the flag bit of the page, which is used to indicate the page status and other contents. The "pd_lowe" field and the "pd_upper" field indicate the starting position and the ending position of the free space respectively. The "pd_special" field is used to indicate the beginning of the special space related to the indexing method. The "pd_size+version" field is used to indicate the page size and version.
[0080] It can be understood that, in some possible implementations, the sequence information in the embodiments of the present application may also be stored in other locations of the data page, for example, the sequence information is stored in a page footer field, which is not specifically limited.
[0081] In addition, in some possible implementations, in addition to the sequence information processing log sequence number in the embodiment of the present application, other incremental identifiers may also be used. For example, the sequence information may be the last modification date of the physical file of the database, which is not specifically limited.
[0082] In order to save storage space of the database, the computing device in the embodiment of the present application needs to separate the hot data and the cold data in the database and compress the cold data, thereby saving storage space of the database without affecting the response speed of the hot data.
[0083] See also Figure 4 , Figure 4 A schematic diagram of hot and cold data separation provided in an embodiment of the present application. Figure 4In the example shown, the database is applied to an online transaction processing (OLTP) scenario. In the online transaction processing (OLTP) scenario, the computing device needs to process user requests in real time. In order to improve the storage efficiency of the database, the computing device separates the hot data and cold data in the database. However, in the process of separating the hot data and cold data in the database, it is necessary to identify the cold data. Specifically, the computing device can identify the cold data based on the modification time of the data row.
[0084] exist Figure 4 In the example shown, for the heap table data rows in the data rows, the header field of the heap table data rows can be used to store the modification time, and the computing device identifies cold data based on the modification time of the data header field. However, for the index data rows in the data rows, the index data rows do not have a field to store time information, and therefore cold data cannot be identified. The hot and cold data separation method provided in the embodiment of the present application can solve this problem.
[0085] The cold and hot data separation method provided in the embodiment of the present application can identify cold data based on the sequence information of the page where the data row is located, and implement the analysis of cold and hot data, which is specifically described below:
[0086] Since the page where the data row is located contains sequence information, the computing device in the embodiment of the present application can use the sequence information to identify hot and cold data. Specifically, the computing device can collect the sequence information of the page where the data row is located, and establish a mapping relationship between the sequence information and the time information. Since the sequence information is used to indicate the update sequence of the data row in the page, that is, the update sequence can be used as the unique identifier of the page where the data row is located, therefore, the mapping relationship can indicate the time information corresponding to the unique identifier, that is, the time information corresponding to the data row in the page.
[0087] In one possible implementation, when the computing device acquires the sequence information of the page where the data row is located, the computing device periodically acquires the sequence information of the page where the data row is located, and records the acquisition time corresponding to the sequence information. Specifically, the computing device periodically acquires the sequence information of the page where the data row is located based on a preset time interval, and records the sequence information and the acquisition time. For example, the computing device acquires the log sequence number of the page where the data row is located every 24 hours, and records the log sequence number and the corresponding acquisition time.
[0088] See also Figure 5 , Figure 5 A schematic diagram of timing acquisition sequence information provided in an embodiment of the present application. Figure 5In the example shown, the computing device periodically collects the log sequence number of the page where the data row is located. For example, the log sequence number of the page where data row 1 collected by the computing device is located is 1000, and the corresponding collection time is 00:00:00 on January 1, 2024. The log sequence number of the page where data row 1 is located is 2000, and the corresponding collection time is 00:00:00 on August 1, 2024.
[0089] In one possible implementation, after the computing device obtains the sequence information of the page where the data row is located, the computing device establishes a mapping relationship between the sequence information and the acquisition timestamp, where the acquisition timestamp is the acquisition time of the sequence information, and the update sequence in the sequence information is positively correlated with the acquisition timestamp, that is, the larger the update sequence value in the sequence information, the newer the acquisition time in the acquisition timestamp corresponding to the update sequence.
[0090] Please continue reading Figure 5 ,exist Figure 5 In the example shown, the log sequence number of the page where data row 1 collected by the computing device is located is 1000, and the corresponding collection time is 00:00:00 on January 1, 2024. The computing device then establishes a mapping relationship between the log sequence number 1000 and the collection time 00:00:00 on January 1, 2024, which is the recording time of data row 1.
[0091] exist Figure 5 In the example shown, the log sequence number of the page where data row 1 is located, which is collected again by the computing device, is 2000, and the corresponding collection time is 00:00:00 on August 1, 2024. The computing device then establishes a mapping relationship between the log sequence number 2000 and the collection time 00:00:00 on August 1, 2024. At this time, the time is the recording time of data row 1.
[0092] In a possible implementation, after the computing device establishes the mapping relationship between the sequence information and the acquisition timestamp, the mapping relationship is stored in a persistent storage. Specifically, the computing device may store the mapping relationship in a local storage or in a database, which is not specifically limited.
[0093] It should be noted that in another possible implementation of the embodiment of the present application, the computing device does not need to periodically collect the sequence information of the page where the data row is located. Instead, when the sequence information of the page where the data is located is updated, the computing device collects the updated sequence information once and establishes a mapping relationship between the updated sequence information and the acquisition timestamp.
[0094] For example, assuming that the log sequence number of the page where data row 1 is collected at 00:00:00 on January 2, 2024, is still 800, when the page where data row 1 is located is operated, causing the log sequence number of the page where data row 1 is located to become 801, the computing device collects the log sequence number of the page where data row 1 is located as 801, and establishes a mapping relationship between the log sequence number 801 and the collection time 00:01:00 on January 1, 2024.
[0095] 202. The computing device determines the recording time of the target data row based on the mapping relationship, and the recording time is used to determine the hot and cold data of the target data row. The target data row includes the data row to be identified as the hot and cold data.
[0096] After the computing device establishes the above mapping relationship, it can identify whether the data row is cold data based on the mapping relationship. When the computing device needs to determine whether the target data row is cold data, the computing device can determine the recording time of the target data row based on the mapping relationship. Specifically, the computing device queries the mapping relationship based on the sequence information of the page where the target data row is located, and determines the recording time corresponding to the sequence information. The recording time is used to determine whether the target data row is hot or cold data. The target data row is the data row for which the hot and cold data identification is to be performed.
[0097] In one possible implementation, the sequence information is a log sequence number. In a process in which the computing device determines the recording time of the target data row based on a mapping relationship, the computing device queries the mapping relationship based on the first log sequence number of the page where the target data row is located, and determines the recording time corresponding to the first log sequence number as the recording time corresponding to the target data row.
[0098] In one possible implementation, when the computing device queries the mapping relationship based on the first log sequence number of the page where the target data row is located, when the first log sequence number does not exist in the mapping relationship, that is, the first log sequence number corresponding to the target data row is not the log sequence number collected by the computing device and the mapping relationship is established, the computing device queries the mapping relationship based on the second log sequence number, and determines the time information corresponding to the second log sequence number as the record time corresponding to the target data row, wherein the second log sequence number is a log sequence number in the mapping relationship that is adjacent to and greater than the first log sequence number.
[0099] Please continue reading Figure 5 ,exist Figure 5In the example shown, the target data behavior to be identified by the computing device is data row 1, and the log sequence number of the page where data row 1 is located is 800. The computing device can query the above mapping relationship based on the log sequence number 800. In the storage of the mapping relationship, there is no log sequence number corresponding to the log sequence number 800. The computing device then uses the log sequence number 1000 that exists in the mapping relationship, is adjacent to and is greater than the log sequence number 800 as the query object. The acquisition timestamp corresponding to the log sequence number 1000 is 00:00:00 on January 1, 2024. Therefore, the computing device returns 00:00:00 on January 1, 2024 as the query result for querying the log sequence number 800. The time 00:00:00 on August 1, 2024 is the recording time of data row 1. The computing device can identify cold data based on the recording time.
[0100] exist Figure 5 In another example shown, the target data behavior to be identified by the computing device is data row 2, and the log sequence number of the page where data row 2 is located is 1200. The computing device can query the above mapping relationship based on the log sequence number 1200. The log sequence number corresponding to the log sequence number 1200 does not exist in the storage of the mapping relationship. The computing device then uses the log sequence number 2000 that exists in the mapping relationship, is adjacent to and is greater than the log sequence number 1200 as the query object. The acquisition timestamp corresponding to the log sequence number 2000 is 00:00:00 on August 1, 2024. Therefore, the time 00:00:00 on August 1, 2024 is the recording time of data row 2, and the computing device can identify cold data based on the recording time.
[0101] In a possible implementation manner, the data row in the embodiment of the present application may be a heap table data row or an index data row, without specific limitation. When the data row is an index data row, the page where the index data row is located may also be called an index page.
[0102] 203. The computing device separates the target data row into cold and hot data according to the recording time of the target data row.
[0103] After the computing device determines the recording time of the target data row based on the mapping relationship, the target data row is separated into hot and cold data according to the recording time of the target data row. Specifically, after the computing device queries the above mapping relationship to determine the recording time of the target data row, and determines that the target data row is cold data according to the recording time, the computing device can separate the page where the target data row is located, and compress the page where the target data row is located based on the compression algorithm.
[0104] In one possible implementation, before the computing device performs cold and hot data separation on the target data row according to the recording time of the target data row, in the process of the computing device identifying whether the target data row is cold data, when the time interval between the recording time of the target data row and the current time is greater than a threshold, the computing device determines that the target data row is cold data. For example, the threshold of the time interval is 6 months, that is, when the time interval between the recording time of the target data row and the current time exceeds 6 months, the computing device determines that the target data row is cold data.
[0105] Please continue reading Figure 5 ,exist Figure 5 In the example shown, during the process of identifying cold data, the computing device queries the mapping relationship based on the log sequence number of the page where the target data row is located, and determines that the log sequence number of the page where the target data row is located is 800, and the corresponding record time is 00:00:00 on January 1, 2024. The time interval between this time and the current time 00:00:00 on November 1, 2024 is greater than the time interval threshold of 6 months. The computing device determines that the target data row is cold data, and the computing device needs to compress the target data row.
[0106] It can be seen from the above embodiments that the computing device in the embodiment of the present application can establish an association between the sequence information of the page where the data is located and the time information. Therefore, when the computing device separates the target data into cold and hot data, it can also rely on the sequence information of the page where the target data is located to determine the update time of the target data, thereby determining whether the target data is cold data, thereby improving the cold data compression rate in the embodiment of the present application.
[0107] Based on the above method embodiment, the embodiment of the present application further provides a cold and hot data separation device. The cold and hot data separation device provided by the embodiment of the present application is specifically introduced below.
[0108] See also Figure 6 , Figure 6 A schematic diagram of the structure of a cold and hot data separation device provided in an embodiment of the present application. Figure 6 In the example shown, the cold-hot data separation device 600 is used to implement the steps performed by the database system in the above embodiments. The cold-hot data separation device 600 includes an acquisition unit 601 and a processing unit 602 .
[0109] The acquisition unit 601 is used to acquire the sequence information of the page where the data row is located, and the sequence information is used to establish a mapping relationship between the sequence information and the time information, and the time information is used to indicate the recording time of the data row. The processing unit 602 is used to determine the recording time of the target data row based on the mapping relationship, and the recording time is used to perform cold and hot data determination of the target data row, and the target data row includes the data row to be subjected to cold and hot data identification. The processing unit 602 is also used to perform cold and hot data separation on the target data row according to the recording time of the target data row.
[0110] In a possible implementation, the sequence information includes one or more of the following: a log sequence number and a last modification time.
[0111] In a possible implementation, the sequence information is a log sequence number, and the processing unit 602 is specifically configured to query a mapping relationship based on the first log sequence number of the page where the target data row is located, and determine the time information corresponding to the first log sequence number as the record time corresponding to the target data row.
[0112] In one possible implementation, when the first log sequence number does not exist in the mapping relationship, the mapping relationship is queried based on the second log sequence number, and the time information corresponding to the second log sequence number is determined as the record time corresponding to the target data row, and the second log sequence number is a log sequence number in the mapping relationship that is adjacent to and greater than the first log sequence number.
[0113] In a possible implementation, the acquisition unit 601 is specifically used to periodically acquire the sequence information of the page where the data row is located based on a preset time interval. The processing unit 602 is also used to establish a mapping relationship between the sequence information and the acquisition timestamp, wherein the update sequence in the sequence information is positively correlated with the acquisition timestamp, and the acquisition timestamp indicates the acquisition time of the sequence information. The processing unit 602 is also used to store the mapping relationship in a persistent storage.
[0114] In a possible implementation, the processing unit 602 is further configured to determine that the target data row is cold data when the time interval between the recording time of the target data row and the current time is greater than a threshold.
[0115] In a possible implementation, the data row includes one or more of the following: a heap table data row and an index data row.
[0116] It can be understood that the acquisition unit 601 and the processing unit 602 in the cold and hot data separation device 600 can be used as functional modules and Figure 1 There is a mapping between each module in the database system 10, so as to realize the function of each module in the database system 10.
[0117] It should be understood that the division of the units in the above device is only a division of logical functions. In actual implementation, they can be fully or partially integrated into one physical entity, or they can be physically separated. And the units in the device can all be implemented in the form of software calling through processing elements; they can also be all implemented in the form of hardware; some units can also be implemented in the form of software calling through processing elements, and some units can be implemented in the form of hardware. For example, each unit can be a separately established processing element, or it can be integrated in a certain chip of the device. In addition, it can also be stored in the memory in the form of a program, and called and executed by a certain processing element of the device. The function of the unit. In addition, all or part of these units can be integrated together, or they can be implemented independently. The processing element described here can also be a processor, which can be an integrated circuit with signal processing capabilities. In the implementation process, each step of the above method or each unit above can be implemented by an integrated logic circuit of hardware in the processor element or in the form of software calling through a processing element.
[0118] It is worth noting that, for the above method embodiments, for the sake of simplicity of description, they are all expressed as a series of action combinations, but those skilled in the art should know that the present application is not limited to the described order of actions. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required for the present application.
[0119] Other reasonable step combinations that can be thought of by those skilled in the art based on the above description also fall within the scope of protection of this application. Secondly, those skilled in the art should also be familiar with the fact that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by this application.
[0120] See also Figure 7 , Figure 7 A schematic diagram of the structure of a computing device provided in an embodiment of the present application. Figure 7 As shown, the computing device 700 includes: a processor 701, a memory 702, a communication interface 703 and a bus 704. The processor 701, the memory 702 and the communication interface 703 are coupled via a bus (not marked in the figure). The memory 702 stores instructions. When the execution instructions in the memory 702 are executed, the computing device 700 executes the method executed by the database system in the above method embodiment.
[0121] The computing device 700 may be one or more integrated circuits configured to implement the above method, such as one or more application specific integrated circuits (ASIC), or one or more microprocessors (digital signal processors, DSP), or one or more field programmable gate arrays (FPGA), or a combination of at least two of these integrated circuit forms. For another example, when a unit in the device can be implemented in the form of a processing element scheduler, the processing element may be a general-purpose processor, such as a central processing unit (CPU) or other processor that can call a program. For another example, these units may be integrated together and implemented in the form of a system-on-a-chip (SOC).
[0122] The processor 701 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor.
[0123] The memory 702 may be a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memories. Among them, the nonvolatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).
[0124] The memory 702 stores executable program codes, and the processor 701 executes the executable program codes to respectively implement the functions of the aforementioned units or modules, thereby implementing the aforementioned hot and cold data separation method. That is, the memory 702 stores instructions for executing the aforementioned hot and cold data separation method.
[0125] The communication interface 703 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 700 and other devices or a communication network.
[0126] In addition to the data bus, the bus 704 may also include a power bus, a control bus, a status signal bus, etc. The bus may be a peripheral component interconnect express (PCIe) bus, or an extended industry standard architecture (EISA) bus, a unified bus (Ubus or UB), a compute express link (CXL), a cache coherent interconnect for accelerators (CCIX), etc. The bus may be divided into an address bus, a data bus, a control bus, etc.
[0127] See also Figure 8 , Figure 8 A schematic diagram of a computing device cluster provided in an embodiment of the present application. Figure 8 As shown, the computing device cluster 800 includes at least one computing device 700 .
[0128] like Figure 8 As shown, the computing device cluster 800 includes at least one computing device 700. The memory 702 in one or more computing devices 700 in the computing device cluster 800 may store the same instructions for executing the above-mentioned hot and cold data separation method.
[0129] In some possible implementations, the memory 702 of one or more computing devices 700 in the computing device cluster 800 may also respectively store some instructions for executing the above-mentioned cold and hot data separation method. In other words, the combination of one or more computing devices 700 can jointly execute the instructions for executing the above-mentioned cold and hot data separation method.
[0130] It should be noted that the memory 702 in different computing devices 700 in the computing device cluster 800 can store different instructions, which are respectively used to execute part of the functions of the above-mentioned cold and hot data separation device. That is, the instructions stored in the memory 702 in different computing devices 700 can realize the functions of one or more modules in the processing unit and the acquisition unit.
[0131] In some possible implementations, one or more computing devices 700 in the computing device cluster 800 may be connected via a network, which may be a wide area network or a local area network.
[0132] See also Fig. 9 , Fig. 9A schematic diagram of computer devices in a computer cluster connected via a network provided in an embodiment of the present application. Fig. 9 As shown, two computing devices 700A and 700B are connected via a network. Specifically, they are connected to the network via a communication interface in each computing device.
[0133] In a possible implementation, the memory in the computing device 700A stores instructions for executing the functions of the acquisition unit, and the memory in the computing device 700B stores instructions for executing the functions of the processing unit.
[0134] It should be understood that Fig. 9 The functions of the computing device 700A shown in FIG. 7 may also be completed by multiple computing devices. Similarly, the functions of the computing device 700B may also be completed by multiple computing devices.
[0135] In another embodiment of the present application, a computer-readable storage medium is provided, in which computer-executable instructions are stored. When the processor of the device executes the computer-executable instructions, the device executes the method executed by the database system in the above method embodiment.
[0136] In another embodiment of the present application, a computer program product is provided, the computer program product includes computer executable instructions, the computer executable instructions are stored in a computer readable storage medium. When the processor of the device executes the computer executable instructions, the device executes the method executed by the database system in the above method embodiment.
[0137] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0138] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0139] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0140] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0141] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, read-only memory), random access memory (RAM, random access memory), disk or optical disk and other media that can store program code.
Claims
1. A method for separating hot and cold data, characterized in that: include: Acquire sequence information of a page where a data row is located, wherein a field of the data row in the page does not store time information of the data row, the sequence information includes a log sequence number, which is used to establish a mapping relationship between the sequence information and time information, the time information is used to indicate a recording time of the data row, and the page includes a database page; wherein acquiring the sequence information of the page where the data row is located includes: regularly acquiring the sequence information of the page where the data is located based on a preset time interval; Determine a recording time of a target data row based on the mapping relationship, wherein the recording time is used to determine whether the target data row is hot or cold data, and the target data row includes a data row for which hot and cold data identification is to be performed; Separating the target data row into cold and hot data according to the recording time of the target data row, wherein when the time interval between the recording time of the target data row and the current time is greater than a threshold, determining that the target data row is cold data; The method further comprises: Establishing a mapping relationship between the sequence information and an acquisition timestamp, wherein an update sequence in the sequence information is positively correlated with the acquisition timestamp, and the acquisition timestamp indicates a collection time of the sequence information; The mapping relationship is stored in persistent storage.
2. The method according to claim 1, characterized in that The sequence information also includes: the last modification time.
3. The method according to claim 2, characterized in that The determining the recording time of the target data row based on the mapping relationship includes: The mapping relationship is queried based on the first log sequence number of the page where the target data row is located, and the time information corresponding to the first log sequence number is determined as the recording time corresponding to the target data row.
4. The method according to claim 3, characterized in that The querying of the mapping relationship based on the first log sequence number of the page where the target data row is located includes: When the first log sequence number does not exist in the mapping relationship, the mapping relationship is queried based on the second log sequence number, and the time information corresponding to the second log sequence number is determined as the record time corresponding to the target data row. The second log sequence number is a log sequence number in the mapping relationship that is adjacent to and greater than the first log sequence number.
5. The method according to any one of claims 1 to 4, characterized in that: The data row includes one or more of the following: a heap table data row and an index data row.
6. A device for separating hot and cold data, characterized in that: include: an acquisition unit, configured to acquire sequence information of a page where a data row is located, wherein a field of the data row in the page does not store time information of the data row, the sequence information includes a log sequence number, and is used to establish a mapping relationship between the sequence information and time information, the time information is used to indicate a recording time of the data row, and the page includes a database page; the acquisition unit is specifically configured to: regularly acquire sequence information of the page where the data row is located based on a preset time interval; a processing unit, configured to determine a recording time of a target data row based on the mapping relationship, wherein the recording time is used to perform a cold and hot data determination of the target data row, wherein the target data row includes a data row for which cold and hot data identification is to be performed; The processing unit is further used to separate the target data row into cold and hot data according to the recording time of the target data row; The processing unit is further configured to: determine that the target data row is cold data when the time interval between the recording time of the target data row and the current time is greater than a threshold; The processing unit is also used for: Establishing a mapping relationship between the sequence information and an acquisition timestamp, wherein an update sequence in the sequence information is positively correlated with the acquisition timestamp, and the acquisition timestamp indicates a collection time of the sequence information; The mapping relationship is stored in persistent storage.
7. The device according to claim 6, characterized in that The sequence information also includes: the last modification time.
8. The device according to claim 7, characterized in that The processing unit is specifically used for: The mapping relationship is queried based on the first log sequence number of the page where the target data row is located, and the recording time corresponding to the first log sequence number is determined as the recording time corresponding to the target data row.
9. The device according to claim 8, characterized in that The processing unit is specifically used for: When the first log sequence number does not exist in the mapping relationship, the mapping relationship is queried based on the second log sequence number, and the time information corresponding to the second log sequence number is determined as the record time corresponding to the target data row. The second log sequence number is a log sequence number in the mapping relationship that is adjacent to and greater than the first log sequence number.
10. The device according to any one of claims 6 to 9, characterized in that The data row includes one or more of the following: a heap table data row and an index data row.
11. A computing device, characterized in that: The device comprises a processor coupled to a memory, wherein the processor is used to store instructions. When the instructions are executed by the processor, the computing device performs the method according to any one of claims 1 to 5.
12. A computing device cluster, characterized in that: The system comprises at least one computing device, wherein the computing device comprises a processor, wherein the processor is coupled to a memory, and the processor is used to store instructions. When the instructions are executed by the processor, the computing device cluster executes the method according to any one of claims 1 to 5.
13. A computer-readable storage medium having instructions stored thereon, characterized in that: When the instructions are executed, the computer is caused to perform the method according to any one of claims 1 to 5.
14. A computer program product, comprising instructions, characterized in that: When the instructions are executed, the computer implements the method according to any one of claims 1 to 5.
Citation Information
Patent Citations
Cluster-oriented network communication log storage method, cluster server and cluster
CN117478534A