KR101875763B1 - The database management system and method for preventing performance degradation of transaction when table reconfiguring - Google Patents

The database management system and method for preventing performance degradation of transaction when table reconfiguring Download PDF

Info

Publication number
KR101875763B1
KR101875763B1 KR1020160095225A KR20160095225A KR101875763B1 KR 101875763 B1 KR101875763 B1 KR 101875763B1 KR 1020160095225 A KR1020160095225 A KR 1020160095225A KR 20160095225 A KR20160095225 A KR 20160095225A KR 101875763 B1 KR101875763 B1 KR 101875763B1
Authority
KR
South Korea
Prior art keywords
partition
journal file
synchronization
record
journal
Prior art date
Application number
KR1020160095225A
Other languages
Korean (ko)
Other versions
KR20180012436A (en
Inventor
김명근
김정현
Original Assignee
(주)선재소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)선재소프트 filed Critical (주)선재소프트
Priority to KR1020160095225A priority Critical patent/KR101875763B1/en
Priority to PCT/KR2016/008261 priority patent/WO2018021593A1/en
Publication of KR20180012436A publication Critical patent/KR20180012436A/en
Application granted granted Critical
Publication of KR101875763B1 publication Critical patent/KR101875763B1/en

Links

Images

Classifications

    • G06F17/30097
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present invention relates to an online database management system and method for minimizing the performance degradation of a transaction when a table is reorganized, and in an online database management system for reorganizing a table, the system is divided into a plurality of partitions and a partition hash map A partition hash map configuration module to store; A partition selection module for selecting a first partition to be moved among a plurality of partitions partitioned by the partition hash map configuration module; A journal file generation module that generates a synchronization journal file that records a record insertion / deletion / change history in the first partition selected by the partition selection module; A partition transfer module for transferring the at least one second partition to be migrated to the first partition where the synchronization journal file is generated in the journal file generation module; A partition deletion module for deleting a second partition when transfer of the second partition to the first partition is completed; And a journal file deletion module for deleting the synchronization journal file generated in the first partition. [5] The present invention relates to an online database management system and method for minimizing the performance degradation of a transaction during table reorganization. According to the present invention, it is possible to provide an online database management system and a method for minimizing a performance degradation of a transaction when a table is reconstructed, by omitting a record deletion process by dividing a plurality of partitions in advance at the time of table creation.

Description

BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an online database management system and method for minimizing a performance degradation of a transaction when a table is reconfigured,

The present invention relates to an online database management system and method for minimizing the performance degradation of a transaction when a table is reorganized. More particularly, the present invention relates to an online database management system and method, The present invention relates to an online database management system and method for minimizing the performance degradation of a transaction.

The present invention relates to a database management system.

The process of reorganizing tables in an existing database management system is as described in Fig.

The existing table reorganization consists of a process similar to partitioning of partitioned tables. In a nutshell, the existing table reorganization process consists of adding a new partition to the table, and transferring the records that match the condition from the existing partition to the new partition.

The cluster database management system must do this online. That is, even if the table reorganization process is in progress, the transaction that accesses the table must be allowed.

Existing systems use synchronization triggers to solve these problems. Synchronization triggers are created in the destination table after adding a new partition and deleted when the record transfer to the new partition is complete. If a transaction changes records during the table reorganization process, it is remotely reflected.

The existing technology causes table fragmentation because the records stored in the existing partition are transferred to the new partition. The transfer of the record is made from the existing partition to the new partition, and it is deleted after the point of time when the transfer ends. Even if you delete a record, the entire table space is not shrunk, and you can not reuse records that have been deleted from another table. Therefore, existing technologies using partitioning have a problem of low space efficiency.

The use of synchronization triggers also has the problem of temporarily degrading the performance of service transactions. If a record insert / delete / change operation occurs during the table reorganization, it must be synchronized with the record transferred remotely. The synchronization process is performed by a trigger and involves a remote communication process, so that the performance of a service transaction is significantly degraded.

The present invention has been made to solve the above problems and it is an object of the present invention to provide an on-line data recording method and a data recording method capable of omitting a record deletion process by dividing a plurality of partitions at the time of table creation, Base management system and method.

It is another object of the present invention to provide a method and system for performing a service transaction by collectively processing a table reconfiguration transaction, unlike a trigger performed by a service transaction, using a journaling technique capable of minimizing performance degradation of a service transaction for data synchronization An object of the present invention is to provide an online database management system and method that minimizes the performance degradation of a transaction when a table is reconfigured to prevent remote access for data synchronization.

According to an aspect of the present invention, there is provided an online database management system for restructuring a table, the system comprising: A partition hash map configuration module for dividing the partition into a plurality of partitions and configuring and storing the partition hash map; A partition selection module for selecting a first partition to be moved among a plurality of partitions partitioned by the partition hash map configuration module; A journal file generation module that generates a synchronization journal file that records a record insertion / deletion / change history in the first partition selected by the partition selection module; A partition transfer module for transferring the at least one second partition to be migrated to the first partition where the synchronization journal file is generated in the journal file generation module; A partition deletion module for deleting a second partition when transfer of the second partition to the first partition is completed; And a journal file deletion module for deleting the synchronization journal file generated in the first partition.

In addition, the synchronization journal file is a set of journal records, and journal records are recorded one by one whenever a transaction inserts / deletes / changes a record.

The partition hash map may include a hash value of a key column of each partition and a node number corresponding to a hash value of the key column.

In addition, the pre-partition module may include a journal file synchronization module that synchronizes the synchronization journal file in real time with the first partition.

In addition, when the second partition is deleted, the deleted second partition is returned to the table space.

According to an aspect of the present invention, there is provided an online database management method for restructuring a table, the method comprising: (a) Partitioning the partition into a plurality of partitions and constructing and storing a partition hash map; (b) selecting a first partition to be moved among the plurality of partitions partitioned in step (a); (c) generating a synchronization journal file to record a record insert / delete / change history in the first partition selected in step (b); (d) migrating the at least one second partition to be migrated to the first partition where the synchronization journal file is created in step (c); (e) deleting the second partition when migration of the second partition to the first partition is completed; And (f) deleting the synchronization journal file generated in the first partition.

In addition, the synchronization journal file is a set of journal records, and journal records are recorded one by one whenever a transaction inserts / deletes / changes a record.

The partition hash map may include a hash value of a key column of each partition and a node number corresponding to a hash value of the key column.

The step (d) may further comprise: (d1) synchronizing the synchronization journal file in real time with the first partition.

In the step (e), when the second partition is deleted, the deleted second partition is returned to the table space.

As described above, according to the present invention, it is possible to provide an online database management system and method for minimizing the performance degradation of a transaction when a table is reconstructed, in which a plurality of partitions are divided in advance before a table is created, have.

In addition, according to the present invention, by using a journaling technique that minimizes the performance degradation of service transactions for data synchronization, it is possible to perform batch processing by a table reconfiguration transaction, unlike a trigger performed by a service transaction, The present invention can provide an online database management system and method that minimizes a performance degradation of a transaction when a table is reconfigured to prevent a remote access to the database.

FIG. 1 is a flowchart showing a general table reconstruction process in the existing technology
2 is a block diagram illustrating a configuration of an online database management system that minimizes a performance degradation of a transaction when a table is reorganized according to an embodiment of the present invention.
FIG. 3 illustrates an online database management system and method for minimizing the performance degradation of a transaction when a table is reorganized according to an embodiment of the present invention. FIG. FIG.
FIG. 4 is a flowchart illustrating a procedure for providing an online database management system that minimizes performance degradation of a transaction when a table is reconstructed according to an embodiment of the present invention.

BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention, and the manner of achieving them, will be apparent from and elucidated with reference to the embodiments described hereinafter in conjunction with the accompanying drawings.

The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. To fully disclose the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will now be described with reference to the accompanying drawings, which illustrate an online database management system and method for minimizing the performance degradation of a transaction when a table is reconstructed according to embodiments of the present invention.

The present invention relates to an online database management system for reconfiguring a table.

FIG. 2 is a block diagram illustrating a configuration of an online database management system that minimizes a performance degradation of a transaction when a table is reconfigured according to an embodiment of the present invention. FIG. In an online database management system and method in which a table is divided into 16 groups in two groups.

2 and 3, an on-line database management system that minimizes the performance degradation of a transaction when a table is reconstructed according to the present invention includes a partition hash map configuration module, a partition selection module, a journal file creation module, , And a journal file deletion module.

The partition hash map configuration module divides the table into a number of partitions and stores the partition hash map.

Here, the partition hash map includes a hash value of a key column of each partition and a node number corresponding to a hash value of the key column.

That is, the partition hash map is a data structure for managing the location of the node where each partition is stored, and has a hash value of a key column and a corresponding node number, and selects a partition through the node number It is possible to do.

 The partition selection module selects a first partition to be moved among a plurality of partitions partitioned by the partition hash map configuration module.

Here, it is preferable that the size of the first partition is larger than that of the second partition.

The journal file generation module generates a synchronization journal file that records a record insertion / deletion / change history in the first partition selected by the partition selection module.

This is for recording the history of change such as record insertion / deletion / change operation of the corresponding partition by other transactions during the partition transfer process.

The logging of the synchronization journal file is performed by the corresponding transaction and has the advantage that the performance of ongoing transactions is degraded because it is not accompanied by a remote synchronization process.

The synchronization journal file is a set of journal records, and journal records are recorded one by one whenever a transaction inserts / deletes / changes a record.

It is desirable that information such as a transaction ID, a system change number (SCN), a changed record, and the like are recorded in the journal record.

The SCN is preferably used to select journal records to be remotely recorded during the journal file synchronization process of the journal file synchronization module.

For example, if a journal file synchronization transaction has migrated partitions to SCN 10, then journal file synchronization should preferably write only journal records with an SCN greater than 10 remotely.

Since the present invention uses a delay synchronization method using journaling, it is preferable that data synchronization is batch processed by a journal file synchronization transaction, unlike a trigger performed by a service transaction.

That is, assuming that a service transaction performs insert / delete / update operations on a partition that is being migrated, it writes the changes to the journal file without performing remote synchronization immediately after performing the partition. Partitioning through the previous module. It is preferable to perform the batch processing remotely.

The delayed synchronization scheme can minimize the performance degradation because the service transaction does not access remotely to synchronize the data, and can perform the partition transfer quickly because it is processed in a remote batch.

The pre-partition module transfers the at least one second partition to be migrated to the first partition where the synchronization journal file is generated in the journal file generation module.

In addition, the pre-partition module may include a journal file synchronization module that synchronizes the synchronization journal file in real time with the first partition.

Here, the journal synchronization module remotely synchronizes the journal data because a change of the partition may have occurred during the partition transfer process.

Also, during the journal file synchronization process, a change of the partition may be caused by another transaction.

The journal file synchronization module is repeatedly performed until a predetermined number of journal records to be recorded remain. When the condition is satisfied, a shared lock is acquired at the corresponding partition, and the remaining journal records are synchronized without synchronization It is preferable to record it as it is.

The journal file synchronization module is performed in a batch process and enables fast synchronization in real time by maximizing the network bandwidth.

In the partition deletion module, the journal file deletion module deletes the second partition when migration of the second partition to the first partition is completed.

In addition, when the second partition is deleted, the deleted second partition is returned to the table space.

That is, the deleted partition space can be immediately reused in another table, and unlike the existing technology, there is no need to use a separate space reclaim command.

The journal file deletion module deletes the synchronization journal file created in the first partition.

FIG. 4 is a flowchart illustrating a procedure for providing an online database management system that minimizes performance degradation of a transaction when a table is reconstructed according to an embodiment of the present invention.

Referring to FIG. 4, when creating a table, the partition is divided into a plurality of partitions, and a partition hash map is constructed and stored (S110).

Next, a first partition to be moved is selected among the plurality of partitions partitioned in step S110 (S120).

In step S130, a synchronization journal file is recorded to record a record insertion / deletion / change history in the first partition selected in step S120.

In step S140, the second partition to be migrated is migrated to the first partition where the synchronization journal file is created in step S140.

Preferably, the step (S140) includes synchronizing the synchronization journal file in real time with the first partition, and synchronizing the journal file in real time may include synchronizing It is preferable to acquire a shared lock on the partition and record the remaining journal records when the condition is satisfied.

Then, when the migration of the second partition to the first partition is completed, the second partition is deleted (S150).

Finally, the synchronization journal file created in the first partition is deleted (S160).

It will be understood by those skilled in the art that the present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. The scope of the present invention is defined by the appended claims rather than the foregoing detailed description, and all changes or modifications derived from the meaning and scope of the claims and the equivalents thereof are included in the scope of the present invention Should be interpreted.

100: Database Management System 110: Partition Hash Map Configuration Module
120: partition selection module 130: journal file generation module
140: pre-partition module 145: journal file synchronization module
150: Partition deletion module 160: Journal file deletion module

Claims (10)

1. An online database management system for restructuring a table,
A partition hash map configuration module that divides the table into a plurality of partitions and constructs and stores a partition hash map;
A partition selection module for selecting a first partition to be moved among a plurality of partitions partitioned by the partition hash map configuration module;
A journal file generation module that generates a synchronization journal file that records a record insertion / deletion / change history in the first partition selected by the partition selection module;
A partition pre-module for transferring the second partition to the first partition where the synchronization journal file is generated in the journal file generation module;
A partition deletion module for deleting the second partition when the migration of the second partition is completed in the first partition; And
A journal file deletion module for collectively deleting the synchronization journal files generated in the first partition; ≪ / RTI >
The synchronization journal file is a set of journal records that records a change history of insertion / deletion / change of a record of a corresponding partition by other transactions during a partition transfer process, and records a journal record Is recorded,
The journal record includes a transaction ID, a system change number (SCN), information of a changed record, and a record ID,
Wherein when the second partition is deleted, the deleted second partition is returned to the table space. In the table reconstruction,
The synchronization journal file records change contents when a record insertion / deletion / update operation is performed on a partition to which the transaction is being transferred, and stores the changed contents in the synchronization journal file, which is batch processed by the journal file synchronization transaction immediately before partitioning through the pre- Database management system.
delete 2. The method of claim 1,
Wherein the hash value of the key column in each partition and the node number corresponding to the hash value of the key column are minimized in the online database management system.
2. The system of claim 1, wherein the pre-
And a journal file synchronization module for synchronizing the synchronization journal file in real time with the first partition. The online database management system minimizes the performance degradation of a transaction when a table is reconfigured.
delete 1. An online database management method for reconfiguring a table,
(a) partitioning a plurality of partitions into a partition hash map when the table is created;
(b) selecting a first partition to be moved among the plurality of partitions partitioned in step (a);
(c) generating a synchronization journal file to record a record insert / delete / change history in the first partition selected in step (b);
(d) migrating the at least one second partition to be migrated to the first partition where the synchronization journal file is created in step (c);
(e) deleting the second partition when migration of the second partition to the first partition is completed; And
(f) deleting the synchronization journal file generated in the first partition,
The synchronization journal file includes:
A journal record is a set of journal records, each time a transaction inserts / deletes / changes a record, a journal record is recorded one by one. During the partition transfer process, the record of the change in insertion / deletion / Whenever this record is inserted / deleted / changed, journal records are recorded one by one,
The journal record includes a transaction ID, a system change number (SCN), information of a changed record, and a record ID,
(D) synchronizing the synchronization journal file in real time with the first partition,
The synchronizing journal file records changes in the journal file when a record insertion / deletion / update operation is performed on a partition to which the transaction is being transferred, and performs batch processing by a journal file synchronization transaction immediately before partitioning through a pre- And,
Wherein the step (e) is performed when the second partition is deleted, and the deleted second partition is returned to the table space.
delete 7. The method of claim 6,
Wherein a hash value of a key column of each partition and a node number corresponding to a hash value of the key column are minimized.
delete delete
KR1020160095225A 2016-07-27 2016-07-27 The database management system and method for preventing performance degradation of transaction when table reconfiguring KR101875763B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160095225A KR101875763B1 (en) 2016-07-27 2016-07-27 The database management system and method for preventing performance degradation of transaction when table reconfiguring
PCT/KR2016/008261 WO2018021593A1 (en) 2016-07-27 2016-07-28 Online database management system and method for minimizing performance degradation of transaction when reconfiguring table

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160095225A KR101875763B1 (en) 2016-07-27 2016-07-27 The database management system and method for preventing performance degradation of transaction when table reconfiguring

Publications (2)

Publication Number Publication Date
KR20180012436A KR20180012436A (en) 2018-02-06
KR101875763B1 true KR101875763B1 (en) 2018-08-07

Family

ID=61017370

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160095225A KR101875763B1 (en) 2016-07-27 2016-07-27 The database management system and method for preventing performance degradation of transaction when table reconfiguring

Country Status (2)

Country Link
KR (1) KR101875763B1 (en)
WO (1) WO2018021593A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11086840B2 (en) 2018-12-07 2021-08-10 Snowflake Inc. Transactional streaming of change tracking data
CN109840051B (en) * 2018-12-27 2020-08-07 华为技术有限公司 Data storage method and device of storage system
CN111723073B (en) * 2019-03-19 2023-09-01 北京沃东天骏信息技术有限公司 Data storage processing method, device, processing system and storage medium
CN110046348B (en) * 2019-03-19 2021-05-25 西安理工大学 Method for recognizing main body in subway design specification based on rules and dictionaries

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007293828A (en) * 2006-04-14 2007-11-08 Hitachi Ltd System and method for processing a plurality of kinds of event markers of continuous data protection
US20100235606A1 (en) * 2009-03-11 2010-09-16 Oracle America, Inc. Composite hash and list partitioning of database tables
KR101069350B1 (en) * 2003-05-09 2011-10-04 마이크로소프트 코포레이션 Architecture for partition computation and propagation of changes in data replication
US20140164443A1 (en) * 2012-12-06 2014-06-12 Microsoft Corporation Database scale-out

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8560584B2 (en) * 2010-12-15 2013-10-15 Teradata Us, Inc. Database partition management
KR101544356B1 (en) * 2012-10-31 2015-08-13 삼성에스디에스 주식회사 Distributed database managing method and composition node thereof supporting dynamic sharding based on the metadata and data transaction quantity

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101069350B1 (en) * 2003-05-09 2011-10-04 마이크로소프트 코포레이션 Architecture for partition computation and propagation of changes in data replication
JP2007293828A (en) * 2006-04-14 2007-11-08 Hitachi Ltd System and method for processing a plurality of kinds of event markers of continuous data protection
US20100235606A1 (en) * 2009-03-11 2010-09-16 Oracle America, Inc. Composite hash and list partitioning of database tables
US20140164443A1 (en) * 2012-12-06 2014-06-12 Microsoft Corporation Database scale-out

Also Published As

Publication number Publication date
KR20180012436A (en) 2018-02-06
WO2018021593A1 (en) 2018-02-01

Similar Documents

Publication Publication Date Title
US11468015B2 (en) Storage and synchronization of metadata in a distributed storage system
KR101875763B1 (en) The database management system and method for preventing performance degradation of transaction when table reconfiguring
CN103875229B (en) asynchronous replication method, device and system
JP6479020B2 (en) Hierarchical chunking of objects in a distributed storage system
EP2498476B1 (en) Massively scalable object storage system
CN101334797B (en) Distributed file systems and its data block consistency managing method
CN106201771B (en) Data-storage system and data read-write method
CN108509462B (en) Method and device for synchronizing activity transaction table
CN105138571B (en) Distributed file system and method for storing massive small files
US20150363328A1 (en) Methods and apparatus for data processing
EP2521336A1 (en) Massively scalable object storage system
US20150254320A1 (en) Using colocation hints to facilitate accessing a distributed data storage system
WO2017088705A1 (en) Data processing method and device
US20220035786A1 (en) Distributed database management system with dynamically split b-tree indexes
US20160139980A1 (en) Erasure-coding extents in an append-only storage system
US12013814B2 (en) Managing snapshotting of a dataset using an ordered set of B+ trees
KR20190063835A (en) System for processing real-time data modification of in-memory database
CN108762982B (en) A kind of database restoring method, apparatus and system
US7200625B2 (en) System and method to enhance availability of a relational database
US8612717B2 (en) Storage system
CN105760398A (en) Log recording system and log record operating method
CN111143366B (en) High-efficiency storage method for massive large object data
CN109964217A (en) Duplicate removal data set and method
KR101748913B1 (en) Cluster management method and data storage system for selecting gateway in distributed storage environment
CN104778180B (en) Cloud storage metadata processing system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant