KR20210060930A - Column-Oriented Database Management System - Google Patents

Column-Oriented Database Management System Download PDF

Info

Publication number
KR20210060930A
KR20210060930A KR1020190148510A KR20190148510A KR20210060930A KR 20210060930 A KR20210060930 A KR 20210060930A KR 1020190148510 A KR1020190148510 A KR 1020190148510A KR 20190148510 A KR20190148510 A KR 20190148510A KR 20210060930 A KR20210060930 A KR 20210060930A
Authority
KR
South Korea
Prior art keywords
information
monitoring information
column
monitoring
database management
Prior art date
Application number
KR1020190148510A
Other languages
Korean (ko)
Other versions
KR102449253B1 (en
Inventor
민상원
Original Assignee
한국전기연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전기연구원 filed Critical 한국전기연구원
Priority to KR1020190148510A priority Critical patent/KR102449253B1/en
Publication of KR20210060930A publication Critical patent/KR20210060930A/en
Application granted granted Critical
Publication of KR102449253B1 publication Critical patent/KR102449253B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06QDATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/06Electricity, gas or water supply

Abstract

The present application relates to a column-based database management device which may comprise: a data storage part wherein a received monitoring information and meta information corresponding to the monitoring information from the measuring devices that measured a monitoring target is stored based on a column and managed; and a control part that provides an interface directly accessible to the data storage part in response to a request for access to the monitoring information. Therefore, the present invention is capable of providing an improved performance in terms of efficiency in memory usage, input/output speed, scalability, and flexibility.

Description

열 기반의 데이터베이스관리장치 {Column-Oriented Database Management System}Column-oriented database management system {Column-Oriented Database Management System}

본 출원은 전력계통에서 수집한 감시데이터를 저장 및 관리하는 데이터베이스관리장치에 관한 것으로, 특히 열(column)을 최소 구성단위로 하여, 메모리 효율성을 높이고, 구조변경에 따른 유연성을 확보할 수 있는 열 기반의 데이터베이스관리장치에 관한 것이다. The present application relates to a database management device that stores and manages monitoring data collected from the power system. In particular, a column is used as a minimum constituent unit, thereby increasing memory efficiency and securing flexibility according to structural changes. It relates to a database management device based on.

전력계통운영시스템(EMS: Energy Management System)은 전력계통의 최상위 시스템으로 전체적인 전력의 수급과 계통의 운용을 관장하고 있으며, 국외의 광역정전 사례에서도 볼 수 있듯이, 그 중요성이 날로 증가하고 있다. 전력계통운영시스템의 응용프로그램들은 계통 운용을 위한 자동발전제어, 경제급전 등의 발전계획 기능과 상태추정, 조류해석, 고장해석, 상정사고 해석 등의 계통해석 기능을 주기적으로 수행하며, 수행된 결과를 운용자에게 제공한다.The EMS (Energy Management System) is the highest level system in the power system and is in charge of the overall power supply and demand and operation of the system. As can be seen in the case of global power outages abroad, its importance is increasing day by day. The application programs of the power system operation system periodically perform power generation planning functions such as automatic power generation control and economic dispatch for system operation, and system analysis functions such as state estimation, current analysis, failure analysis, and presumed accident analysis. Is provided to the operator.

현재 운용 중인 한국형 전력계통운영시스템의 데이터베이스는 ACM(application common model) 모델을 기반으로 RDB(Relation Database)가 아닌 RTDB(Realtime Database, Memory DB)로 구성되어 있다. 즉, SCADA(Supervisory Control and Data Acquisition System)로부터 취득되는 대량의 데이터 처리와 EMS 응용프로그램 수행이 처리되는 대량 입출력 데이터를 수용하기 위해서 최적화된 RTDB(Realtime Database)만이 이 같은 경우를 수용할 수 있다. 하지만, 종래의 RTDB의 경우, 정적인 구성으로 인하여 변화하는 기술 트렌드에 유연하게 대처하기 어렵다.The database of the currently operating Korean power system operation system is composed of RTDB (Realtime Database, Memory DB) not RDB (Relation Database) based on ACM (application common model) model. In other words, only RTDB (Realtime Database) optimized to accommodate large amounts of data processing acquired from SCADA (Supervisory Control and Data Acquisition System) and large amount of input/output data processed by EMS application program execution can accommodate such a case. However, in the case of the conventional RTDB, it is difficult to flexibly cope with the changing technology trend due to the static configuration.

본 출원은 열(column)을 최소 구성단위로 하여, 메모리 효율성을 높이고, 구조변경에 따른 유연성을 확보할 수 있는 열 기반의 데이터베이스관리장치를 제공하고자 한다. The present application intends to provide a column-based database management device that can increase memory efficiency and secure flexibility according to structural changes by using a column as a minimum unit of construction.

본 출원은 연동되는 응용프로그램과의 종속성을 제거하여, 데이터베이스의 추가, 변경시 응용프로그램의 재컴파일이나 데이터베이스의 재기동 등을 수행할 필요가 없는 열 기반의 데이터베이스관리장치를 제공하고자 한다.The present application is intended to provide a column-based database management device that does not require recompilation of an application program or restart of the database when adding or changing a database by removing the dependency with the linked application program.

본 발명의 일 실시예에 의한 열 기반의 데이터베이스관리장치는, 전력계통운영시스템(EMS: Energy Management System)과 연계되며, 전력계통(Electric Power System)에 포함된 감시대상들로부터 수집한 감시정보들을 저장 및 관리하는 데이터베이스관리장치(DBMS: Database Management System)에 관한 것으로, 상기 감시대상을 계측한 계측장치들로부터 수신한 감시정보와, 상기 감시정보에 대응한 메타정보들을, 열(column) 기반으로 저장하여 관리하는 데이터 저장부; 및 상기 감시정보에 대한 접근요청에 대응하여, 상기 데이터 저장부에 직접 액세스가능한 인터페이스를 제공하는 제어부를 포함할 수 있다. The column-based database management apparatus according to an embodiment of the present invention is connected to an EMS (Energy Management System) and collects monitoring information from monitoring targets included in an electric power system. It relates to a database management system (DBMS) that stores and manages, and includes monitoring information received from measurement devices measuring the monitoring target and meta information corresponding to the monitoring information, based on a column. A data storage unit that stores and manages; And a control unit providing an interface directly accessible to the data storage unit in response to a request for access to the monitoring information.

여기서 상기 데이터 저장부는, 상기 감시정보 또는 메타정보를 각각의 클래스(class)별로 구별하고, 각 클래스에 포함되는 항목들에 대응하는 열들을 형성한 후, 상기 감시정보 또는 메타정보의 입력에 따라 상기 열을 순차적으로 채워 저장할 수 있다. Here, the data storage unit distinguishes the monitoring information or meta information for each class, forms columns corresponding to items included in each class, and then, according to the input of the monitoring information or meta information, the You can store the rows by filling them sequentially.

여기서 상기 메타정보는, 상기 감시정보에 액세스하기 위한 상기 감시정보의 저장위치정보를 포함할 수 있다. Here, the meta information may include storage location information of the monitoring information for accessing the monitoring information.

여기서 상기 제어부는, 상기 전력계통운영시스템으로부터 상기 감시정보에 대한 요청을 받으면, 상기 감시정보의 저장위치정보를 포함하는 메타정보를 회신하여, 상기 전력계통운영시스템이 직접 상기 감시정보에 접근하도록 하는 인터페이스를 제공할 수 있다. Here, the control unit, upon receiving a request for the monitoring information from the power system operating system, returns meta-information including storage location information of the monitoring information, so that the power system operating system directly accesses the monitoring information. Interface can be provided.

여기서 상기 제어부는, 상기 감시데이터에 대응하는 상기 열이 추가 또는 변경되면, 상기 저장위치정보에 대응하는 메타정보를 업데이트할 수 있다. Here, when the column corresponding to the monitoring data is added or changed, the controller may update meta information corresponding to the storage location information.

덧붙여 상기한 과제의 해결수단은, 본 발명의 특징을 모두 열거한 것이 아니다. 본 발명의 다양한 특징과 그에 따른 장점과 효과는 아래의 구체적인 실시형태를 참조하여 보다 상세하게 이해될 수 있을 것이다.In addition, the solution to the above-described problem does not enumerate all the features of the present invention. Various features of the present invention and advantages and effects thereof may be understood in more detail with reference to the following specific embodiments.

본 발명의 일 실시예에 의한 열 기반의 데이터베이스관리장치에 의하면, 열(column)을 최소 구성단위로 저장하므로, 메모리의 사용효율, 입출력 속도, 확장성 및 유연성 측면에서 개선된 성능을 제공할 수 있다. According to the column-based database management apparatus according to an embodiment of the present invention, since columns are stored as a minimum configuration unit, improved performance in terms of memory usage efficiency, input/output speed, scalability and flexibility can be provided. have.

본 발명의 일 실시예에 의한 열 기반의 데이터베이스관리장치에 의하면, 연동되는 전력계통운영시스템의 응용프로그램과의 종속성을 제거할 수 있으므로, 응용프로그램의 재컴파일이나 데이터베이스의 재기동 등이 없이도 데이터베이스의 구조변경 등을 수행하는 것이 가능하다.According to the column-based database management apparatus according to an embodiment of the present invention, it is possible to remove the dependency with the application program of the interlocked power system operating system, so the structure of the database without recompiling the application program or restarting the database. It is possible to perform changes and the like.

다만, 본 발명의 실시예들에 따른 열 기반의 데이터베이스관리장치가 달성할 수 있는 효과는 이상에서 언급한 것들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.However, the effects that can be achieved by the column-based database management apparatus according to the embodiments of the present invention are not limited to those mentioned above, and other effects not mentioned are the technical fields to which the present invention belongs from the following description. It will be able to be clearly understood by those of ordinary skill.

도1은 본 발명의 일 실시예에 의한 전력계통시스템을 나타내는 블록도이다.
도2는 본 발명의 일 실시예에 의한 데이터베이스관리장치를 나타내는 블록도이다.
도3은 행 기반의 데이터베이스 구조와 열 기반의 데이터베이스 구조를 나타내는 개략도이다.
도4는 행 기반의 데이터베이스의 구조와 열 기반의 데이터베이스 구조에서의 데이터저장을 나타내는 개략도이다.
도5는 행 기반의 데이터베이스에서의 항목이 추가되는 경우를 나타내는 개략도이다.
도6은 열 기반의 데이터베이스에서의 항목이 추가되는 경우를 나타내는 개략도이다.
1 is a block diagram showing a power system system according to an embodiment of the present invention.
2 is a block diagram showing a database management apparatus according to an embodiment of the present invention.
3 is a schematic diagram showing a row-based database structure and a column-based database structure.
4 is a schematic diagram showing the structure of a row-based database and data storage in a column-based database structure.
5 is a schematic diagram showing a case where an item is added in a row-based database.
6 is a schematic diagram showing a case where an item is added in a column-based database.

이하, 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예를 상세하게 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 또한, 유사한 기능 및 작용을 하는 부분에 대해서는 도면 전체에 걸쳐 동일한 부호를 사용한다.Hereinafter, preferred embodiments will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art may easily implement the present invention. However, in describing a preferred embodiment of the present invention in detail, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. In addition, the same reference numerals are used throughout the drawings for parts having similar functions and functions.

덧붙여, 명세서 전체에서, 어떤 부분이 다른 부분과 '연결'되어 있다고 할 때, 이는 '직접적으로 연결'되어 있는 경우뿐만 아니라, 그 중간에 다른 소자를 사이에 두고 '간접적으로 연결'되어 있는 경우도 포함한다. 또한, 어떤 구성요소를 '포함'한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 명세서에 기재된 "~부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. In addition, throughout the specification, when a part is said to be'connected' with another part, it is not only'directly connected', but also'indirectly connected' with another element in the middle. Includes. In addition, "including" a certain component means that other components may be further included rather than excluding other components unless otherwise stated. In addition, terms such as "~ unit" and "module" described in the specification mean a unit that processes at least one function or operation, which may be implemented as hardware or software, or as a combination of hardware and software.

도1은 본 발명의 일 실시예에 의한 전력계통시스템을 나타내는 블록도이다. 1 is a block diagram showing a power system system according to an embodiment of the present invention.

도1을 참조하면 본 발명의 일 실시예에 의한 전력계통시스템은, 전력계통(Electric Power System, 1), 계측장치(10), 데이터베이스관리장치(DBMS: Database Management System, 100) 및 전력계통운영시스템(EMS: Energy Management System, 200)을 포함할 수 있다. Referring to FIG. 1, a power system system according to an embodiment of the present invention includes an electric power system (1), a measuring device 10, a database management device (DBMS: Database Management System, 100), and a power system operation. It may include a system (EMS: Energy Management System, 200).

이하 도1을 참조하여 본 발명의 일 실시예에 의한 전력계통시스템을 설명한다. Hereinafter, a power system system according to an embodiment of the present invention will be described with reference to FIG. 1.

계측장치(10)는 전력계통(1)을 구성하고 있는 발전소나 송/배전 계통, 소비자의 부하 계통 등의 상태에 관한 감시정보를 취득할 수 있다. 즉, 계측장치(10)는 전력계통(1)에 대한 신속, 정확한 감시와, 이를 통한 최적화된 자동발전제어, 전력계통해석 등의 기능을 수행할 수 있도록, 전력계통(1)으로부터 다양한 감시정보들을 취득할 수 있다. 예를들어, 계측장치(10)는 발전기나 변전소에 설치된 원격단말장치(RTU: Remote Terminal Unit)로부터 자료를 직접 취득하거나, 각 지역급전소의 스카다(SCADA: Supervisory Control and Data Acquisition System)나 외부시스템으로부터 자료를 연계 취득할 수 있다. The measuring device 10 can acquire monitoring information about the state of a power plant, a transmission/distribution system, a consumer's load system, and the like constituting the power system 1. That is, the measuring device 10 provides various monitoring information from the power system 1 to perform functions such as quick and accurate monitoring of the power system 1, optimized automatic power generation control, and power system analysis. You can get them. For example, the measurement device 10 directly acquires data from a remote terminal unit (RTU) installed in a generator or substation, or SCADA (Supervisory Control and Data Acquisition System) or external Data can be linked and acquired from the system.

데이터베이스관리장치(100)는 계측장치(10)가 수집한 감시정보들을 제공받을 수 있으며, 수신한 감시정보들을 각각의 용도에 맞도록 관리 운영할 수 있다. 즉, 데이터베이스관리장치(100)는 계측장치(10)로부터 전력 계통의 현재 상태를 나타내는 실시간 감시정보를 수신하여 저장할 수 있으며, 실시예에 따라서는, 전력계통운영시스템(200)의 계통 응용 프로그램과 발전기 제어 응용 프로그램을 지원하기 위한 전력 계통 설비 모델링, 전력 계통 연결 관계 모델링 등을 저장하는 것도 가능하다. 여기서, 데이터베이스관리장치(100)는 전력계통운영시스템(200)과 응용프로그램을 통해 연계될 수 있으며, 전력계통운영시스템(200)의 요청에 따라 감시정보들을 제공할 수 있다. 또한, 실시예에 따라서는, 전력계통운영시스템(200)에서 수집되고 전송되는 전력 계통 감시 및 제어에 관한 모든 자료를 저장 및 백업한 후, 요청에 따라 제공할 수 있으며, 이때 요청에 대응하여 실시간으로 제공할 수 있다The database management device 100 may receive the monitoring information collected by the measurement device 10, and manage and operate the received monitoring information to suit each purpose. That is, the database management device 100 may receive and store real-time monitoring information indicating the current state of the power system from the measurement device 10, and according to the embodiment, the system application program of the power system operation system 200 and the It is also possible to store power system facility modeling, power system connection relationship modeling, etc. to support generator control applications. Here, the database management apparatus 100 may be linked with the power system operating system 200 through an application program, and may provide monitoring information according to the request of the power system operating system 200. In addition, depending on the embodiment, after storing and backing up all data related to power system monitoring and control collected and transmitted from the power system operation system 200, it can be provided upon request. Can be provided as

전력계통운영시스템(200)은 데이터베이스관리장치(100)로부터 감시정보들을 제공받을 수 있으며, 수신한 감시정보를 이용하여 전력계통(1)의 운영을 위한 다양한 관리 및 제어 등을 수행할 수 있다. 구체적으로, 자동발전제어, 경제급전 등의 발전계획 기능과, 상태추정, 조류해석, 고장해석, 상정사고 해석 등 계통해석 기능을 수행할 수 있다. 이후, 수행결과를 다시 데이터베이스관리장치(100)에 저장할 수 있다. The power system operation system 200 may receive monitoring information from the database management device 100, and perform various management and control for the operation of the power system 1 by using the received monitoring information. Specifically, it can perform power generation planning functions such as automatic power generation control and economic dispatch, and system analysis functions such as condition estimation, current analysis, failure analysis, and presumed accident analysis. Thereafter, the execution result may be stored in the database management apparatus 100 again.

여기서, 전력계통운영시스템(200)에서 수행하는 각각의 발전계획 및 계통해석 기능 등은 수 초에서 수 분 내에 수행이 완료되어야 하므로, 감시정보 등 데이터의 입출력에 대한 빠른 처리성능이 요구된다. 따라서, 종래의 데이터베이스관리장치에서는, C언어의 구조체와 동일하게 행(row) 기반으로 저장되도록 구현하여, 데이터의 빠른 입출력 처리속도 보장하도록 하였다. 그러나, 행 기반의 데이터베이스의 경우, 메모리 사용이 비효율적이고, 정적인 구조로 인하여 서비스 중 데이터베이스에 대한 추가, 변경, 삭제 등이 불가하며, 변경사항 적용시, 소스 코드에 대한 재컴파일 및 데이터베이스의 재기동 등이 필요한 등의 단점도 존재하였다. Here, since each power generation plan and system analysis function performed by the power system operation system 200 must be completed within a few seconds to a few minutes, fast processing performance for input/output of data such as monitoring information is required. Therefore, in the conventional database management apparatus, it is implemented to be stored on a row basis in the same way as the structure of the C language, so as to ensure a fast input/output processing speed of data. However, in the case of a row-based database, memory usage is inefficient, and due to a static structure, addition, change, or deletion of the database during service is impossible. When applying changes, the source code is recompiled and the database is restarted. There were also disadvantages such as the need for a back.

이러한 문제점을 해결하기 위하여, 본 발명의 일 실시예에 의한 데이터베이스관리장치(100)는, 열(column) 기반으로 감시정보 등 데이터를 저장하도록 구현하였으며, 이를 통하여 메모리의 사용효율, 입출력 속도, 확장성 및 유연성 측면에서 개선된 성능을 제공하는 것이 가능하다. 이하, 본 발명의 일 실시예에 의한 데이터베이스관리장치(100)를 설명한다. In order to solve this problem, the database management apparatus 100 according to an embodiment of the present invention has been implemented to store data such as monitoring information based on a column, through which memory usage efficiency, input/output speed, and expansion It is possible to provide improved performance in terms of performance and flexibility. Hereinafter, a database management apparatus 100 according to an embodiment of the present invention will be described.

도2는 본 발명의 일 실시예에 의한 데이터베이스관리장치를 나타내는 블록도이다. 도2를 참조하면 본 발명의 일 실시예에 의한 데이터베이스관리장치(100)는 데이터저장부(110) 및 제어부(120)를 포함할 수 있다. 2 is a block diagram showing a database management apparatus according to an embodiment of the present invention. Referring to FIG. 2, the database management apparatus 100 according to an embodiment of the present invention may include a data storage unit 110 and a control unit 120.

데이터저장부(110)는 감시대상을 계측한 계측장치(10)들로부터 수신한 감시정보와, 감시정보에 대응한 메타정보들을, 열(column) 기반으로 데이터베이스(미도시)에 저장하여 관리할 수 있다. 즉, 종래에는 C언어의 구조체와 동일하게 행(row) 기반으로 저장하였으나, 여기서는 열 기반으로 저장하여 데이터베이스를 구현할 수 있다. 구체적으로, 데이터 저장부(110)는, 감시정보 또는 메타정보를 각각의 클래스(class) 또는 테이블 별로 구별할 수 있으며, 각 클래스에 포함되는 항목들에 대응하는 열들을 형성한 후, 입력되는 감시정보 또는 메타정보를 각각의 열에 순차적으로 채우는 방식으로 저장할 수 있다. The data storage unit 110 stores and manages the monitoring information received from the measurement devices 10 measuring the monitoring target and meta information corresponding to the monitoring information in a database (not shown) based on a column. I can. That is, conventionally, the structure was stored on a row basis like the structure of the C language, but in this case, the database can be implemented by storing on a column basis. Specifically, the data storage unit 110 can distinguish monitoring information or meta information for each class or table, and after forming columns corresponding to items included in each class, input monitoring Information or meta-information can be stored in a manner that sequentially fills each column.

도3(a)를 참조하면, 종래에는 발전기코드, 지역, 발전기명, 에너지원, 발전량 등의 클래스에 해당하는 정보가 행방향으로 연속하여 입력되어 저장되었다면, 본 발명의 일 실시예에 의한 데이터저장부(110)의 경우에는, 도3(b)에 도시한 바와 같이, 각각의 클래스들을 구별한 후, 각각의 클래스별로 열 방향으로 데이터들이 순차적으로 저장하는 것이 가능하다. 여기서, 각각의 클래스별로 데이터가 저장되므로, 예를들어 "발전기코드" 전체를 추출하고자 하는 경우, 열 단위로 동시에 추출하는 것이 가능하다. 즉, 데이터의 입출력을 보다 편리하고 빠르게 수행하는 것이 가능하다.Referring to Fig. 3(a), if information corresponding to a class such as a generator code, region, generator name, energy source, generation amount, etc., has been continuously input and stored in the row direction, data according to an embodiment of the present invention In the case of the storage unit 110, as shown in Fig. 3(b), after classifying each class, it is possible to sequentially store data in a column direction for each class. Here, since data is stored for each class, for example, in the case of extracting the entire "generator code", it is possible to extract simultaneously in units of columns. That is, it is possible to perform data input/output more conveniently and quickly.

한편, 행 기반으로 저장하는 경우에는, 먼저 구조체 S1을 다음과 같이 설정할 수 있으며, 이후 설정된 각각의 구조체 S1 단위로 저장할 수 있다. 여기서 구조체 S1을 6개 저장하는 경우를 가정한다. On the other hand, in the case of row-based storage, the structure S1 can be first set as follows, and then the structure can be stored in units of each set structure S1. Here, it is assumed that 6 structures S1 are stored.

struct S1{struct S1{

char a; char a;

int b; int b;

double c; double c;

}}

이때, "char", "int", "double"은 각각 C 언어에서의 변수를 선언하는 명령어에 해당하므로, char로 선언된 a에는 1byte가 할당되고, int로 선언된 b는 4byte가 할당되며, double로 선언된 c에는 8byte가 각각 할당될 수 있다. 여기서, b는 a와의 사이에 3byte의 오프셋을 가지도록 설정하게 되므로, 도4(a)에 도시한 바와 같이, 6개의 구조체가 저장될 수 있다. 다만, a와 b 사이의 오프셋에 의하여, 전체 메모리 사용량 96byte 중에서 18byte는 실제로는 사용되지 않게 된다(해칭영역). At this time, "char", "int", and "double" each correspond to a command for declaring a variable in the C language, so 1 byte is allocated to a declared as char, and 4 bytes are allocated to b declared as int. Each of 8 bytes can be allocated to c declared as double. Here, since b is set to have an offset of 3 bytes between a and, as shown in Fig. 4(a), six structures can be stored. However, due to the offset between a and b, 18 bytes out of 96 bytes of total memory usage are not actually used (hatched area).

반면에, 본 발명의 일 실시예에 의한 데이터저장부(110)의 경우, 열 기반으로 저장하므로, 열a를 char형으로 설정하고, 열b를 int 형으로 설정하고, 열c를 double 형으로 각각 설정할 수 있다. 즉, a가 저장되는 열a는 char형으로 설정되므로 각각 1byte가 할당되고, 열b는 int 형으로 설정되므로 각각 4byte가 할당되며, 열c는 double 형으로 설정되어 각각 8byte가 설정될 수 있다. 따라서, 도4(b)에 도시한 바와 같이, 1개의 클래스에 대한 a, b, c 3개의 항목을 포함하는 6개의 레코드(record)가 열 기반으로 저장될 수 있다. 이 경우, 전체 메모리 사용량 80byte 중에서 2byte만이 실제 사용되지 않고 남게 되므로, 상대적으로 효율적인 메모리 사용이 가능하다. On the other hand, in the case of the data storage unit 110 according to an embodiment of the present invention, since it is stored on a column basis, column a is set to char type, column b is set to int type, and column c is set to double type. Each can be set. That is, since the column a in which a is stored is set to a char type, each 1 byte is allocated, and since column b is set to an int type, 4 bytes are each allocated, and column c is set to a double type, so each 8 bytes may be set. Accordingly, as shown in Fig. 4(b), six records including three items a, b, and c for one class may be stored on a column basis. In this case, since only 2 bytes of the total memory usage amount of 80 bytes remain without being actually used, a relatively efficient memory use is possible.

즉, 도4(a)와 도4(b)를 비교하면, 열 기반 구조가 행(C-구조체) 기반 구조보다 메모리 사용량의 측면에서 16byte 정도 적게 사용하는 것을 확인할 수 있다. 여기서는 입력되는 레코드의 건수가 6건에 불과하지만, 실제 전력계통(1)에서 운영되는 데이터베이스관리장치(100)의 경우에는, 대량의 계통 설비정보들이 저장될 수 있다. 따라서, 열 기반으로 구현한 데이터저장부(110)를 활용하면 상당한 메모리 양을 절약하는 것이 가능하다. 또한, 점차 더 많은 감시정보들이 데이터베이스관리장치(100)에 추가되고 있으므로, 본 발명의 데이터저장부(110)를 활용하면, 제한된 운영체계의 메모리 용량에 불구하고 보다 효율적인 메모리 사용을 구현할 수 있다.That is, when comparing FIGS. 4(a) and 4(b), it can be seen that the column-based structure uses about 16 bytes less in terms of memory usage than the row (C-structure)-based structure. Here, the number of input records is only 6, but in the case of the database management apparatus 100 operating in the actual power system 1, a large amount of system facility information may be stored. Therefore, it is possible to save a considerable amount of memory by using the data storage unit 110 implemented on a column basis. In addition, since more and more monitoring information is being added to the database management apparatus 100, if the data storage unit 110 of the present invention is used, it is possible to implement more efficient memory use despite the limited memory capacity of the operating system.

한편, 본 발명의 일 실시예에 의한 데이터저장부(110)는 열 기반으로 데이터를 저장하므로, 클래스 내에 추가적인 항목 등이 더 포함되는 경우에도, 기존에 저장된 메모리 구조를 변경시키지 않을 수 있다.Meanwhile, since the data storage unit 110 according to an embodiment of the present invention stores data on a column basis, even if an additional item or the like is further included in the class, the previously stored memory structure may not be changed.

일반적으로, C 언어의 구조체 내에 새로운 항목을 더 추가하는 경우에는, 도5(a)의 메모리 구조에서 도5(b)의 메모리 구조와 같이 변경될 수 있다. 즉, 초기에는 char a, int c, double b가 도5(a)에 도시한 바와 같이, 시리얼하게 연속적으로 할당되어 있을 수 있다. 다만, 여기서 int d가 추가되는 경우에는, int에 대응하는 4byte와, 메모리 할당 규칙에 따른 4byte가 더 추가되어, 도5(b)에 도시한 바와 같이 8byte만큼 우측으로 쉬프트될 수 있다. 이와 같이, 메모리 구조가 전체적으로 변경되는 경우에는, 데이터베이스의 운영 중에는 적용하는 것이 불가하며, 항목 추가에 따라 응용프로그램을 다시 컴파일하고, 데이터베이스도 재기동할 필요가 있다. 그러나, 전력계통운영시스템(200)은 빠른 수행속도와 더불어 수행의 안정성과 데이터의 신뢰성이 매우 중요하므로, 변경사항 적용을 위해 데이터베이스를 재기동하는 등의 경우에는, 계통 해석 응용프로그램의 안정성과 신뢰성 보장을 저해하는 등의 문제를 야기할 수 있다. In general, when a new item is added to the structure of the C language, the memory structure of FIG. 5(a) may be changed to the memory structure of FIG. 5(b). That is, initially char a, int c, and double b may be serially and consecutively allocated as shown in Fig. 5(a). However, in the case where int d is added, 4 bytes corresponding to int and 4 bytes according to the memory allocation rule are additionally added, and as shown in FIG. 5(b), it may be shifted to the right by 8 bytes. As described above, if the memory structure is changed as a whole, it cannot be applied while the database is operating, and it is necessary to recompile the application program and restart the database according to the addition of items. However, since the power system operating system 200 is very important in performance stability and data reliability along with fast execution speed, in the case of restarting the database to apply changes, the stability and reliability of the system analysis application program are guaranteed. It may cause problems such as hindering.

반면에, 본 발명의 일 실시예에 의한 데이터저장부(110)는 열 기반으로 데이터를 저장하므로, 도4(b)에서 char d가 더 포함되는 경우, 열d를 추가하여 간단히 d에 해당하는 열d를 입력하는 것이 가능하다. 즉, 도6에 도시한 바와 같이 열d가 추가될 수 있으며, 열d의 추가에 불구하고 이미 할당된 필드의 메모리 주소는 변경되지 않음을 확인할 수 있다. 따라서, 본 발명의 일 실시예에 의한 데이터저장부(110)에 의하면, 클래스 내의 항목에 대한 추가나 변경 등이 발생하는 경우에도, 전력계통운영시스템(200)의 응용프로그램에 대한 재컴파일이나, 데이터베이스관리장치(100)에 대한 재시작이 필요가 없으며, 업무의 연속성 및 신뢰성을 보장하는 것이 가능하다. On the other hand, since the data storage unit 110 according to an embodiment of the present invention stores data on a column basis, in the case where char d is further included in FIG. 4(b), the column d is simply added to correspond to d. It is possible to enter column d. That is, as shown in FIG. 6, column d may be added, and it can be seen that the memory address of an already allocated field is not changed despite the addition of column d. Therefore, according to the data storage unit 110 according to an embodiment of the present invention, even when an addition or change to an item in a class occurs, recompilation of the application program of the power system operating system 200 or a database There is no need to restart the management device 100, and it is possible to ensure continuity and reliability of work.

제어부(120)는 감시정보에 대한 접근요청에 대응하여, 데이터 저장부(110)에 직접 액세스가능한 인터페이스를 제공할 수 있다. 즉, 본 발명의 일 실시예에 의한 데이터베이스관리장치(100)는, 데이터베이스의 클래스 정보 등이 응용프로그램의 컴파일시 바인딩되지 않도록 구현되어 있으므로, 응용프로그램에는 각각의 감시정보 등에 접근하기 위한 메모리 주소가 구비되어 있지 않다. 따라서, 제어부(120)는 응용프로그램이 데이터베이스관리장치(100)를 통하여 감시정보 등에 접근할 수 있도록 별도의 인터페이스를 제공할 수 있다. The control unit 120 may provide an interface directly accessible to the data storage unit 110 in response to a request for access to the monitoring information. That is, since the database management apparatus 100 according to an embodiment of the present invention is implemented so that class information of the database is not bound when compiling an application program, the application program has a memory address for accessing each monitoring information, etc. Not equipped. Accordingly, the control unit 120 may provide a separate interface so that the application program can access monitoring information and the like through the database management apparatus 100.

구체적으로, 데이터저장부(110)에는 감시정보에 대한 메타정보가 저장되어 있으며, 메타정보에는 각각의 감시정보에 대한 클래스, 열 데이터 유형, 크기 등과 함께, 감시정보가 저장되는 저장위치정보 등이 포함되어 있다. 따라서, 제어부(120)는 메타정보를 이용하여, 응용프로그램가 각각의 감시정보에 접근하도록 구현할 수 있다. Specifically, the data storage unit 110 stores meta information on the monitoring information, and the meta information includes a class, column data type, size, etc. for each monitoring information, as well as storage location information in which the monitoring information is stored. Included. Accordingly, the control unit 120 may implement the application program to access each monitoring information by using the meta information.

즉, 응용프로그램은 먼저 데이터베이스관리장치(100)에 접속하여 감시정보가 저장된 저장위치정보에 해당하는 메타정보를 조회할 수 있으며, 이 경우, 제어부(120)는 해당 메타정보를 응용프로그램으로 제공할 수 있다. 이후, 응용프로그램은 메타정보로부터 해당 감시정보가 저장된 메모리 상의 저장위치정보를 획득할 수 있으며, 메모리 저장위치정보를 이용하여 감시정보를 조회하고 변경 등의 동작을 수행할 수 있다. That is, the application program may first access the database management device 100 to inquire meta information corresponding to the storage location information in which the monitoring information is stored. In this case, the control unit 120 may provide the meta information to the application program. I can. Thereafter, the application program can obtain the storage location information on the memory in which the monitoring information is stored from the meta information, and use the memory storage location information to inquire and change the monitoring information.

종래에는, 데이터베이스의 클래스 정보가 응용프로그램의 컴파일 시점에 바인딩되었다. 이 경우 응용프로그램과 데이터베이스 사이의 연계가 정적으로 연결되므로, 만약 데이터베이스의 테이블 및 열 정보 등이 변경되는 경우에는, 연관된 응용프로그램을 모두 재컴파일하여야 한다. 즉, 데이터베이스가 저장 관리하는 전체 메모리 주소의 변경이 발생하므로, 응용프로그램이 참조하는 클래스의 주소가 변경되기 때문이다. 예를들어, A라는 프로그램은 T1이라는 테이블을 참조하고 B라는 프로그램은 T2테이블을 참조한다고 가정했을 때, T1에 필드를 하나 추가했을 때, 메모리 간의 종속성이 없는 경우는 T1을 사용하는 A라는 프로그램만 재컴파일을 하면 된다. 하지만, 행 기반 데이터베이스의 경우, 메모리를 시리얼하게 저장하므로, 열이 추가될 경우에 전체 메모리 주소가 쉬프트되므로, A와 B를 모두 컴파일하여야 하며, 데이터베이스도 재시작되어야 한다. Conventionally, class information in a database was bound at the time of compiling an application program. In this case, since the linkage between the application program and the database is statically connected, if table and column information of the database is changed, all related application programs must be recompiled. That is, since the entire memory address stored and managed by the database is changed, the address of the class referenced by the application program is changed. For example, assuming that the program A refers to the table T1 and the program B refers to the table T2, when a field is added to T1, and there is no dependency between memory, the program A uses T1. You only need to recompile. However, in the case of a row-based database, memory is serially stored, so when a row is added, the entire memory address is shifted, so both A and B must be compiled, and the database must be restarted.

반면에, 본 발명의 일 실시예에 의한 제어부(120)는, 데이터베이스와 응용프로그램 사이의 종속성을 배제하였으므로, 데이터베이스의 열 추가 또는 변경시마다 응용프로그램의 재컴파일이 필요없다. 또한, 열 기반의 데이터베이스의 경우, 열을 추가 또는 변경하는 경우에도 추가로 인한 메모리 쉬프트 등은 발생하지 않으므로, 기존의 메모리 주소를 그대로 활용할 수 있으며, 추가된 열에 대한 메모리 주소 정보를 메타데이터에 추가하는 방식으로 유연성과 확장성을 보장할 수 있다. 이때, 제어부(120)는 저장위치정보에 대응하는 메타정보를 업데이트하여, 감시데이터에 대응하는 열이 추가 또는 변경을 반영하는 것이 가능하다. On the other hand, since the control unit 120 according to an embodiment of the present invention excludes the dependency between the database and the application program, it is not necessary to recompile the application program every time a column of the database is added or changed. In addition, in the case of a column-based database, memory shift due to addition does not occur even when a column is added or changed, so the existing memory address can be used as it is, and the memory address information for the added column is added to the metadata. In this way, flexibility and scalability can be guaranteed. In this case, the control unit 120 may update meta information corresponding to the storage location information, so that a column corresponding to the monitoring data may reflect the addition or change.

본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 본 발명에 따른 구성요소를 치환, 변형 및 변경할 수 있다는 것이 명백할 것이다.The present invention is not limited by the above-described embodiments and the accompanying drawings. It will be apparent to those of ordinary skill in the art to which the present invention pertains, that components according to the present invention can be substituted, modified, and changed within the scope of the technical spirit of the present invention.

1: 전력계통 10: 계측장치
100: 데이터베이스관리장치 110: 데이터 저장부
120: 제어부 200: 전력계통운영시스템
1: power system 10: measuring device
100: database management device 110: data storage unit
120: control unit 200: power system operation system

Claims (5)

전력계통운영시스템(EMS: Energy Management System)과 연계되며, 전력계통(Electric Power System)에 포함된 감시대상들로부터 수집한 감시정보들을 저장 및 관리하는 데이터베이스관리장치(DBMS: Database Management System)에 있어서,
상기 감시대상을 계측한 계측장치들로부터 수신한 감시정보와, 상기 감시정보에 대응한 메타정보들을, 열(column) 기반으로 저장하여 관리하는 데이터 저장부; 및
상기 감시정보에 대한 접근요청에 대응하여, 상기 데이터 저장부에 직접 액세스가능한 인터페이스를 제공하는 제어부를 포함하는 열 기반의 데이터베이스관리장치.
In a database management system (DBMS: Database Management System) that is linked with the power system operation system (EMS) and stores and manages monitoring information collected from the monitoring targets included in the electric power system. ,
A data storage unit for storing and managing monitoring information received from measurement devices measuring the monitoring target and meta information corresponding to the monitoring information on a column basis; And
In response to a request for access to the monitoring information, a column-based database management apparatus comprising a control unit providing an interface directly accessible to the data storage unit.
제1항에 있어서, 상기 데이터 저장부는
상기 감시정보 또는 메타정보를 각각의 클래스(class)별로 구별하고, 각 클래스에 포함되는 항목들에 대응하는 열들을 형성한 후, 상기 감시정보 또는 메타정보의 입력에 따라 상기 열을 순차적으로 채워 저장하는 것을 특징으로 하는 데이터베이스관리장치.
The method of claim 1, wherein the data storage unit
The monitoring information or meta information is classified for each class, columns corresponding to items included in each class are formed, and then the columns are sequentially filled and stored according to the input of the monitoring information or meta information. Database management device, characterized in that.
제1항에 있어서, 상기 메타정보는
상기 감시정보에 액세스하기 위한 상기 감시정보의 저장위치정보를 포함하는 것을 특징으로 하는 데이터베이스관리장치.
The method of claim 1, wherein the meta information is
And storage location information of the monitoring information for accessing the monitoring information.
제3항에 있어서, 상기 제어부는
상기 전력계통운영시스템으로부터 상기 감시정보에 대한 요청을 받으면, 상기 감시정보의 저장위치정보를 포함하는 메타정보를 회신하여, 상기 전력계통운영시스템이 직접 상기 감시정보에 접근하도록 하는 인터페이스를 제공하는 것을 특징으로 하는 데이터베이스관리장치.
The method of claim 3, wherein the control unit
When receiving a request for the monitoring information from the power system operating system, providing an interface that allows the power system operating system to directly access the monitoring information by returning meta information including storage location information of the monitoring information. Database management device characterized by.
제4항에 있어서, 상기 제어부는
상기 감시데이터에 대응하는 상기 열이 추가 또는 변경되면, 상기 저장위치정보에 대응하는 메타정보를 업데이트하는 것을 특징으로 하는 데이터베이스관리장치.
The method of claim 4, wherein the control unit
When the column corresponding to the monitoring data is added or changed, the meta information corresponding to the storage location information is updated.
KR1020190148510A 2019-11-19 2019-11-19 Column-Oriented Database Management System KR102449253B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190148510A KR102449253B1 (en) 2019-11-19 2019-11-19 Column-Oriented Database Management System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190148510A KR102449253B1 (en) 2019-11-19 2019-11-19 Column-Oriented Database Management System

Publications (2)

Publication Number Publication Date
KR20210060930A true KR20210060930A (en) 2021-05-27
KR102449253B1 KR102449253B1 (en) 2022-09-30

Family

ID=76135600

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190148510A KR102449253B1 (en) 2019-11-19 2019-11-19 Column-Oriented Database Management System

Country Status (1)

Country Link
KR (1) KR102449253B1 (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120084278A1 (en) * 2010-09-30 2012-04-05 International Business Machines Corporation Scan sharing for query predicate evaluations in column-based in-memory database systems
KR101255639B1 (en) * 2012-01-18 2013-04-16 홍익대학교 산학협력단 Column-oriented database system and join process method using join index thereof
KR101530441B1 (en) * 2013-11-28 2015-06-19 고려대학교 산학협력단 Method and apparatus for processing data based on column
KR20160087280A (en) * 2015-01-13 2016-07-21 인천대학교 산학협력단 Method and system for providing integrated managing service based smart water grid
KR20170107189A (en) * 2016-03-15 2017-09-25 가톨릭관동대학교산학협력단 mobile health care system and mobile health dashboard providing system based on components using the same
US20170293656A1 (en) * 2014-10-31 2017-10-12 Hewlett Packard Enterprise Development Lp Projections determination for column-based databases
KR20170129485A (en) * 2016-05-17 2017-11-27 이승철 MACRO/MICRO Intelligent Total Energy Management System and Method
KR101898511B1 (en) * 2017-05-10 2018-10-31 가톨릭관동대학교산학협력단 Integrated management method for payment using mobile application
US20190025354A1 (en) * 2017-07-20 2019-01-24 Targus International Llc Systems, methods and devices for remote power management and discovery

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120084278A1 (en) * 2010-09-30 2012-04-05 International Business Machines Corporation Scan sharing for query predicate evaluations in column-based in-memory database systems
KR101255639B1 (en) * 2012-01-18 2013-04-16 홍익대학교 산학협력단 Column-oriented database system and join process method using join index thereof
KR101530441B1 (en) * 2013-11-28 2015-06-19 고려대학교 산학협력단 Method and apparatus for processing data based on column
US20170293656A1 (en) * 2014-10-31 2017-10-12 Hewlett Packard Enterprise Development Lp Projections determination for column-based databases
KR20160087280A (en) * 2015-01-13 2016-07-21 인천대학교 산학협력단 Method and system for providing integrated managing service based smart water grid
KR20170107189A (en) * 2016-03-15 2017-09-25 가톨릭관동대학교산학협력단 mobile health care system and mobile health dashboard providing system based on components using the same
KR20170129485A (en) * 2016-05-17 2017-11-27 이승철 MACRO/MICRO Intelligent Total Energy Management System and Method
KR101898511B1 (en) * 2017-05-10 2018-10-31 가톨릭관동대학교산학협력단 Integrated management method for payment using mobile application
US20190025354A1 (en) * 2017-07-20 2019-01-24 Targus International Llc Systems, methods and devices for remote power management and discovery

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=kmk1030&logNo=221238376662 (2018.03.27.) *

Also Published As

Publication number Publication date
KR102449253B1 (en) 2022-09-30

Similar Documents

Publication Publication Date Title
Noghabi et al. Samza: stateful scalable stream processing at LinkedIn
Rabl et al. Solving big data challenges for enterprise application performance management
Gulzar et al. Bigdebug: Debugging primitives for interactive big data processing in spark
Konstantinou et al. On the elasticity of NoSQL databases over cloud management platforms
Peng et al. Hadoopwatch: A first step towards comprehensive traffic forecasting in cloud computing
CN103338135B (en) A kind of method for real-time monitoring of cluster storage capacity
CN102096684A (en) Grid real-time data integrating and sharing platform
Khan et al. Big data analytics on PMU measurements
CN101587455A (en) Method for checking memory leak for vxWorks operating system
CN105138685B (en) A kind of Performance Test System towards HBase
Martins et al. A study over NoSQL performance
CN101187884A (en) Resource management method and management system
CN103365740B (en) A kind of data cold standby method and device
Lin et al. Data repair for distributed, event-based iot applications
KR102449253B1 (en) Column-Oriented Database Management System
CN104461832A (en) Method and device for monitoring resources of application server
CN103809915B (en) The reading/writing method of a kind of disk file and device
US11341022B2 (en) Runtime performance introspection
CN105354102B (en) A kind of method and apparatus of file system maintenance and reparation
CN103118121A (en) Application method of high availability cluster in virtualization technology
Zhang Frequency monitoring network (FNET) data center development and data analysis
Kraft et al. Apiary: A DBMS-Backed Transactional Function-as-a-Service Framework
CN105825332A (en) Cloud computing based electric energy metering monitoring platform and method thereof
Grambow et al. Dockerization impacts in database performance benchmarking
Ito et al. Development of noSQL data storage for the ATLAS PanDA Monitoring System

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant