Heterogeneous database management system using database proxy and method therefor

The database management system with a database proxy efficiently manages metadata changes across heterogeneous databases, ensuring consistency and security, and enhancing data retrieval accuracy and system performance.

WO2026146945A1PCT designated stage Publication Date: 2026-07-09INTELLECTUS CORP

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
INTELLECTUS CORP
Filing Date
2025-12-08
Publication Date
2026-07-09

AI Technical Summary

Technical Problem

In heterogeneous database environments, existing systems face challenges in efficiently tracking changes across multiple databases due to differing concurrency control methods, leading to performance degradation, data loss, and security threats, which compromise system stability and reliability.

Method used

A database management system using a database proxy that includes a database control unit, distributed object storage unit, data encryption unit, and access control unit to asynchronously manage metadata changes, ensuring consistency and security while minimizing performance impact.

Benefits of technology

The system efficiently tracks and manages metadata changes in real time, maintaining database consistency and security, improving data retrieval accuracy and system performance by caching query results and encrypting data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2025020958_09072026_PF_FP_ABST
    Figure KR2025020958_09072026_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed is a heterogeneous database management system comprising: a database control unit connected to a plurality of heterogeneous databases and controlling the databases; a distributed object storage unit connected to the database control unit and storing the data change history of at least one database among the plurality of heterogeneous databases; a data encryption unit for encrypting the data change history stored in the distributed object storage unit; and an access control unit for controlling access to at least one database among the plurality of heterogeneous databases, wherein, when a database management request for at least one database among the plurality of heterogeneous databases is received, the database control unit transmits the management request to the at least one database and stores, in the distributed object storage unit, changes in the database corresponding to the database management request.
Need to check novelty before this filing date? Find Prior Art

Description

Heterogeneous database management system using a database proxy and the method thereof

[0001] The present disclosure relates to a heterogeneous database management system and method using a database proxy, and more specifically, to a database management system and method capable of integrally managing metadata of a plurality of heterogeneous databases using a database control unit and updating the metadata of a data platform by tracking changes to the databases in real time.

[0002] As data-driven systems become increasingly complex and large-scale, it is common for companies and organizations to operate various types of database management systems (DBMS) together. In such heterogeneous database environments, data platforms are established and operated to efficiently integrate, manage, and utilize all data.

[0003] Data platforms play a role in integrating and managing entire data using metadata from heterogeneous databases in a distributed environment, thereby enhancing information retrieval and data utilization. However, as each database possesses an independent data management system, various technical challenges arise in capturing data changes, managing history, and updating integrated metadata in a consistent manner.

[0004] First, since the concurrency control methods for change requests and data change history management methods differ for each database, it is difficult to track changes across all data sources in a uniform manner. Furthermore, synchronous change request detection using network communication can negatively impact the performance of each data source due to network latency and may lead to performance degradation of the entire system during metadata updates. Additionally, if network latency or failures occur during transaction processing, it becomes difficult to maintain database consistency due to data loss; moreover, the system is exposed to security threats such as unauthorized access, data leakage, and data tampering, which can compromise system stability and reliability.

[0005] Accordingly, there is a need for the development of new technologies that can efficiently detect database changes in heterogeneous database environments and securely integrate and manage metadata while minimizing the impact on system performance.

[0006] The present disclosure aims to provide a system and method capable of efficiently detecting changes in heterogeneous databases and managing metadata in an integrated manner.

[0007] Additionally, another objective of the present disclosure is to provide a system and method for maintaining up-to-date metadata for a data structure.

[0008] In addition, another objective of the present disclosure is to provide a system and method that improves the accuracy and efficiency of data retrieval by tracking changes in a database in real time.

[0009] The present disclosure may be implemented in various ways, including a computer-readable non-transient recording medium that records instructions for execution in a method, device (system), or computer.

[0010] According to one embodiment of the present disclosure, a management system for heterogeneous databases comprises a database control unit connected to a plurality of heterogeneous databases and controlling the databases, a distributed object storage unit connected to the database control unit and storing a data change history of at least one database among the plurality of heterogeneous databases, a data encryption unit that encrypts the data change history stored in the distributed object storage unit, and an access control unit that controls access to at least one database among the plurality of heterogeneous databases. The database control unit may be configured to transmit a management request to at least one database and store changes to the database corresponding to the database management request in the distributed object storage unit when a database management request for at least one database among the plurality of heterogeneous databases is received.

[0011] According to one embodiment, the database control unit may be configured to generate a unique identifier representing time information corresponding to changes in the database and to store the unique identifier in a distributed object storage unit.

[0012] According to one embodiment, the distributed object storage unit may be configured to encrypt changes in the database and store the encrypted changes in the database.

[0013] According to one embodiment, the data encryption unit may be configured to encrypt changes in the database using an encryption key and store the encrypted changes in the database together with the encryption key.

[0014] According to one embodiment, the access control unit may be configured to control the data access request in response to receiving a data access request from a data platform.

[0015] According to one embodiment, the database control unit may be configured to monitor status information of a plurality of heterogeneous databases and store the monitored status information as metadata.

[0016] According to one embodiment, the database control unit may be configured to detect schema changes of at least one database among a plurality of heterogeneous databases and to transmit the detected schema changes to a data platform so that the detected schema changes are reflected in an integrated data catalog.

[0017] According to one embodiment, the database control unit may be configured to detect changes in data from at least one of a plurality of heterogeneous databases and to transmit the detected changes in data to a data platform so as to reflect the detected changes in data in real time in a search index.

[0018] According to one embodiment, the database control unit may be configured to store changes to the database in a distributed object storage unit in an asynchronous manner.

[0019] According to one embodiment, the database control unit may be configured to cache query results corresponding to changes in the database.

[0020] According to one embodiment of the present disclosure, a method for managing heterogeneous databases may include the steps of receiving a database management request for at least one database among a plurality of heterogeneous databases, transmitting the management request to at least one database in response to the receipt of the database management request, and storing changes to the database corresponding to the database management request in a distributed object storage unit that stores the data change history of at least one database.

[0021] A computer-readable, non-transient recording medium may be provided that records instructions for executing a heterogeneous database management method using a database proxy according to one embodiment of the present disclosure on a computer.

[0022] According to some embodiments of the present disclosure, by immediately forwarding change requests from heterogeneous databases through a database control unit and recording change history in a distributed object storage unit asynchronously, efficient metadata management can be achieved without degrading database performance. In particular, database consistency can be maintained even if network delays or failures occur.

[0023] According to some embodiments of the present disclosure, by assigning unique identifiers that can be sorted over time to database change requests and managing them, the change history can be tracked and managed in the correct order even if a number of consecutive events occur.

[0024] According to some embodiments of the present disclosure, unauthorized access and data leakage can be effectively prevented by encrypting data through a data encryption unit in a distributed object storage unit and controlling data access through an access control unit. This can significantly improve the security and reliability of the entire system.

[0025] According to some embodiments of the present disclosure, by caching and providing key query results, the response time for repetitive database requests can be reduced and overall system performance can be improved.

[0026] According to some embodiments of the present disclosure, by automatically collecting and managing schema information of a database through an integrated data catalog, changes to the data structure can be identified and reflected in real time. This allows the latest data structure information to always be maintained on the data platform.

[0027] According to some embodiments of the present disclosure, the accuracy and speed of data retrieval can be ensured by updating a search index in real time based on change history collected through a database control unit. This can increase data utilization and improve the user's search experience.

[0028] The effects of the present disclosure are not limited to those mentioned above, and other unmentioned effects will be clearly understood by a person skilled in the art to which the present disclosure pertains (referred to as "person skilled in the art") from the description in the claims.

[0029] Embodiments of the present disclosure will be described with reference to the accompanying drawings described below, wherein similar reference numerals indicate similar elements, but are not limited thereto.

[0030] FIG. 1 is a drawing for explaining a method for managing a heterogeneous database according to one embodiment of the present disclosure.

[0031] FIG. 2 is a schematic diagram showing a configuration in which an information processing system is connected to communicate with a plurality of user terminals in relation to heterogeneous database management according to one embodiment of the present disclosure.

[0032] FIG. 3 is a block diagram showing the internal configuration of a user terminal and an information processing system according to one embodiment of the present disclosure.

[0033] FIG. 4 is a diagram showing a user system for managing a heterogeneous database according to one embodiment of the present disclosure.

[0034] FIG. 5 is a diagram illustrating a method for managing a heterogeneous database according to one embodiment of the present disclosure.

[0035] FIG. 6 is a diagram illustrating an access control and encryption processing method for a distributed object storage unit according to one embodiment of the present disclosure.

[0036] FIG. 7 is a diagram showing the configuration of a data platform according to one embodiment of the present disclosure.

[0037] FIG. 8 is a flowchart illustrating the data catalog update process of a metadata management method within a data platform according to one embodiment of the present disclosure.

[0038] FIG. 9 is a diagram showing an updated state of metadata according to one embodiment of the present disclosure.

[0039] FIG. 10 is a flowchart illustrating a method for utilizing a search index within a data platform according to one embodiment of the present disclosure.

[0040] Hereinafter, specific details for implementing the present disclosure will be described in detail with reference to the attached drawings. However, in the following description, specific descriptions regarding widely known functions or configurations will be omitted if there is a risk that the gist of the present disclosure may be unnecessarily obscured.

[0041] In the attached drawings, identical or corresponding components are assigned the same reference numerals. Additionally, in the description of the following embodiments, the description of identical or corresponding components may be omitted. However, even if a description of a component is omitted, it is not intended that such component is not included in any embodiment.

[0042] The advantages and features of the disclosed embodiments and the methods for achieving them will become clear by referring to the embodiments described below in conjunction with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below but may be implemented in various different forms, and the embodiments provided are merely to make the present disclosure complete and to fully inform those skilled in the art of the scope of the invention.

[0043] The terms used in this specification will be briefly explained, and the disclosed embodiments will be described in detail. The terms used in this specification have been selected to be as generally used as possible, taking into account their functions in this disclosure; however, these terms may vary depending on the intent of those skilled in the art, case law, the emergence of new technologies, etc. Additionally, in specific cases, terms may be arbitrarily selected by the applicant, and in such cases, their meanings will be described in detail in the relevant description of the invention. Therefore, the terms used in this disclosure should be defined not merely by their names, but based on their meanings and the content throughout this disclosure.

[0044] In this specification, singular expressions include plural expressions unless the context clearly specifies them as singular. Additionally, plural expressions include singular expressions unless the context clearly specifies them as plural. Throughout the specification, when a part is described as including a certain component, this means that, unless specifically stated otherwise, it does not exclude other components but may include additional components.

[0045] Additionally, the terms 'module' or 'part' as used in the specification refer to software or hardware components, and the 'module' or 'part' performs certain roles. However, the meaning of 'module' or 'part' is not limited to software or hardware. The 'module' or 'part' may be configured to reside in an addressable storage medium or configured to run on one or more processors. Thus, as an example, the 'module' or 'part' may include components such as software components, object-oriented software components, class components, and task components, and at least one of processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, or variables. The components and the functions provided within the 'module' or 'part' may be combined into a smaller number of components and 'modules' or 'parts', or further separated into additional components and 'modules' or 'parts'.

[0046] According to one embodiment of the present disclosure, a ‘module’ or ‘part’ may be implemented as a processor and memory. The term ‘processor’ should be broadly interpreted to include a general-purpose processor, a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a controller, a microcontroller, a state machine, etc. In some environments, the term ‘processor’ may refer to an application-specific integrated circuit (ASIC), a programmable logic device (PLD), a field programmable gate array (FPGA), etc. The term ‘processor’ may also refer to a combination of processing devices, such as, for example, a combination of a DSP and a microprocessor, a combination of multiple microprocessors, a combination of one or more microprocessors combined with a DSP core, or any other combination of such configurations. Additionally, the term ‘memory’ should be broadly interpreted to include any electronic component capable of storing electronic information. 'Memory' may refer to various types of processor-readable media, such as Random Access Memory (RAM), Read-Only Memory (ROM), Non-Volatile Random Access Memory (NVRAM), Programmable Read-Only Memory (PROM), Erasable-Programmable Read-Only Memory (EPROM), Electrically Erasable PROM (EEPROM), Flash Memory, Magnetic or Optical Data Storage Devices, Registers, etc. If a processor can read information from memory and / or write information to memory, the memory is said to be in an electronic communication state with the processor. Memory integrated into a processor is in an electronic communication state with the processor.

[0047] In addition, terms such as first, second, A, B, (a), (b), etc. used in the following embodiments are used merely to distinguish one component from another, and the essence, order, or sequence of the said component is not limited by such terms.

[0048] Additionally, in the following embodiments, where it is stated that one component is 'connected', 'coupled', or 'joined' to another component, it should be understood that the component may be directly connected or joined to the other component, but that another component may also be 'connected', 'coupled', or 'joined' between each component.

[0049] Additionally, the terms 'comprises' and / or 'comprising' as used in the following embodiments do not exclude the presence or addition of one or more other components, steps, actions, and / or elements to the mentioned components, steps, actions, and / or elements.

[0050] Hereinafter, various embodiments of the present disclosure will be described in detail with reference to the attached drawings.

[0051] FIG. 1 is a drawing for explaining a method for managing a heterogeneous database according to one embodiment of the present disclosure.

[0052] Referring to FIG. 1, according to one embodiment of the present disclosure, a user system (100) can transmit and receive data with a data platform (400) via network communication. The user system (100) may include a database control unit (110), a distributed object storage unit (120), and a plurality of databases (130a, 130b). However, the configuration of the user system (110) is not limited thereto. According to various embodiments, the user system (110) may omit at least one of the above-described components and may include at least one additional component.

[0053] The database control unit (110) may be referred to as a database proxy component. This database control unit (110) acts as a gateway for multiple databases (130a, 130b) and can track the data change history of the entire system. For example, the database control unit (110) can track the data change history of multiple heterogeneous databases (130a, 130b) within the user system (100). Additionally, the database control unit (100) can provide access control functions to enhance the database security of the user system (100). Furthermore, the database control unit (100) can manage the availability of the databases (130a, 130b) by managing the status information of the configured databases (130a, 130b) and can perform system failure recovery for the databases (130a, 130b). Additionally, the database control unit (110) can improve the overall performance of the user system (100) by providing a cache for key query results. Additionally, the database control unit (100) can generate a log of key data change history in a distributed object storage unit (120) located within the user system (100) according to the settings. At this time, the generation of the metadata log can be processed asynchronously, separated from the database request processing. Accordingly, it is prevented from affecting the operation of the database (130a, 130b) in the user system (110).

[0054] The distributed object storage unit (120) is connected to the database control unit (110) to store and update the change history of the database (130a, 130b). At this time, the database control unit (110) may request the distributed object storage unit (120) to store the change history of the database (130a, 130b) in an asynchronous manner. Through this, performance degradation of the user system (100) can be prevented.

[0055] Additionally, the distributed object storage unit (120) can share data by forming a cluster through network communication with the distributed object storage of the data platform (400). The distributed object storage unit (120) can perform data encryption to store data in the distributed object storage of the data platform (400). Accordingly, encrypted data and an encryption key can be stored together in the distributed object storage of the data platform (400).

[0056] Databases (130a, 130b) may be composed of different types of heterogeneous databases and may each have an independent data management system. For example, database A (130a) and database B (130b) may use different database management systems (DBMS).

[0057] The above briefly describes a method for managing heterogeneous databases (130a, 130b) in a user system (100) and a data platform (400) according to the present disclosure. Through this, the present disclosure can efficiently detect and manage changes to heterogeneous databases (130a, 130b), and can enable integrated metadata management through linkage with the data platform (400).

[0058] FIG. 2 is a schematic diagram showing a configuration in which an information processing system (230) is connected to communicate with a plurality of user terminals (210_1, 210_2, 210_3) in relation to the management of a heterogeneous database according to one embodiment of the present disclosure. The information processing system (230) may include system(s) capable of providing a data processing service (e.g., a heterogeneous database management service). In one embodiment, the information processing system (230) may include one or more server devices and / or databases capable of storing, providing, and executing computer-executable programs (e.g., downloadable applications) and data related to the data processing service, or one or more distributed computing devices and / or distributed databases based on cloud computing services. For example, the information processing system (230) may include separate systems (e.g., servers) for the data processing service.

[0059] Data processing services, etc. provided by the information processing system (230) can be provided to the user through a data processing application, a web browser application, etc. installed on each of the multiple user terminals (210_1, 210_2, 210_3).

[0060] Multiple user terminals (210_1, 210_2, 210_3) can communicate with an information processing system (230) through a network (220). The network (220) can be configured to enable communication between the multiple user terminals (210_1, 210_2, 210_3) and the information processing system (230). Depending on the installation environment, the network (220) may be configured as a wired network such as Ethernet, Power Line Communication, telephone line communication devices and RS-serial communication, a mobile communication network, a Wireless LAN (WLAN), Wi-Fi, Bluetooth and ZigBee, or a combination thereof. The communication method is not limited and may include not only communication methods utilizing communication networks that the network (220) may include (e.g., mobile communication network, wired internet, wireless internet, broadcasting network, satellite network, etc.) but also short-range wireless communication between user terminals (210_1, 210_2, 210_3).

[0061] For example, multiple user terminals (210_1, 210_2, 210_3) can transmit a data processing request and a command associated with a user request for data processing to an information processing system (230) through a network (220), and the information processing system (230) can receive this.

[0062] In FIG. 2, a mobile phone terminal (210_1), a tablet terminal (210_2), and a PC terminal (210_3) are shown as examples of user terminals, but are not limited thereto, and the user terminals (210_1, 210_2, 210_3) may be any computing device capable of wired and / or wireless communication and capable of installing and running data processing applications, etc. For example, user terminals may include smartphones, mobile phones, navigation systems, computers, laptops, digital broadcasting terminals, PDAs (Personal Digital Assistants), PMPs (Portable Multimedia Players), tablet PCs, game consoles, wearable devices, IoT (Internet of Things) devices, VR (Virtual Reality) devices, AR (Augmented Reality) devices, etc. Additionally, FIG. 2 illustrates three user terminals (210_1, 210_2, 210_3) communicating with an information processing system (230) through a network (220), but is not limited thereto, and may be configured so that a different number of user terminals communicate with an information processing system (230) through a network (220).

[0063] FIG. 3 is a block diagram showing the internal configuration of a user terminal (210) and an information processing system (230) according to an embodiment of the present disclosure. The user terminal (210) may refer to any computing device capable of executing data processing applications, etc., and capable of wired / wireless communication, and may include, for example, the mobile phone terminal (210_1), tablet terminal (210_2), PC terminal (210_3) of FIG. 2. As illustrated, the user terminal (210) may include a memory (312), a processor (314), a communication module (316), and an input / output interface (318). Similarly, the information processing system (230) may include a memory (332), a processor (334), a communication module (336), and an input / output interface (338). As illustrated in FIG. 3, the user terminal (210) and the information processing system (230) may be configured to communicate information and / or data through the network (220) using their respective communication modules (316, 336). Additionally, the input / output device (320) may be configured to input information and / or data to the user terminal (210) or output information and / or data generated from the user terminal (210) through the input / output interface (318).

[0064] The memory (312, 332) may include any non-transient computer-readable recording medium. According to one embodiment, the memory (312, 332) may include a non-perishable permanent mass storage device such as ROM (read-only memory), a disk drive, an SSD (solid-state drive), or a flash memory. As another example, a non-perishable permanent mass storage device such as ROM, an SSD, a flash memory, or a disk drive may be included in the user terminal (210) or the information processing system (230) as a separate permanent storage device distinct from the memory. Additionally, the memory (312, 332) may store an operating system and at least one program code (e.g., code for an application associated with a data processing service).

[0065] These software components may be loaded from a computer-readable recording medium separate from memory (312, 332). This separate computer-readable recording medium may include a recording medium that can be directly connected to the user terminal (210) and the information processing system (230), for example, a computer-readable recording medium such as a floppy drive, disk, tape, DVD / CD-ROM drive, or memory card. As another example, the software components may be loaded into memory (312, 332) via a communication module (316, 336) rather than a computer-readable recording medium. For example, at least one program may be loaded into memory (312, 332) based on a computer program (e.g., an application associated with a data processing service, etc.) that is installed by files provided through a network (220) by developers or a file distribution system that distributes installation files for the application.

[0066] The processor (314, 334) may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input / output operations. Instructions may be provided to the processor (314, 334) by memory (312, 332) or a communication module (316, 336). For example, the processor (314, 334) may be configured to execute instructions received according to program code stored in a recording device such as memory (312, 332).

[0067] The communication module (316, 336) may provide a configuration or function for the user terminal (210) and the information processing system (230) to communicate with each other via the network (220), and may provide a configuration or function for the user terminal (210) and / or the information processing system (230) to communicate with another user terminal or another system (e.g., a separate cloud system). For example, a request or data (e.g., a data processing request or data, etc.) generated by the processor (314) of the user terminal (210) according to program code stored in a recording device such as memory (312) may be transmitted to the information processing system (230) via the network (220) under the control of the communication module (316). Conversely, a control signal or command provided under the control of the processor (334) of the information processing system (230) can be received by the user terminal (210) through the communication module (336) and the network (220) via the communication module (316) of the user terminal (210).

[0068] The input / output interface (318) may be a means for interfacing with an input / output device (320). As an example, the input device may include a device such as a camera including an audio sensor and / or an image sensor, a keyboard, a microphone, or a mouse, and the output device may include a device such as a display, a speaker, or a haptic feedback device. As another example, the input / output interface (318) may be a means for interfacing with a device in which the configuration or function for performing input and output is integrated into one, such as a touchscreen. Although the input / output device (320) is depicted in FIG. 3 as not being included in the user terminal (210), it is not limited thereto and may be configured as a single device with the user terminal (210). Additionally, the input / output interface (338) of the information processing system (230) may be a means for interfacing with a device (not shown) for input or output that is connected to the information processing system (230) or that the information processing system (230) may include. In FIG. 3, the input / output interface (318, 338) is shown as an element configured separately from the processor (314, 334), but is not limited thereto, and the input / output interface (318, 338) may be configured to be included in the processor (314, 334).

[0069] The user terminal (210) and the information processing system (230) may include more components than those of FIG. 3. However, it is not necessary to clearly illustrate most of the conventional technical components. In one embodiment, the user terminal (210) may be implemented to include at least some of the input / output devices (320) described above. Additionally, the user terminal (210) may further include other components such as a transceiver, a GPS (Global Positioning System) module, a camera, various sensors, a database, etc. For example, if the user terminal (210) is a smartphone, it may include components that are generally included in a smartphone, and may be implemented to include various components such as an accelerometer, a gyroscope, a microphone module, a camera module, various physical buttons, buttons using a touch panel, input / output ports, and a vibrator for vibration.

[0070] According to one embodiment, the processor (314) of the user terminal (210) may be configured to operate a data processing application or a web browser application that provides data processing services. At this time, program code associated with the application may be loaded into the memory (312) of the user terminal (210). While the application is operating, the processor (314) of the user terminal (210) may receive information and / or data provided from an input / output device (320) through an input / output interface (318) or receive information and / or data from an information processing system (230) through a communication module (316), and may process the received information and / or data and store it in the memory (312). Additionally, such information and / or data may be provided to the information processing system (230) through the communication module (316).

[0071] While the data processing application is in operation, the processor (314) may receive voice data, text, images, videos, etc., that are input or selected through an input device such as a touch screen, keyboard, audio sensor and / or image sensor, camera, microphone, etc., connected to the input / output interface (318), and may store the received voice data, text, images and / or videos, etc. in memory (312) or provide them to an information processing system (230) through a communication module (316) and a network (220). In one embodiment, the processor (314) may receive user input input through an input device and provide data / requests corresponding to the received user input to an information processing system (230) through a network (220) and a communication module (316).

[0072] The processor (314) of the user terminal (210) can transmit information and / or data to an input / output device (320) through an input / output interface (318) and output it. For example, the processor (314) of the user terminal (210) can output the processed information and / or data through an output device (320), such as a display output device (e.g., touch screen, display, etc.) or a voice output device (e.g., speaker).

[0073] The processor (334) of the information processing system (230) may be configured to manage, process, and / or store information and / or data received from a plurality of user terminals (210) and / or a plurality of external systems. The information and / or data processed by the processor (334) may be provided to the user terminals (210) through a communication module (336) and a network (220).

[0074] FIG. 4 is a diagram showing a user system for managing a heterogeneous database according to one embodiment of the present disclosure.

[0075] Referring to FIG. 4, a user application (500) can manage data through a database (130a, 130b) using a database control unit (110) (or a database proxy component). For example, the database control unit (110) can receive a database management request from the user application (500). Here, the management request may include various database operations such as creating, reading, updating, or deleting data. Then, the database control unit (110) can immediately forward (or forward) the received database management request to the database (130a, 130b). Additionally, if the database control unit (110) receives a response signal from the database (130a, 130b), it can return the received response signal to the user application (500).

[0076] The database control unit (110) can transmit database management requests to the databases (130a, 130b) and, substantially simultaneously, interpret the database management requests and log them to the distributed object storage unit (120). That is, the database control unit (110) can asynchronously record changes to the databases (130a, 130b) to the distributed object storage unit (120). This allows for minimizing delays in database operations.

[0077] Key query results among the query results generated during the operation of the database control unit (110) can be cached. Additionally, the database control unit (110) can monitor the status information of each database (130a, 130b), record the status information in the distributed object storage unit (120), and manage it as part of the metadata. Through this, the database control unit (110) can identify and manage the availability of the databases (130a, 130b) in real time.

[0078] The distributed object storage unit (120) can process database management requests in conjunction with the database control unit (110). More specifically, the distributed object storage unit (120) can perform functions such as storing data change history, data encryption, access control, metadata management, and data replication.

[0079] According to one embodiment, the distributed object storage unit (120) can store and manage changes to the database (130a, 130b) in chronological order. At this time, the distributed object storage unit (120) can generate a unique identifier representing time and store the generated unique identifier together with information representing changes to the database (130a, 130b). The information stored in the distributed object storage unit (120) may include the type of database management request, the time of the request and a unique identifier representing the time of the request, the content of the changed data, the response result of the database (130a, 130b), and the status information of the database (130a, 130b).

[0080] According to one embodiment, the distributed object storage unit (120) can encrypt data stored in the distributed object storage of the data platform using an encryption key. At this time, the distributed object storage unit (120) can manage the encryption key through the data encryption unit (122). Furthermore, when an access request for the encrypted data is received, the distributed object storage unit (120) can decrypt the encrypted data and access the actual data using the decrypted encryption key. According to one embodiment, data stored in the distributed object storage by the database control unit (110) can be encrypted using an encryption key managed within the user system (100), and a replica can be stored in the distributed object storage of the data platform. At this time, the encrypted data encryption key and the data can be stored together in the distributed object storage of the data platform.

[0081] According to one embodiment, when a request for access (or a request for inquiry) to the stored data is received, the distributed object storage unit (120) can control whether to allow or deny access through the access control unit (121).

[0082] According to one embodiment, the distributed object storage unit (120) can perform metadata operations such as creating, reading, updating, and deleting metadata. Here, the metadata may be data representing structural changes, status information, etc. of the database (130a, 130b).

[0083] According to one embodiment, the distributed object storage unit (120) can safely replicate data by linking with the distributed object storage of the data platform.

[0084] Meanwhile, although not shown, the distributed object storage unit (120) can form a cluster through network communication with the distributed object storage of the data platform.

[0085] In the above description, a method for managing a database (130a, 130b) using a database control unit (110) and a distributed object storage unit (120) in a user system (100) has been explained. Through this, the present disclosure can reliably track and record changes to the database while minimizing delays in database operations. In addition, through linkage with a distributed object storage, safe storage and utilization of change history are possible.

[0086] Figure 5 is a diagram illustrating a method for managing heterogeneous databases.

[0087] Referring to FIG. 5, a database control unit (e.g., a database control unit (110) of FIG. 1 and FIG. 4) of a user system (e.g., a user system (100) of FIG. 1 and FIG. 4) may receive a database management request from a user application (e.g., a user application (500) of FIG. 4) at step 510 (S510). Here, the database management request may include database operation commands such as creating, reading, updating, deleting data, etc.

[0088] In step 520 (S520), the database control unit can forward the received database management request to a database (e.g., the database (130a, 130b) of FIGS. 1 and FIGS. 4). At this time, the database control unit can minimize delays in database operations by immediately forwarding and processing the request.

[0089] Meanwhile, the database control unit can generate a unique identifier corresponding to the operation processing time when processing operations related to the database, and manage the unique identifier through a distributed object storage unit (e.g., the distributed object storage unit (120) of FIGS. 1 and FIGS. 4). Through this, the order of the database change history can be clearly tracked in the present disclosure.

[0090] In step 530 (S530), the database control unit can record a response request received from the database in the distributed object storage unit. Specifically, the database control unit can receive a response request from the database that received the database management request. When a response request is received, the database control unit can immediately transmit it to the user application.

[0091] According to one embodiment, the database control unit can transmit a database management request to the database and, substantially simultaneously, interpret the database management request and log it to the distributed object storage unit. That is, the database control unit can asynchronously record changes to the database to the distributed object storage unit. This minimizes delays in database operations. More specifically, the distributed object storage unit can encrypt the data changes indicated by the management request. Furthermore, the distributed object storage unit can store the encrypted data changes and the encryption key together.

[0092] Additionally, the distributed object storage unit can transmit replicas to the data platform via a network so that replicas of encrypted data changes are stored in the data platform's distributed object storage. In this case, the distributed object storage unit may only transmit data changes that are already linked with the data platform in a limited manner.

[0093] Through this, the present disclosure can prevent delays in database processing speed by ensuring that the management processing and change history storage of the database are performed independently of each other.

[0094] The foregoing has described a method for managing the change history of heterogeneous databases using a database control unit. Through this, the present disclosure can improve system responsiveness by processing database operations immediately, while simultaneously ensuring the stable recording and traceability of change history.

[0095] FIG. 6 is a diagram illustrating an access control and encryption processing method for a distributed object storage unit according to one embodiment of the present disclosure.

[0096] Referring to FIG. 6, the distributed object storage unit (120) may include an access control unit (121), a data encryption unit (122), and a request management module (123). The distributed object storage unit (120) may perform the role of secure storage and sharing of data between the user system (100) and the data platform (400).

[0097] The access control unit (121) can receive a metadata access request from the data platform (400). According to one embodiment, when the data platform (400) receives a metadata access request, it can transmit it to the user system (100). In this case, the access control unit (121) can receive a decryption request for an encrypted encryption key corresponding to the metadata access request from the data platform (400).

[0098] The access control unit (121) can check whether access is approved for a request to decrypt an encrypted encryption key. According to one embodiment, the access control unit (121) may permit access if the data is for which access approval is permitted. Alternatively, the access control unit (121) may deny access if the data is for which access approval is not permitted. In another embodiment, the access control unit (121) may permit access if the data platform is for which access approval is permitted, and deny access if the data platform is for which access approval is not permitted. Through this, the present disclosure can perform differential data access control based on access rights.

[0099] The request management module (123) can process a data decryption request when an access approval request is granted. According to one embodiment, when the access approval request is granted, the request management module (123) can request the data encryption unit (122) to decrypt the encrypted encryption key.

[0100] According to one embodiment, the request management module (123) can process data decryption requests according to priority. For example, when multiple encryption key decryption requests are received, the request management module (123) can set priorities and process multiple encryption key decryption requests sequentially.

[0101] According to one embodiment, the request management module (123) can log the processing result of a decryption request and perform monitoring of the processing result of the decryption request. In this case, if the decryption request is not processed, the request management module (123) can request the decryption request again or transmit the failure result of the decryption request to the data platform (400).

[0102] The data encryption unit (122) can store an encryption key used for data encryption within the user system (100) and decrypt the encrypted encryption key. According to one embodiment, when the data encryption unit (122) receives a request to decrypt the encrypted encryption key from the request management module (123), it can decrypt the encrypted encryption key. In this case, the data platform (400) can access the data using the decrypted encryption key.

[0103] Meanwhile, although not explicitly described, the data encryption unit (122) can perform encryption of data using an encryption key within the user system (100). According to one embodiment, the data encryption unit (122) can decrypt the encrypted encryption key in response to a request for encryption key decryption. Then, the decrypted encryption key can be transmitted to the request management module (122), and the request management module (122) can transmit the decrypted encryption key to the data platform (400). Then, the data platform (400) can perform data decryption using the decrypted encryption key and store the decrypted data in a distributed object storage.

[0104] The above describes a method for processing access control and encryption requests for data in a distributed object storage unit (120). Through this, the present disclosure can enhance security through access control to data and ensure data confidentiality through secure management of encryption keys.

[0105] FIG. 7 is a diagram showing the configuration of a data platform according to one embodiment of the present disclosure.

[0106] Referring to FIG. 7, for heterogeneous database management, the data platform (400) can integrate and manage metadata from multiple user systems (100a, 100b). For example, the data platform (400) can serve as a central repository that dynamically manages metadata collected from each user system.

[0107] The data platform (400) is connected to the distributed object storage unit of the user system (100a, 100b) via a network, and can collect and manage metadata of each user system in real time through the network. Here, the collected metadata may include schema information, status information, change history, etc. of the database.

[0108] The data platform (400) may include an active metadata repository (410) and a plurality of distributed object repositories (420a, 420b). The plurality of distributed object repositories (420a, 420b) may be formed to correspond to each of the plurality of user systems (100a, 100b).

[0109] The active metadata store (410) may be configured with an integrated data catalog and a search index that manages metadata in an integrated manner. The search index may include identification information for searching metadata included in the integrated data catalog.

[0110] According to one embodiment, the data platform (400) can detect schema changes or structural changes occurring in the database of each user system in real time and reflect them in the active metadata repository (410). More specifically, the data platform (400) can detect changes detected through the database control unit of the user system (100a, 100b) and reflect them in the active metadata repository (410). Through this, the present disclosure can ensure the timeliness and accuracy of the metadata.

[0111] According to one embodiment, the data platform (400) can perform data quality management, data connectivity analysis, and monitoring of data usage status based on collected metadata. Through this, the present disclosure can contribute to improving the data management efficiency of the entire system and increasing the utilization value of the data.

[0112] According to one embodiment, the active metadata store (410) of the data platform (400) can manage metadata while complying with the security policy of each user system through the distributed object store (420a, 420b). To this end, the active metadata store (410) can store metadata in an encrypted form. A detailed description thereof is replaced by the description of FIG. 6 above.

[0113] FIG. 8 is a flowchart illustrating a data catalog update process of a metadata management method within a data platform according to one embodiment of the present disclosure, and FIG. 9 is a diagram illustrating an updated state of metadata according to one embodiment of the present disclosure.

[0114] Referring to FIG. 8, in step 810 (S810), a database control unit (e.g., database control unit (110) of FIG. 1 and FIG. 4) of a user system (e.g., user system (100) of FIG. 1, FIG. 4 and FIG. 6 or user system (100a, 100b) of FIG. 7) can record state information of the database in a distributed object storage unit (e.g., distributed object storage unit (120) of FIG. 1, FIG. 4 and FIG. 6). More specifically, the database control unit can collect various state information, such as the availability status of the database, schema information, data size and usage information, performance-related indicators, and recent change history. The database control unit can store the collected information in a distributed object storage unit within the user system.

[0115] In step 820 (S820), the database control unit can transmit the state information of the database to the distributed object storage of the data platform (e.g., the data platform (400) of FIGS. 1, 6 and 7) through the distributed object storage unit. At this time, the distributed object storage unit can transmit the state information of the database in an encrypted manner. Meanwhile, the database control unit can ensure the stability of the system by transmitting the state information of the database in an asynchronous manner, taking into account the network environment.

[0116] In step 830 (S830), the data platform can update the received database state information in the data catalog contained in the active metadata store (e.g., the active metadata store (410) of FIG. 7). In this case, the data platform can verify the changes through comparative analysis with existing catalog information and reflect them in the data catalog. Additionally, the data platform can perform schema change operations such as changing the table structure, adding / deleting columns, and changing indexes.

[0117] Referring to FIG. 9, the data platform can generate updated data in existing data tables. For example, Nickname (910) information can be added to database B of the user system. In this case, the data platform can update the information added to the existing data tables in the integrated data catalog.

[0118] The above describes a process for updating database status information in a data platform according to one embodiment of the present disclosure. Through this, the present disclosure can effectively monitor and manage the status of heterogeneous databases.

[0119] FIG. 10 is a flowchart illustrating a method for utilizing a search index within a data platform according to one embodiment of the present disclosure.

[0120] Referring to FIG. 10, in step 1010 (S1010), a database control unit (e.g., a database control unit (110) of FIG. 1 and FIG. 4) of a user system (e.g., a user system (100) of FIG. 1, FIG. 4 and FIG. 6 or a user system (100a, 100b) of FIG. 7) can detect whether the database has been changed. For example, the database control unit can monitor all data change operations occurring in the database.

[0121] In step 1020 (S1020), when a change in the database is detected, the database control unit may transmit the detected change information to a data platform (e.g., the data platform (400) of FIGS. 1, FIGS. 6 and FIGS. 7). At this time, the change information may include identification information of the changed data, the type of change operation (creation / update / deletion, etc.), the changed fields and values, change time information, change agent information, etc.

[0122] In step 1030 (S1030), the data platform may update search indexes representing received change information. More specifically, the data platform may analyze existing search indexes. For example, the data platform may identify search indexes affected by the changed data, determine the priority for index updates, analyze associated search keywords, etc. Then, the data platform may update search indexes. For example, the data platform may index new data, modify existing indexes, remove indexes for deleted data, optimize indexes, etc.

[0123] The above describes a method for updating a search index. Through this, the present disclosure can improve the accuracy of search results and enhance search performance. In addition, by updating the search index, the usability of data can be increased.

[0124] According to various embodiments of the present disclosure, the present disclosure enables efficient metadata management without degradation of database performance by immediately forwarding change requests of heterogeneous databases through a database control unit and recording change history in a distributed object storage unit asynchronously. In particular, database consistency can be maintained even if network delays or failures occur.

[0125] According to various embodiments of the present disclosure, by assigning unique identifiers that can be sorted over time to database change requests and managing them, the change history can be tracked and managed in the correct order even if a number of consecutive events occur.

[0126] According to various embodiments of the present disclosure, unauthorized access and data leakage can be effectively prevented by encrypting data through a data encryption unit in a distributed object storage unit and controlling data access through an access control unit. This can significantly improve the security and reliability of the entire system.

[0127] According to various embodiments of the present disclosure, by caching and providing key query results, the response time for repetitive database requests can be reduced and overall system performance can be improved.

[0128] According to various embodiments of the present disclosure, by automatically collecting and managing schema information of a database through an integrated data catalog, changes to the data structure can be identified and reflected in real time. This allows the data platform to always maintain the latest data structure information.

[0129] According to various embodiments of the present disclosure, the accuracy and speed of data retrieval can be ensured by updating the search index in real time based on change history collected through a database control unit. This can increase data utilization and improve the user's search experience.

[0130] The above-described flowchart and description are merely examples and may be implemented differently in some embodiments. For instance, in some embodiments, the order of each step may be changed, some steps may be repeated, some steps may be omitted, or some steps may be added.

[0131] The method described above may be provided as a computer program stored on a computer-readable recording medium for execution on a computer. The medium may continuously store a program executable by a computer, or temporarily store it for execution or download. Additionally, the medium may be various recording or storage means in the form of a single or multiple hardware components combined, and may not be limited to a medium directly connected to a computer system but may exist distributed over a network. Examples of media may include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical recording media such as CD-ROMs and DVDs; magneto-optical media such as floptical disks; and media configured to store program instructions, including ROM, RAM, and flash memory. Furthermore, other examples of media may include recording or storage media managed by app stores that distribute applications or sites and servers that supply or distribute various other software.

[0132] The methods, operations, or techniques of the present disclosure may be implemented by various means. For example, these techniques may be implemented in hardware, firmware, software, or a combination thereof. Those skilled in the art will understand that the various exemplary logical blocks, modules, circuits, and algorithmic steps described in connection with the disclosure herein may be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate such interchangeability between hardware and software, various exemplary components, blocks, modules, circuits, and steps have been generally described above in terms of their functional aspects. Whether such functions are implemented in hardware or in software depends on the design requirements imposed on the specific application and the overall system. Those skilled in the art may implement the functions described in various ways for each specific application, but such implementations should not be construed as departing from the scope of the present disclosure.

[0133] In a hardware implementation, the processing units used to perform the techniques may be implemented in one or more ASICs, DSPs, digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, electronic devices, other electronic units designed to perform the functions described in this disclosure, computers, or a combination thereof.

[0134] Accordingly, the various exemplary logic blocks, modules, and circuits described in connection with the present disclosure may be implemented or performed by any combination of general-purpose processors, DSPs, ASICs, FPGAs or other programmable logic devices, discrete gate or transistor logic, discrete hardware components, or those designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but alternatively, the processor may be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, for example, a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors coupled with a DSP core, or any other combination of configurations.

[0135] In firmware and / or software implementations, techniques may be implemented as instructions stored on a computer-readable medium such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, compact disc (CD), magnetic or optical data storage devices, etc. The instructions may be executable by one or more processors, and may cause the processor(s) to perform specific aspects of the functions described in this disclosure.

[0136] When implemented in software, the techniques described above may be stored on a computer-readable medium as one or more instructions or code, or transmitted through a computer-readable medium. Computer-readable media include both computer storage media and communication media, including any medium that facilitates the transmission of a computer program from one place to another. Storage media may be any available media accessible by a computer. As a non-limiting example, such computer-readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium accessible by a computer that can be used to transfer or store desired program code in the form of instructions or data structures. Additionally, any connection is appropriately referred to as a computer-readable medium.

[0137] For example, if software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair cable, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, coaxial cable, fiber optic cable, twisted pair cable, digital subscriber line, or wireless technologies such as infrared, radio, and microwave are included within the definition of a medium. As used herein, disks and discs include CDs, laser discs, optical discs, DVDs (digital versatile discs), floppy disks, and Blu-ray discs, wherein disks usually play data magnetically, whereas discs play data optically using a laser. The above combinations should also be included within the scope of computer-readable media.

[0138] The software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other known form of storage medium. An exemplary storage medium may be connected to a processor so that the processor can read information from the storage medium or write information to the storage medium. Alternatively, the storage medium may be integrated into the processor. The processor and the storage medium may exist within an ASIC. The ASIC may exist within a user terminal. Alternatively, the processor and the storage medium may exist as separate components within the user terminal.

[0139] Although the embodiments described above have been described as utilizing aspects of the subject matter disclosed herein in one or more standalone computer systems, the present disclosure is not limited thereto and may be implemented in conjunction with any computing environment, such as a network or a distributed computing environment. Furthermore, aspects of the subject matter in the present disclosure may be implemented in a plurality of processing chips or devices, and storage may be similarly affected across a plurality of devices. Such devices may include PCs, network servers, and portable devices.

[0140] Although the present disclosure has been described in relation to some embodiments, various modifications and changes may be made without departing from the scope of the present disclosure as understood by a person skilled in the art to which the invention of the present disclosure pertains. Furthermore, such modifications and changes should be considered to fall within the scope of the claims appended to this specification.

Claims

1. In a heterogeneous database management system, A database control unit connected to multiple heterogeneous databases and controlling said databases; A distributed object storage unit connected to the database control unit and storing the data change history of at least one of the plurality of heterogeneous databases; A data encryption unit that encrypts the data change history stored in the distributed object storage unit; and It includes an access control unit that controls access to at least one database among the plurality of heterogeneous databases mentioned above, The above database control unit is, When a database management request for at least one of the plurality of heterogeneous databases is received, the management request is transmitted to the at least one database, and A heterogeneous database management system configured to store changes to the database corresponding to the database management request in the distributed object storage unit.

2. In Paragraph 1, The above database control unit is, Generate a unique identifier representing time information corresponding to changes in the above database, and A heterogeneous database management system configured to store the above unique identifier in the above distributed object storage unit.

3. In Paragraph 1, The above distributed object storage unit is, Encrypt changes to the above database, and A heterogeneous database management system configured to store changes to the above-mentioned encrypted database.

4. In Paragraph 1, The above data encryption unit is, Encrypt the changes to the above database using an encryption key, and A heterogeneous database management system configured to store changes to the above-mentioned encrypted database along with the above-mentioned encryption key.

5. In Paragraph 1, The above access control unit is, A heterogeneous database management system configured to control a data access request in response to receiving a data access request from a data platform.

6. In Paragraph 1, The above database control unit is, Monitoring the status information of the aforementioned multiple heterogeneous databases, and A management system for a heterogeneous database configured to store the above-mentioned monitored status information as metadata.

7. In Paragraph 1, The above database control unit is, Detecting schema changes of at least one database among the plurality of heterogeneous databases above, and A management system for a heterogeneous database configured to transmit the detected schema changes to a data platform so that the detected schema changes are reflected in the integrated data catalog.

8. In Paragraph 1, The above database control unit is, Detecting changes in data from at least one database among the plurality of heterogeneous databases, and A management system for a heterogeneous database configured to transmit the detected data changes to a data platform so as to reflect the detected data changes in a search index in real time.

9. In Paragraph 1, The above database control unit is, A heterogeneous database management system configured to store changes to the above database in a distributed object storage unit asynchronously.

10. In Paragraph 1, The above database control unit is, A heterogeneous database management system configured to cache query results corresponding to changes in the above database.

11. Regarding the management method of heterogeneous databases, A step of receiving a database management request for at least one database among a plurality of heterogeneous databases; In response to the receipt of the above database management request, the step of transmitting the management request to at least one database; and A step of storing the changes to the database corresponding to the database management request in a distributed object storage unit that stores the data change history of at least one database. A method for managing heterogeneous databases, including