Database management device, database management method and database management program
The database management device separates and classifies RDBs and graph DBs into reference and update areas, improving application development efficiency and data processing speed, and ensuring data reliability by managing transactional integrity.
Patent Information
- Application Number
- JP2023564338
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-12-01
- Publication Date
- 2025-09-17
- Estimated Expiration
- 2041-12-01
AI Technical Summary
The coexistence of databases with different characteristics, such as relational databases (RDBs) and graph databases (graph DBs), leads to disorganized data arrangements and complex schemas, hindering application development.
A database management device that separates and classifies data into areas allowing reference and update, using an acquisition unit, separation unit, and classification unit to manage RDBs and graph DBs separately based on data attributes.
Improves application development efficiency by clarifying the internal structure of the database, shortens development time, and enhances data processing speed for graphic displays while ensuring data reliability through transaction management.
Smart Images

Figure 0007740367000001 
Figure 0007740367000002 
Figure 0007740367000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a database management device, a database management method, and a database management program. [Background technology]
[0002] In the development of information systems, it is necessary to be able to quickly reference databases using applications and to respond to data tampering. Therefore, in recent years, in addition to conventional relational databases (RDBs), graph databases (graph DBs) that can more quickly obtain interconnections between data have been attracting attention as a data reference source (see Patent Document 1 and Non-Patent Document 1). Here, graph DBs are specialized for graphical display, so they are not a substitute for RDBs. In other words, RDBs and graph DBs are heterogeneous databases that coexist. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2014-229276 [Non-patent literature]
[0004] [Non-Patent Document 1] Masashi Sugimoto and three others, "Proposal of a Real-Time Synchronization Method for Relational Databases and Graph Databases," IEICE Technical Report, ICM2020-78, Institute of Electronics, Information and Communication Engineers, March 18, 2021, pp. 104-109 Summary of the Invention [Problem to be solved by the invention]
[0005] However, with conventional technology, the coexistence of databases with different characteristics, such as relational databases and graph databases, hindered application development. For example, when an RDB and a graph database coexist, the database data arrangement is disorganized and not necessarily organized, depending on whether the data attributes are read-only or update-enabled. This leads to complex schemas and hinders application development.
[0006] The present invention has been made in view of the above, and has as its object to realize a database that can improve the efficiency of application development in an environment in which databases with different characteristics coexist. [Means for solving the problem]
[0007] In order to solve the above-mentioned problems and achieve the object, the database management device of the present invention is characterized by having an acquisition unit that acquires data, a separation unit that separates each area of a database with different storage characteristics into an area that allows data to be referenced and an area that allows data to be updated, and a classification unit that classifies and stores the acquired data in the separated areas according to the attributes of the data. [Effects of the Invention]
[0008] According to the present invention, it is possible to realize a database that can improve the efficiency of application development in an environment where databases with different characteristics coexist. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is a diagram illustrating an overview of a database management device. [Figure 2] FIG. 2 is a schematic diagram illustrating a schematic configuration of a database management device. [Figure 3] FIG. 3 is a diagram for explaining the processing of the unit. [Figure 4] FIG. 4 is a flowchart showing the procedure of the database management process. [Figure 5] FIG. 5 is a diagram illustrating an example of a computer that executes a database management program. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. Note that the present invention is not limited to this embodiment. In addition, in the description of the drawings, the same parts are designated by the same reference numerals.
[0011] [Database management device overview] Fig. 1 is a diagram for explaining an overview of a database management device. As shown in Fig. 1, in an environment where different types of databases with different database characteristics, such as an RDB and a graph DB, coexist, the database management device of this embodiment separates the areas of each database into a reference system and an update system.
[0012] Here, the reference system is an area that stores data referenced by an application. The update system is an area that stores data that allows an application to update the data. In the example shown in Figure 1, the RDB is separated into an RDB reference system 14a and an RDB update system 14b, and the graph DB is separated into a graph DB reference system 14c and a graph DB update system 14d.
[0013] In this way, a database has multiple layers for reference and update, allowing application developers to easily understand the internal structure of the database, improving development efficiency and shortening development time.
[0014] Furthermore, by arranging data in the graph DB reference system and the graph DB update system, it becomes possible to speed up processing specialized for graphic display.
[0015] In addition, NoSQL databases, including graph DBs, generally have insufficient transaction management implementation due to their emphasis on performance, but the transaction management of the graph DB is complemented by the transaction management of the coexisting RDB, thereby strengthening the reliability of the data.
[0016] Furthermore, by backing up the configured database only for the updated system, it is possible to reduce the backup and recovery time.
[0017] [Database management device configuration] Fig. 2 is a schematic diagram illustrating the overall configuration of a database management device. As illustrated in Fig. 2, database management device 10 is realized by a general-purpose computer such as a personal computer, and includes input unit 11, output unit 12, communication control unit 13, storage unit 14, and control unit 15.
[0018] The input unit 11 is realized using input devices such as a keyboard and a mouse, and inputs various instruction information such as a command to start processing to the control unit 15 in response to input operations by an operator. The output unit 12 is realized by a display device such as a liquid crystal display, a printing device such as a printer, or the like.
[0019] The communication control unit 13 is realized by a NIC (Network Interface Card) or the like, and controls communication between an external device such as a server via a network and the control unit 15. For example, the communication control unit 13 controls communication between the control unit 15 and a database device of another system that manages data used in database management processing described later, a user terminal on which an application is installed, or the like.
[0020] The storage unit 14 is realized by a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory, or a storage device such as a hard disk or an optical disk. The storage unit 14 stores in advance the processing programs that operate the database management device 10 and data used during the execution of the processing programs, or stores them temporarily each time processing is performed. The storage unit 14 may be configured to communicate with the control unit 15 via the communication control unit 13.
[0021] In this embodiment, the storage unit 14 stores an RDB reference system 14a, an RDB update system 14b, a graph DB reference system 14c, and a graph DB update system 14d that are generated in a database management process described later, and are used as databases by applications.
[0022] The control unit 15 is realized using a CPU (Central Processing Unit) or the like, and executes a processing program stored in memory. As a result, the control unit 15 functions as an acquisition unit 15a, a separation unit 15b, and a classification unit 15c, as exemplified in FIG. 2. Note that these functional units may be implemented individually or in part in different hardware. For example, the separation unit 15b may be implemented in a device separate from the other functional units. The control unit 15 may also include other functional units.
[0023] The acquiring unit 15a acquires data. For example, the acquiring unit 15a acquires data used in a database management process (described later) from a database of another system via the input unit 11 or the communication control unit 13. Specifically, the acquiring unit 15a replicates the database of the other system by snapshot. The acquiring unit 15a may also store the acquired data in the storage unit 14 as master data or initial data. The acquiring unit 15a may also transfer the data to the classification unit 15c (described later) without storing it in the storage unit 14.
[0024] The separation unit 15b separates each area of databases with different characteristics in the storage unit 14 into a reference system area that references data and an update system area that allows data updates. Specifically, the separation unit 15b separates each of the RDB and graph DB areas in the storage unit 14 into a reference system area that references data and an update system area that allows data updates. In this way, the separation unit 15b generates areas in the storage unit 14, for example, an RDB reference system 14a, an RDB update system 14b, a graph DB reference system 14c, and a graph DB update system 14d.
[0025] The classification unit 15c classifies and stores the acquired data in separate areas according to the attributes of the data. Here, the attributes of the data include, for example, whether the data is to be referenced or updated. The classification unit 15c then stores the acquired data in one of the RDB reference system 14a, the RDB update system 14b, the graph DB reference system 14c, and the graph DB update system 14d according to the attributes of each data.
[0026] For example, the classification unit 15c stores, among the acquired data, data that is expressed as nodes and relationships between nodes in either the graph DB reference system 14c or the graph DB update system 14d, which are separated in the graph DB area.
[0027] Here, Fig. 3 is a diagram for explaining the processing of the classification unit 15c. As shown in Fig. 3, the classification unit 15c classifies and stores data acquired from DBs of other systems into an RDB reference system 14a, an RDB update system 14b, a graph DB reference system 14c, and a graph DB update system 14d according to the attributes of each data.
[0028] Specifically, the classification unit 15c copies the data acquired by the acquisition unit 15a from the other system DB as a snapshot (FIG. 3(1)) and first stores it in the RDB reference system 14a. Next, the classification unit 15c moves independently managed data such as key values to be updated from the RDB reference system 14a to the RDB update system 14b (FIG. 3(2)), excluding data to be stored in the graph DB, such as data expressed as relationships between nodes.
[0029] The classification unit 15c classifies data stored in the graph DB, such as data expressed as relationships between nodes, into either the graph DB reference system 14c or the graph DB update system 14d. Data expressed as relationships between nodes is data that can be illustrated in a line diagram or network form, such as the coordinates of point facilities such as manholes and utility poles, and the span lengths between point facilities such as conduits, pipelines, and cables.
[0030] The classification unit 15c moves the data to be referenced, among the data stored in the graph DB, from the RDB reference system 14a to the graph DB reference system 14c (FIG. 3(3)). Furthermore, the classification unit 15c moves the data to be updated, among the data stored in the graph DB, from the RDB reference system 14a to the graph DB update system 14d (FIG. 3(5)). For example, the graph DB update system 14d stores attribute values such as material and construction year for point equipment and spans, as well as service-related key values.
[0031] Furthermore, if there is an attribute value to be updated among the data in the RDB update system 14b that is expressed as a relationship between nodes, the classification unit 15c moves the data from the RDB update system 14b to the graph DB update system 14d (FIG. 3(6)). Furthermore, if there is an attribute value to be updated among the data in the graph DB reference system 14c, the classification unit 15c moves the data from the graph DB reference system 14c to the graph DB update system 14d (FIG. 3(4)).
[0032] In this way, multiple layers of reference and update systems are configured inside the RDB and graph DB, respectively (see Figure 3 (2) and (4)). This improves the efficiency of application development. Also, by separating data from the RDB and storing it in the graph DB reference system 14c and graph DB update system 14d (see Figure 3 (3), (5), and (6)), it becomes possible to speed up processing specialized for graphic display.
[0033] Furthermore, with the storage unit 14 configured in this manner as a database, for example, an application that displays graphs can access the graph DB reference system 14c and the graph DB update system 14d (FIGS. 3(7) and (8)). Also, an application that displays data can access the RDB reference system 14a and the RDB update system 14b (FIGS. 3(9) and (10)).
[0034] In this way, by using the storage unit 14 as a database, the area to be processed by the application that accesses the database becomes clear, which makes it easier to develop applications and shortens the development period. Also, by limiting backup work during operation as a database to only the update system, it becomes possible to shorten the time required for backup and restoration work.
[0035] [Database management processing] Next, the database management process performed by the database management device 10 according to this embodiment will be described with reference to Fig. 4. Fig. 4 is a flowchart showing the procedure of the database management process. The flowchart in Fig. 4 starts, for example, when an operation input is made to instruct the start of the database management process.
[0036] First, the acquisition unit 15a acquires data from a DB or the like of another system (step S1).
[0037] Next, the separating unit 15b separates each area of the databases with different characteristics in the storage unit 14 into a reference-type area that allows data to be referenced and an update-type area that allows data to be updated (step S2).
[0038] Specifically, the separation unit 15b separates the RDB and graph DB areas in the storage unit 14 into a reference system area that allows data to be referenced and an update system area that allows data updates. In this way, the separation unit 15b generates areas in the storage unit 14, for example, an RDB reference system 14a, an RDB update system 14b, a graph DB reference system 14c, and a graph DB update system 14d.
[0039] Then, the classification unit 15c classifies and stores the acquired data in separate areas according to attributes such as the data to be referenced / updated (step S3). For example, the classification unit 15c stores the acquired data in any one of the RDB reference system 14a, the RDB update system 14b, the graph DB reference system 14c, and the graph DB update system 14d.
[0040] For example, the classification unit 15c stores the acquired data, which is represented by the relationships between nodes, in either the graph DB reference system 14c or the graph DB update system 14d, which are separated from the graph DB area. This completes the series of database management processes.
[0041] [effect] As described above, in database management device 10, acquisition unit 15a acquires data. Separation unit 15b separates each area of the database with different characteristics in storage unit 14 into a reference-system area that allows data to be referenced and an update-system area that allows data to be updated. Classification unit 15c classifies and stores the acquired data into the separated areas according to the attributes of the data.
[0042] This allows the database management device 10 to configure multiple layers of reference / update systems within the database. This allows application developers to easily understand the internal structure of the database, improving development efficiency and shortening development time. In this way, it is possible to realize a database that can improve the efficiency of application development in an environment where heterogeneous databases such as RDBs and graph DBs coexist.
[0043] Specifically, the separation unit 15b separates the RDB and graph DB areas in the storage unit 14 into a reference area that allows data to be referenced and an update area that allows data updates. As a result, although NoSQL databases including graph DBs generally have insufficient transaction management due to their emphasis on performance, the transaction management of the graph DB is complemented by the transaction management of the coexisting RDB, thereby strengthening the reliability of the data.
[0044] Furthermore, the classification unit 15c stores, among the acquired data, data expressed as relationships between nodes in either the graph DB reference system 14c or the graph DB update system 14d, which are separated from the RDB. In this way, by separating the data from the RDB and arranging it in the graph DB reference system 14c and the graph DB update system 14d, it becomes possible to speed up processing specialized for graphic display.
[0045] [program] A program describing the processes executed by the database management device 10 according to the above embodiment in a computer-executable language can also be created. In one embodiment, the database management device 10 can be implemented by installing a database management program that executes the above database management processes as package software or online software on a desired computer. For example, by executing the above database management program on an information processing device, the information processing device can function as the database management device 10. Other examples of information processing devices include mobile communication terminals such as smartphones, mobile phones, and PHS (Personal Handyphone Systems), as well as slate terminals such as PDAs (Personal Digital Assistants). The functions of the database management device 10 may also be implemented on a cloud server.
[0046] 5 is a diagram showing an example of a computer that executes a database management program. The computer 1000 includes, for example, a memory 1010, a CPU 1020, a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These components are connected by a bus 1080.
[0047] The memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM 1012. The ROM 1011 stores, for example, a boot program such as a BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to a hard disk drive 1031. The disk drive interface 1040 is connected to a disk drive 1041. A removable storage medium such as a magnetic disk or optical disk is inserted into the disk drive 1041. The serial port interface 1050 is connected to, for example, a mouse 1051 and a keyboard 1052. The video adapter 1060 is connected to, for example, a display 1061.
[0048] Here, the hard disk drive 1031 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. Each piece of information described in the above embodiment is stored in the hard disk drive 1031 or memory 1010, for example.
[0049] The database management program is stored in the hard disk drive 1031 as, for example, a program module 1093 in which instructions to be executed by the computer 1000 are written. Specifically, the program module 1093 in which each process executed by the database management device 10 described in the above embodiment is written is stored in the hard disk drive 1031.
[0050] Furthermore, data used for information processing by the database management program is stored as program data 1094, for example, in the hard disk drive 1031. Then, the CPU 1020 reads the program module 1093 and program data 1094 stored in the hard disk drive 1031 into the RAM 1012 as necessary, and executes each of the above-described procedures.
[0051] The program module 1093 and program data 1094 related to the database management program are not limited to being stored in the hard disk drive 1031, but may be stored in a removable storage medium, for example, and read by the CPU 1020 via the disk drive 1041. Alternatively, the program module 1093 and program data 1094 related to the database management program may be stored in another computer connected via a network such as a LAN (Local Area Network) or WAN (Wide Area Network), and read by the CPU 1020 via the network interface 1070.
[0052] Although the present invention has been described above as an embodiment, the present invention is not limited to the description and drawings that form part of the disclosure of the present invention. In other words, other embodiments, examples, and operational techniques that can be made by those skilled in the art based on the present invention are all included in the scope of the present invention. [Explanation of symbols]
[0053] 10 Database management device 11 Input section 12 Output section 13 Communication control section 14 Storage section 14a RDB reference system 14b RDB update system 14c Graph DB Reference System 14d Graph DB update system 15 Control Unit 15a Acquisition part 15b Separation section 15c Classification Department
Claims
1. an acquisition unit for acquiring data; a separation unit that separates each of the areas of the relational database and the graph database in the storage unit into an area that allows data to be referenced and an area that allows data to be updated; a classification unit that classifies and stores the acquired data into the separated areas according to the attributes of the data; A database management device comprising:
2. The database management device according to claim 1, characterized in that the classification unit stores, of the acquired data, data represented by nodes and relationships between the nodes in one of the separated areas of the graph database.
3. A database management method executed by a database management device having a storage unit, comprising: an acquisition step of acquiring data; a separation step of separating each of the areas of the relational database and the graph database in the storage unit into an area for referencing data and an area for allowing data updates; a classification step of classifying and storing the acquired data into the separated areas according to the attributes of the data; A database management method comprising:
4. an acquisition step for acquiring data; a separation step of separating each of the areas of the relational database and the graph database in the storage unit into an area for referencing data and an area for allowing data updates; a classification step of classifying and storing the acquired data into the separated areas according to attributes of the data; A database management program that allows a computer to execute the above.
Citation Information
Patent Citations
Network system provided with information storage system, input system and automatic operation system of the network system, and automatic operating method for the network system
JP1997171480A
Database system, method for database management, and database management program
JP2013161398A
Graph database integrated retrieval apparatus, method, and program
JP2014229276A
Database system, database update method, database, and database update program
WO2009123342A1