KR102102313B1 - 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템 - Google Patents

인메모리 데이터베이스 기반의 시계열 데이터 관리시스템 Download PDF

Info

Publication number
KR102102313B1
KR102102313B1 KR1020190154038A KR20190154038A KR102102313B1 KR 102102313 B1 KR102102313 B1 KR 102102313B1 KR 1020190154038 A KR1020190154038 A KR 1020190154038A KR 20190154038 A KR20190154038 A KR 20190154038A KR 102102313 B1 KR102102313 B1 KR 102102313B1
Authority
KR
South Korea
Prior art keywords
time
data
series data
time series
data block
Prior art date
Application number
KR1020190154038A
Other languages
English (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 KR1020190154038A priority Critical patent/KR102102313B1/ko
Priority to PCT/KR2019/016673 priority patent/WO2021107211A1/ko
Application granted granted Critical
Publication of KR102102313B1 publication Critical patent/KR102102313B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/2228Indexing structures
    • G06F16/2272Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor

Abstract

본 발명은 시계열 데이터를 레코드 단위로 저장하지 않고, 동일 속성의 시계열 데이터들을 일정 크기의 데이터 블록단위로 분할하여 시간적으로 연결되게 저장함과 더불어, 데이터 블록 단위로 색인을 생성하여 관리함으로써, 인메모리 데이터베이스에서 시간순으로 분석하는 시계열 데이터의 관리 및 분석 성능을 개선할 수 있도록 해 주는 기술에 관한 것이다.
본 발명에 따른 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템은, 일정 크기의 데이터 블록 단위로 시계열 데이터를 저장하되, 동일 속성의 시계열 데이터들은 다수의 데이터 블록이 체인형태로 연결되어 시계열 데이터들을 시간순으로 연속되는 형태로 저장하는 시계열 데이터 저장부와, 시계열 데이터의 속성정보별 현재 저장된 시계열 데이터 전체에 대한 시작 시간과 종료 시간 및 첫번째 데이터 블록정보로 이루어지는 시계열 데이터 정보를 포함하는 레코드 테이블이 저장되는 레코드 저장부, 동일 속성의 시계열 데이터가 저장된 데이터 블록들에 대해 하나의 색인 테이블을 저장하되, 색인 테이블은 각 데이터 블록에 대한 시작시간과 종료시간 및 데이터 블록 위치정보를 포함하는 데이터 블록별 색인 정보들로 이루어지는 시계열 데이터 색인부 및, 시계열 데이터 저장 질의에 대해 해당 시계열 데이터를 저장할 데이터 블록을 검색하여 저장하고, 시계열 데이터가 저장된 데이터 블록에 대응하여 상기 레코드 저장부 및 시계열 데이터 색인부를 갱신하는 시계열 데이터 저장 처리와, 시간 조건을 포함하는 시계열 데이터 검색 질의에 대해 질의 시간 조건을 포함하는 레코드 테이블을 검색하여 첫번째 데이터 블록정보를 획득하고, 첫번째 데이터 블록을 포함하는 색인 테이블에서 질의 시간 조건을 만족하는 데이터 블록 위치정보를 획득하며, 시계열 데이터 저장부에서 데이터 블록 위치에 해당하는 데이터 블록을 검색하고, 검색된 데이터 블록에서 검색 질의에 대응되는 시계열 데이터를 호출하여 반환하는 시계열 데이터 검색 처리를 수행하는 시계열 데이터 처리부를 포함하여 구성되는 것을 특징으로 한다.

Description

인메모리 데이터베이스 기반의 시계열 데이터 관리시스템{System for Managing TimeSeries data in In-Memory Database}
본 발명은 시계열 데이터를 레코드 단위로 저장하지 않고, 동일 속성의 시계열 데이터들을 일정 크기의 데이터 블록단위로 분할하여 시간적으로 연결되게 저장함과 더불어, 데이터 블록 단위로 색인을 생성하여 관리함으로써, 인메모리 데이터베이스시스템에서 시간순으로 분석하는 시계열 데이터의 관리 및 분석 성능을 개선할 수 있도록 해 주는 기술에 관한 것이다.
현재 빠르게 변화하는 정보사회에서 신뢰성있는 정보를 구축하여 운영하는 것은 국가, 기업 또는 여러 사용자들의 생존의 필수 조건이 되고 있다. 최근의 대다수의 많은 기업들은 이러한 신뢰성있는 정보를 구축하기 위하여 보다 많은 업무를 관계형 데이터베이스 관리시스템(RDBMS; Relational Database Management System)으로 연결하여 운영하고 있다. 이러한 데이터베이스 시스템을 업무에 운영하는 경우, 고성능, 고효율 및 신뢰성은 당연히 요구되는 기본 조건이 되고 있다.
상기한 관계형 데이터베이스 관리시스템에서 정보는 서비스의 클라우드화, 모바일화, 글로벌화로 인하여 대량으로 발생되고 있고, 빠르게 변화하는 가장 중요한 자원중의 하나가 되었다. 이와 같은 대용량의 데이터의 처리를 위해 최근에는 인-메모리 데이터베이스(In-memory Database) 기술이 제안되어 도입되고 있다.
인-메모리 데이터베이스(In-memory Database)는 데이터 스토리지의 메인 메모리에 설치되어 운영되는 방식의 데이터베이스 관리 시스템으로, 디스크에 설치되는 방식에 비해 처리 속도가 빠르다는 장점을 갖는다.
특히, 빅데이터의 등장에 따른 데이터량의 증가, 빠른 분석 처리에 대한 요구사항이 증대되면서 인-메모리 데이터베이스에 대한 연구가 더욱 활발히 진행되고 있다.
한편, 최근에는 IoT 기술 등의 발달로 인하여 대용량의 시계열 데이터가 실시간으로 수집되고 있으며, 이러한 시계열 데이터는 특정 시간과 해당 시간에 수집된 1개 이상의 데이터 값으로 구성된다.
현재 인메모리 데이터 베이스는 일반 데이터와 유사한 방법으로 시계열 데이터를 여러 개의 필드로 구성된 다수의 레코드로 저장 관리하고 레코드 단위로 색인을 생성하여 관리하고 있다.
그러나, 시계열 데이터를 레코드 단위로 관리하고 레코드 단위의 색인을 생성하는 종래 인메모리 데이터베이스는 시계열 데이터 분석의 특성을 고려할 때 성능의 저하를 초래한다.
즉, 시계열 데이터에 대한 대부분의 분석은 시계열 데이터를 시간순으로 정렬하여 데이터를 분석하는 경향이 있는데, 레코드 단위로 저장하는 경우 시계열 데이터 분석시 전체 데이터를 시간 순으로 정렬하는 과정이 필수적으로 요구되기 때문에, 그 처리 시간이 매우 오래 걸리게 된다.
또한, 특정 시간의 시계열 데이터를 레코드 단위로 관리하고 레코드 단위의 색인을 생성하여 시계열 데이터가 지속적으로 증가함에 따라 색인의 크기 또한 지속적으로 증가하여 색인 데이터의 관리 문제 뿐만 아니라 색인의 성능이 저하되는 문제가 있다.
1. 국내등록특허 제10-1780041호 (명칭 : 데이터베이스의 처리 속도 향상 방법 및 그 장치)
이에 본 발명은 상기한 사정을 감안하여 창출된 것으로, 시계열 데이터를 일정 크기의 데이터 블록으로 분할하여 시간순으로 연속적으로 저장하고, 시계열 데이터에 대한 색인은 데이터 블록 단위로 생성하여 시계열 데이터가 급속도로 증가하여도 색인의 크기가 증가하는 문제점을 해결함은 물론, 데이터 블록을 이용하여 시간순으로 분석하는 시계열 데이터를 효율적으로 검색할 수 있도록 해 주는 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템을 제공함에 그 기술적 목적이 있다.
상기 목적을 달성하기 위한 본 발명의 일측면에 따르면, 일정 크기의 데이터 블록 단위로 시계열 데이터를 저장하되, 동일 속성의 시계열 데이터들은 다수의 데이터 블록이 체인형태로 연결되어 시계열 데이터들을 시간순으로 연속되는 형태로 저장하는 시계열 데이터 저장부와, 시계열 데이터의 속성정보별 현재 저장된 시계열 데이터 전체에 대한 시작 시간과 종료 시간 및 첫번째 데이터 블록정보로 이루어지는 시계열 데이터 정보를 포함하는 레코드 테이블이 저장되는 레코드 저장부, 동일 속성의 시계열 데이터가 저장된 데이터 블록들에 대해 하나의 색인 테이블을 저장하되, 색인 테이블은 각 데이터 블록에 대한 시작시간과 종료시간 및 데이터 블록 위치정보를 포함하는 데이터 블록별 색인 정보들로 이루어지는 시계열 데이터 색인부 및, 시계열 데이터 저장 질의에 대해 해당 시계열 데이터를 저장할 데이터 블록을 검색하여 저장하고, 시계열 데이터가 저장된 데이터 블록에 대응하여 상기 레코드 저장부 및 시계열 데이터 색인부를 갱신하는 시계열 데이터 저장 처리와, 시간 조건을 포함하는 시계열 데이터 검색 질의에 대해 질의 시간 조건을 포함하는 레코드 테이블을 검색하여 첫번째 데이터 블록정보를 획득하고, 첫번째 데이터 블록을 포함하는 색인 테이블에서 질의 시간 조건을 만족하는 데이터 블록 위치정보를 획득하며, 시계열 데이터 저장부에서 데이터 블록 위치에 해당하는 데이터 블록을 검색하고, 검색된 데이터 블록에서 검색 질의에 대응되는 시계열 데이터를 호출하여 반환하는 시계열 데이터 검색 처리를 수행하는 시계열 데이터 처리부를 포함하여 구성되고, 상기 시계열 데이터 저장부에 저장되는 데이터 블록은 헤더 영역과 실제 시계열 데이터가 저장되는 바디 영역으로 이루어지되, 헤더 영역은 해당 데이터 블록과 체인 형태로 연결되는 넥스트(NEXT) 데이터 블록 정보와 해당 데이터 블록의 시작시간 및 해당 데이터 블록의 종료시간을 포함하며, 바디 영역은 시계열 데이터 수집 시간과 하나 이상의 데이터값이 기 설정된 순서로 배치되는 형태의 데이터 항목들이 시계열 데이터 수집 시간 순서로 순차 저장되는 것을 특징으로 하는 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템이 제공된다.
삭제
또한, 상기 데이터 블록의 헤더 영역에는 하나 이상의 타임 스템프 항목이 할당되고, 타임 스템프 항목은 바디 영역에 저장된 데이터 항목의 수집 시간으로 설정되되, 타임 스템프 항목에 설정되는 데이터 항목 수집 시간은 바디 영역에 순차 저장된 데이터 항목에서 일정 이격 간격을 갖는 위치의 데이터 항목 수집 시간으로 설정되는 것을 특징으로 하는 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템이 제공된다.
또한, 상기 시계열 데이터 처리부는 시계열 데이터 검색 수행시 데이터 블록의 헤더 영역에서 질의 시간 조건에 근접하는 타임 스템프 항목을 확인하고, 바디 영역에서 확인된 타임스템프 위치의 데이터 항목부터 질의 시간 조건을 만족하는 데이터 항목 검색을 시작하여 질의 검색 결과에 대응되는 시계열 데이터를 검색하는 것을 특징으로 하는 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템이 제공된다.
또한, 시계열 데이터에 대한 데이터값에 대응되는 데이터 종류와 그 배치 순서에 대한 정보를 포함하는 메타 테이블을 저장하는 메타데이터 저장부를 추가로 포함하여 구성되고, 상기 시계열 데이터 처리부는 다수의 데이터값을 갖는 시계열 데이터에 대해 시계열 데이터 수집 시간과 데이터값들로 이루어지는 데이터 항목의 저장 환경을 설정함과 더불어, 시계열 데이터 검색 질의 수행시, 상기 메타데이터 저장부에서 검색 대상 데이터 종류에 대응되는 배치 순서를 획득하고, 질의 시간 조건을 만족하는 데이터 항목에서 상기 배치 순서의 데이터값을 검색 요청된 시계열 데이터로 호출하는 것을 특징으로 하는 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템이 제공된다.
또한, 상기 시계열 데이터 처리부는 다수의 데이터값을 갖는 시계열 데이터에 대해 UDT(User Defined Type) 방식으로 시계열 데이터의 데이터 저장 환경을 설정하도록 지원하는 것을 특징으로 하는 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템이 제공된다.
또한, 상기 시계열 데이터 처리부는 시계열 데이터 삭제 질의에 대해, 시계열 데이터 검색을 수행하여 삭제 대상 시계열 데이터가 저장된 데이터 항목을 검색한 후, 검색된 데이터 항목에서 수집 시간을 "NULL" 설정하는 방식으로 삭제 질의를 수행하는 것을 특징으로 하는 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템이 제공된다.
또한, 상기 시계열 데이터 처리부는 일정 주기 단위로 "NULL" 설정된 데이터 항목에 대한 데이터 패킹 작업을 일괄적으로 수행하되, 해당 데이터 블록에서 "NULL" 설정된 데이터 항목을 클리어 한 후, 후위의 데이터 항목을 복사하여 이전 데이터 항목 위치로 이동시키는 방식으로 데이터 패킹 작업을 수행하는 것을 특징으로 하는 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템이 제공된다.
본 발명에 의하면, 시계열 데이터가 시간순으로 정렬되어 일정 크기의 데이터 블록단위로 분할 저장하고,데이터 블록 단위로 색인을 생성하여 관리함으로써, 시계열 데이터에 대한 분석 및 관리 성능을 개선할 수 있다.
또한, 데이터 블록의 헤더 영역에는 해당 데이터 블록의 바디 영역에 저장된 일정 위치에 대한 시계열 데이터 시간정보를 포함함으로써, 보다 향상된 시계열 데이터 검색 성능을 보장할 수 있다.
도1은 본 발명의 제1 실시예에 따른 인메모리 데이터베이스 기반의 시계열 데이터 관리 시스템의 개략적인 구성을 도시한 도면.
도2는 도1에 도시된 시계열 데이터 처리부(100)에서 지원하는 UDT 기능에 대한 질의문을 예시한 도면.
도3은 도1에 도시된 메타데이터 저장부(200)의 메타 테이블 구조를 예시한 도면.
도4는 도1에 도시된 레코드 저장부(300)의 레코드 테이블 구조를 예시한 도면.
도5는 도1에 도시된 시계열 데이터 저장부(400)에 저장되는 데이터 블록 구조를 예시한 도면.
도6은 도1에 도시된 시계열 데이터 색인부(500)의 색인테이블 구조를 예시한 도면.
도7은 도1에 도시된 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템에서의 시계열 데이터 저장 동작을 설명하기 위한 흐름도.
도8은 도1에 도시된 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템에서의 시계열 데이터 검색 동작을 설명하기 위한 흐름도.
본 발명에 기재된 실시예 및 도면에 도시된 구성은 본 발명의 바람직한 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 표현하는 것은 아니므로, 본 발명의 권리범위는 본문에 설명된 실시예 및 도면에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도1은 본 발명의 제1 실시예에 따른 인메모리 데이터베이스 기반의 시계열 데이터 관리 시스템의 개략적인 구성을 도시한 도면이다.
도1을 참조하면, 본 발명에 따른 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템은 시계열 데이터 처리부(100)와, 메타데이터 저장부(200), 레코드 저장부(300), 시계열 데이터 저장부(400) 및, 시계열 데이터 색인부(500)를 포함한다.
시계열 데이터 처리부(100)는 사용자로부터 요구되는 시계열 데이터에 대한 질의를 처리한다. 시계열 데이터 처리부(100)는 시계열 데이터에 대한 저장, 삭제, 수정 및, 분석을 위한 검색과 합계나 차이 등의 연산 등의 시계열 데이터 관련 질의를 처리한다.
또한, 시계열 데이터 처리부(100)는 사용자의 요구에 대응하여 시계열 데이터에 대한 저장 구조를 임의로 정의하는 UDT(User Defined Type) 기능을 제공한다. 이러한 기능은 특히 하나의 시계열 데이터에 동시에 획득되는 데이터값(컬럼)의 종류가 다수개인 경우에 효과적으로 사용될 수 있다.
도2에는 사용자에 의해 정의되는 UDT(User Defined Type) 기능을 이용하여 시계열 데이터를 저장하기 위한 필드명과 시계열 데이터의 데이터 저장 환경을 설정하는 질의문(a)과, 이에 대응되는 시계열 데이터에 대한 레코드 테이블을 생성하는 질의문(b)이 예시되어 있다. 도2 (a)에 의하면, 시계열 데이터 필드타입을 "dustsensor"로 설정하고, "t, v1, v2, v3" 의 각 컬럼 이름에 대해 "time, int, double, double"의 각 컬럼 타입을 갖는 시계열 데이터 저장 환경을 설정할 수 있다. 그리고, 이에 대해 도2 (b)와 같이 "DustSensingValue"의 필드명을 갖는 테이블을 생성할 수 있다. 즉, 도4에서 레코드 테이블에서 시계열 데이터정보가 저장되는 필드의 필드명이 "DustSensingValue"로 설정된다.
메타데이터 저장부(200)는 시계열 데이터를 효과적으로 저장하고 관리하기 위한 장치로서, 사용자 정의형 시계열 데이터 필드명을 기준으로 시계열 데이터에 대한 메타데이터를 관리한다.
도3에는 메타데이터 저장부(200)의 메타 테이블 구조가 예시되어 있다. 도3을 참조하면, 메타데이터 저장부(200)는 사용자 정의형 시계열 데이터 필드명(UDT 이름)별 시계열 데이터 저장부(400)에 저장되는 데이터 항목 단위의 시계열 데이터 컬럼 개수 및 시간 단위별 시계열 데이터 항목 크기(byte)가 저장되는 상위 테이블(a)과, 사용자 정의형 시계열 데이터 필드명(UDT 이름)의 각 시계열 데이터 칼럼 순번별 칼럼 이름과 칼럼 타입이 저장되는 하위 테이블(b)을 구비한다. 하위 테이블(b)은 상위 테이블(a)에서 시계열 데이터의 컬럼 개수 만큼 생성된다. 예컨대, 도2를 적용하면 상위 테이블(a)에서 "DustSensingValue"에 대해 시계열 데이터 컬럼(t, v1, v2, v3) 개수는 "4"로 설정되고, 하위 테이블(b)은 4개 생성된다. 예컨대, 하위 테이블에서 시계열 데이터 컬럼 순번이 "3" 인 경우, 컬럼(t, v1, v2, v3) 중 3번째 컬럼인 "v2"에 해당하는 "온도"가 컬럼 이름으로 설정되며, 3번째 컬럼에 해당하는 3번째 컬럼 타입인 "double"가 컬럼 타입으로 설정된다.
레코드 저장부(300)는 시계열 데이터에 할당된 레코드 ID(이하 oid)별 객체 ID, 위치, 날짜 등의 일반 속성에 대한 일반 칼럼정보와 해당 객체에 대한 시계열 데이터 정보를 저장한다. 이때, oid 는 시계열 데이터를 수집하는 수집장치에 대한 id일 수 있고, 일반 칼럼들은 일반적인 관계형 테이블 형태로 저장된다.
도4에는 레코드 저장부(300)의 레코드 테이블 구조가 예시되어 있다. 도4를 참조하면, 레코드 테이블은 (a)와 같이 oid별 일반 칼럼 영역과 시계열 데이터 영역을 포함한다. 그리고, 시계열 데이터 영역은 (b)와 같이 시계열 데이터 전체에 대한 전체 시작시간과, 전체 종료시간, 타임스템프 개수 및, 첫번째 데이터 블록정보를 포함한다. 여기서, 첫번째 데이터 블록정보는 시계열 데이터 저장부(400)에 저장되는 해당 데이터 블록의 저장 위치가 될 수 있다. 그리고, 타임스템프 개수는 시계열 데이터가 저장되는 시계열 데이터 저장부(400)의 데이터 블록 구조에서 헤더 영역에 포함되는 해당 데이터 블록내의 시간 정보의 개수이다.
즉, 레코드 저장부(300)는 동일한 속성을 갖는 시계열 데이터에 대해 하나의 oid를 할당하고, oid에 대해서는 실제 시계열 데이터가 저장된 시계열 데이터 저장부(400)의 첫번째 데이터 블록정보만을 저장한다. 따라서, 시계열 데이터가 지속적으로 증가하는 상황에서도 레코드 테이블에는 첫번째 데이터블록에 대한 포인터정보만이 기록되므로 레코드 관리가 용이하다.
시계열 데이터 저장부(400)는 일정 크기의 데이터 블록 단위로 실제 시계열 데이터를 저장하되, 동일 속성의 시계열 데이터들은 다수의 데이터 블록이 체인형태로 연결되어 시계열 데이터들을 시간순으로 연속되는 형태로 저장한다. 여기서, 시계열 데이터 블록은 메모리에서 일정 크기의 연속된 공간을 의미하며, 시계열 데이터는 해당 공간에 시간순으로 정렬된다. 이때, 하나의 데이터 블록에 시계열 데이터가 모두 저장되면, 동일한 크기의 데이터 블록을 재할당함과 더불어, 재할당된 데이터 블록에 대한 정보를 이전 데이터 블록 테이블에 등록함으로써, 데이터 블록이 순차로 연결된 형태로 저장된다.
도5에는 시계열 데이터 저장부(400)에 저장되는 데이터 블록 구조가 예시되어 있다.
데이터 블록은 도5의 (a)와 같이 헤더(headaer) 영역과 실제 시계열 데이터가 저장되는 바디(body) 영역으로 이루어지고, 헤더 영역은 해당 데이터 블록과 체인 형태로 연결되는 넥스트(NEXT) 데이터 블록 정보와 해당 데이터 블록 시작시간 및 해당 데이터 블록 종료시간을 포함하며, 바디 영역은 시계열 데이터 수집 시간과 하나 이상의 데이터값이 기 설정된 순서로 배치되는 형태의 데이터 항목들이 시계열 데이터 수집 시간 순서로 순차 저장되도록 구성된다. 예컨대 도2의 질의문을적용하면 데이터 항목에 저장되는 컬럼 배치 순서는 "t,v1,v2,v3" 로서, 바디 영역에서 시계열 데이터 항목은 "시작 시간(t), 제1 센싱값(CO2), 제2 센싱값(온도), 제3 센싱값(습도)"의 순서로 저장될 수 있다.
여기서, 데이터 블록 시작 시간은 바디 영역에 저장되는 첫번째 데이터 항목의 시작시간이고, 데이터 블록 종료 시간은 바디 영역에 저장되는 마지막 데이터 항목의 시작시간이 될 수 있다. 즉, 바디 영역에 저장되는 시계열 데이터는 기본적으로 시간에 대하여 오름차순으로 저장된다.
또한, 데이터 블록의 헤더 영역에는 하나 이상의 타임 스템프 항목이 할당될 수 있다. 타임 스템프 항목은 바디 영역에 저장된 일정 개수의 데이터 항목의 수집 시간으로 설정되는데, 타임 스템프 항목에 설정되는 데이터 항목 수집 시간은 바디 영역에 순차 저장된 데이터 항목에서 일정 이격 간격을 갖는 위치의 데이터 항목 수집 시간으로 설정될 수 있다. 예컨대, 타임 스템프 항목에 설정되는 데이터 항목 수집 시간은 바디 영역에 저장된 데이터 항목의 총 개수를 타임 스템프 항목 수로 나눈 몫에 해당하는 순번의 배수 위치에 저장된 데이터 항목 수집 시간으로 설정될 수 있다.
도5 (b)에는 첫번째 단위 블록의 시작시간(t1)과, 네번째 단위 블록의 시작시간(t4) 및 일곱번째 단위 블록의 시작시간(t7)로 이루어지는 3개의 타임스템프가 예시되어 있다. 이때, 타임스템프 개수는 데이터 블록에 저장되는 데이터 항목의 개수에 대응하여 설정될 수 있다. 예컨대, 시계열 데이터의 검색 속도를 보다 향상시키기 위해 데이터 블록의 크기가 클수록 즉, 데이터 항목의 개수가 많을수록 타임스템프 개수도 증가될 수 있다.
즉, 시계열 데이터 처리부(100)는 시계열 데이터 검색시 헤더 영역에서 타임스템프 정보를 통해 해당 데이터 블록에서 검색하고자 하는 시간에 대응되는 시계열 데이터의 위치를 개략적으로 예측함으로써, 보다 신속한 시계열 데이터의 검색이 가능하다.
시계열 데이터 색인부(500)는 시계열 데이터 저장부(400)에 저장된 시계열 데이터를 효과적으로 검색하기 위한 방법을 제공하기 위한 것으로, 동일 속성을 갖는 시계열 데이터들이 저장되는 데이터 블록들 즉, oid 별로 색인 테이블을 구성할 수 있다. 예컨대, 하나의 시계열 수집장치 단위로 구성하거나, 특정 테이블 레코드에 포함되는 전체 시계열 데이터 수집장치에 대해 하나의 시계열 데이터 테이블을 생성할 수 있다.
도6에는 시계열 데이터 색인부(500)의 색인테이블 구조가 예시되어 있다
도6을 참조하면, 시계열 데이터 색인부(500)에 저장되는 색인테이블 구조는 각 데이터 블록에 대한 시작시간과 종료시간 및 해당 데이터 블록 정보를 포함하는 데이터 블록별 색인정보들이 반복되는 구조로 이루어진다. 이때, 데이터 블록 정보는 시계열 데이터 저장부(400)에 저장된 해당 데이터 블록 위치가 될 수 있다.
그리고, 색인 테이블은 데이터 분석 성능을 보다 향상시키기 위해 해당 데이터 블록의 시계열 데이터의 최대값과 최소값 항목이 더 추가될 수 있다. 이는 이후 시계열 데이터 분석 요청시 연산자에 대응하여 적절하게 참고될 수 있다.
이어, 본 발명에 따른 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템의 동작을 도7 및 도8에 도시된 흐름도를 참조하여 설명한다.
본 발명에 따른 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템은 기본적으로 시계열 데이터 저장과정과, 시계열 데이터 검색과정을 수행한다.
도7은 본 발명에 따른 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템에서의 시계열 데이터 저장 과정을 설명하기 위한 흐름도이다.
도7을 참조하면, 시계열 데이터 처리부(100)는 UDT 방식으로 시계열 데이터를 저장하기 위한 필드명과 시계열 데이터값과 그 배치 순서, 각 데이터값별 데이터 타입의 저장 환경을 설정한다(ST100). 도2의 질의문을 적용하면, 시계열 데이터 처리부(100)는 레코드 저장부(300)의 시계열 데이터가 저장되는 필드명을 "DustSensingValue"로 설정하고, 메타데이터 저장부(200)에 "DustSensingValue"를 UDT 이름으로 하는 메타 테이블을 생성한다. 그리고, 메타 테이블 중 하위 테이블에는 컬럼 항목 (t, v1, v2, v3) 별 컬럼 타입(time, int, double, double)을 설정한다. 예컨대, 컬럼 항목에서 "t"는 해당 시계열 데이터가 수집된 시작 시간이고, "v1, v2, v3"은 시계열 데이터로서 예컨대, "CO2, 온도, 습도"가 매칭될 수 있다.
이하에서는 컬럼(t, v1, v2, v3)이 "시작 시간, CO2, 온도, 습도"로 매칭된 상태를 예시하여 설명한다.
상기한 상태에서, 시계열 데이터 저장 질의가 수신되면(ST120), 시계열 데이터 처리부(100)는 속성 정보에 기반하여 레코드 저장부(300)에서 해당 시계열 데이터에 대한 레코드 테이블이 존재하는지를 탐색한다. 이때, 레코드 테이블이 존재하지 않으면, 해당 시계열 데이터에 대한 속성정보에 대한 oid를 할당하여 레코드 테이블을 생성한다(ST130).
이어, 시계열 데이터 처리부(100)는 시계열 데이터 저장 질의에 포함된 시간정보를 근거로 시계열 데이터 색인부(500)를 이용하여 해당 시계열 데이터를 저장할 데이터 블록을 검색하고, 시계열 데이터 저장부(400)에서 검색된 데이터 블록 위치에 해당 시계열 데이터를 기 설정된 컬럼 순서(t, v1, v2, v3)로 저장한다(ST140).
상기 ST140 단계에서 새롭게 등록되는 시계열 데이터에 대해서는 시계열 데이터 처리부(100)에서 시계열 데이터 색인부(500)를 이용하여 새로운 데이터 블록을 할당하고, 새롭게 할당된 데이터 블록에 해당 시계열 데이터를 저장한다.
또한, 상기 ST140 단계에서 이미 데이터 블록이 할당된 시계열 데이터에 대해서는 시간정보를 근거로 시계열 데이터 색인부(500)를 이용하여 해당 시계열 데이터를 저장할 데이터 블록정보를 탐색한다. 예컨대, 도6에서 해당 시계열 데이터에 대응되는 마지막 데이터 블록에 남은 저장영역이 존재하는지를 판단하고, 존재하는 경우, 시계열 데이터 저장부(400)의 해당 데이터 블록의 바디 영역에 해당 시계열 데이터를 저장한다. 그리고, 마지막 데이터 블록에 남은 저장영역이 존재하지 않으면, 새롭게 데이터 블록을 할당한 후, 새롭게 할당된 데이터 블록에 해당 시계열 데이터를 저장한다. 이때, 이전 데이터 블록의 헤더 영역에서 넥스트 데이터 블록정보를 해당 데이터 블록정보로 설정한다.
즉, 시계열 데이터 처리부(100)는 시계열 데이터를 할당된 데이터 블록에 저장하되, 시간에 대해 오름차순으로 정렬되도록 시계열 데이터를 저장한다.
이후, 시계열 데이터 처리부(100)는 시계열 데이터 저장부(400)에 저장된 시계열 데이터 저장 정보를 근거로 해당 데이터 블록과 관련된 관리 정보를 갱신한다(ST150). 즉, 시계열 데이터 처리부(100)는 메타데이터 저장부(200)와 레코드 저장부(300) 및, 시계열 데이터 색인부(500)를 갱신한다.
시계열 데이터 처리부(100)는 메타데이터 저장부(200)에서 해당 UDT명("DustSensingValue")에 대응되는 상위 테이블에서 시계열 데이터 항목 개수와 데이터 항목 크기를 갱신한다.
또한, 레코드 저장부(300)에서 해당 레코드 ID에 대한 DustSensingValue 명에 대해 현재 저장된 시계열 데이터 정보를 반영하여 객체 시작시간, 객체 종료시간, 타임스템프 개수, 첫번째 데이터 블록정보 중 적어도 하나 이상을 업데이트 한다. 예컨대, 신규 저장되는 시계열 데이터에 대해서는 객체 시작시간과 객체 종료시간, 타임스템프 개수 및, 첫번째 데이터 블록정보를 새롭게 등록한다. 그리고, 추가 저장되는 시계열 데이터에 대해서는 객체 종료시간을 갱신하고, 해당 데이터 블록에 저장되는 시계열 데이터 개수가 기준 개수 이상으로 저장된 경우 타임스템프 개수를 증가시킬 수 있다. 이때, 타임스템프 개수가 증가되면, 시계열 데이터 처리부(100)는 타임스템프 개수에 대응하여 해당 데이터 블록의 헤더 영역에 설정되는 타임스템프 위치를 재설정한다. 예컨대, 하나의 데이터 블록에 저장되는 데이터 개수가 10개이면서 타임스템프 개수(도4의 (b) 참조)가 "3"인 경우 시계열 데이터 테이블(도5 (b) 참조)에서 타임스템프 위치가 "t1,t4,t7"로 설정된 상태에서, 데이터 개수가 11개로 증가하면, 타임스템프 개수(도4의 (b)참조)를 "4"로 변경설정함과 더불어, 시계열 데이터 테이블(도5 (b) 참조)의 타임스템프 위치를 "t1, t3, t6, t8"로 변경설정할 수 있다.
또한, 시계열 데이터 색인부(500)에서 해당 레코드 ID에 대한 시작 시간, 종료 시간, 하위 노드 정보 중 적어도 하나 이상을 갱신한다. 예컨대, 신규 저장되는 시계열 데이터에 대해서는 시작 시간, 종료 시간, 하위 노드를 새롭게 등록한다. 그리고, 추가 저장되는 시계열 데이터에 대해서는 해당 하위 노드에 대한 시작시간 또는 종료시간을 갱신함과 더불어, 해당 하위 노드정보에서 시작 시간, 종료시간, 최대값, 최소값, 데이터 블록정보 중 적어도 하나를 갱신한다.
이후, 시계열 데이터 처리부(100)는 시계열 데이터 저장 완료 질의를 반환한다(ST160).
도8은 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템에서의 시계열 데이터 검색 과정을 설명하기 위한 흐름도이다.
도8을 참조하면, 도7과 같은 과정을 통해 시계열 데이터가 저장된 상태에서, 시계열 데이터 처리부(100)는 시간 조건을 포함하는 시계열 데이터 검색 질의가 수신되면(ST210), 검색 질의를 분석하여 메타데이터 저장부(200)에서 검색 대상 데이터 종류(컬럼)에 해당하는 컬럼 이름의 저장 순번을 추출한다(ST220). 즉, 시계열 데이터 처리부(100)는 검색 질의에 포함된 UDT 명을 근거로 메타 테이블을 추출하고, 추출된 메타 테이블에서 컬럼 이름이 몇번째 배치 순번인지를 확인한다. 예컨대, UDT 명이 "DustSensingValue" 인 테이블에서 질의 요청된 시계열 데이터 종류인 "온도"가 두번째 저장 순번(v2)임을 확인할 수 있다.
이어, 시계열 데이터 처리부(100)는 레코드 저장부(300)에서 전체 시작시간과 전체 종료시간에 질의의 시간 조건이 포함되는 데이터 블록 색인 정보를 검색하고, 검색된 데이터 블록 색인 정보에서 첫번째 데이터 블록정보를 획득한다(ST230).
그리고, 시계열 데이터 처리부(100)는 상기 ST230 단계에서 획득된 첫번째 데이터 블록정보를 근거로 시계열 데이터 색인부(500)에서 해당 첫번째 데이터 블록을 포함하는 색인 테이블을 검색하되, 최상위노드 테이블부터 그 하위노드 테이블로 순차적으로 이동하면서 질의 시간 조건을 만족하는 데이터 블록을 탐색한다(ST240). 즉, 도6에 도시된 각 테이블에서 시작시간과 종료시간 사이에 질의 시간 조건이 위치하는 하위 노드정보를 추출하고, 그 하위 노드정보에서 또 다시 시작시간과 종료시간 사이에 질의 시간 조건이 위치하는 데이터 블록 위치정보를 획득한다.
이어, 시계열 데이터 처리부(100)는 시계열 데이터 색인부(500)에서 획득된 데이터 블록 위치정보를 근거로 시계열 데이터 저장부(400)에서 해당 데이터 블록을 검색하고, 검색된 데이터 블록에서 질의 시간 조건에 근접하는 데이터 항목 위치를 탐색한다(ST250).
이때, 시계열 데이터 처리부(100)는 도5에 도시된 바와 같은 데이터 블록의 헤더 영역에 저장된 타임스템프를 이용하여 보다 신속하게 질의 시간 조건에 해당하는 데이터 위치를 탐색할 수 있다.
예컨대, 시계열 데이터 처리부(100)는 도5에서 질의 시간 조건이 "t4" 와 "t7" 사이인 경우, 해당 데이터 블록 테이블의 바디 영역에서 t4 위치부터 질의 시간 조건을 탐색할 수 있다.
본 발명에서는 데이터 블록테이블의 타임스템프 개수를 사용자가 임의로 설정하도록 실시하는 것도 가능하다. 이는 데이터 블록 테이블에서 시계열 데이터의 검색의 시작 시점을 질의 시간 조건에 근접한 위치로 설정하기 위한 것으로, 타임스템프 개수를 증가시키도록 설정할 수 있다.
그리고, 시계열 데이터 처리부(100)는 검색된 질의 시간 조건에 대응되는 바디 영역의 해당 데이터 항목에서 ST220 단계에서 추출한 배치 순번에 대응되는 시계열 데이터값을 목적하는 질의 대상 시계열 데이터로 호출한다(ST260). 예컨대, 데이터 블록의 시간 조건을 만족하는 데이터 항목에서 두번째 순번의 시계열 데이터값을 해당 질의의 온도값으로 호출한다.
이때, 시간 조건이 일정 범위인 경우, 상술한 바와 동일한 방식으로 해당 범위에 해당하는 시간 조건을 만족하는 모든 질의 대상 시계열 데이터를 추출한다.
이후, 시계열 데이터 처리부(100)는 호출된 시계열 데이터를 검색 결과로 반환한다(ST270).
또한, 상기 ST240 단계에서 탐색된 데이터 블록의 개수의 둘 이상인 경우, 시계열 데이터 처리부(100)는 질의의 종류에 따라 각 데이터 블록에 대해 병렬처리방식으로 시계열 데이터를 획득할 수 있다. 예컨대, t1과 t2 시간 사이의 시계열 데이터의 합계를 구하는 경우, 각각의 데이터 블록에 대해 병렬방식으로 시계열 데이터를 획득한 후, 이를 합 연산처리하여 질의 결과를 산출할 수 있다.
한편, 본 발명에 있어서는 외부로부터의 요청에 따라 시계열 데이터 처리부(100)는 시계열 데이터 저장부(400)에 저장된 시계열 데이터에 대한 삭제 질의를 수행할 수 있다.
즉, 시계열 데이터 처리부(100)는 시계열 데이터 삭제 질의에 대해, 상술한 시계열 데이터 검색을 수행하여 삭제 대상 시계열 데이터가 저장된 데이터 항목을 검색한 후, 검색된 데이터 항목에서 시간정보(t)를 "NULL" 설정하는 방식으로 삭제 질의를 수행할 수 있다. 이후, 시계열 데이터 처리부(100)는 시간정보가 "NULL"로 검색된 데이터 항목은 삭제된 것으로 인식한다.
이때, 시계열 데이터 처리부(100)는 "NULL" 설정된 데이터 항목에 포함된 데이터 블록에 대해 타임스템프를 확인하고, 필요에 따라 타임스템프 정보를 변경할 수 있다. 예컨대, "NULL" 설정된 데이터 항목이 타임스템프로 설정된 경우이거나 또는 해당 데이터 블록에서 "NULL" 설정된 데이터 항목이 일정 수 이상인 때에 타임스템프 정보를 변경할 수 있다.
또한, 시계열 데이터 처리부(100)는 일정 주기 단위로 "NULL" 설정된 데이터 항목에 대한 데이터 패킹 작업을 일괄적으로 수행한다. 즉, 시계열 데이터 처리부(100)는 데이터 블록에서 "NULL" 설정된 데이터 항목을 클리어 한 후, 후위의 데이터 항목을 복사하여 이전 데이터 항목 위치로 이동시키는 방식으로 데이터 패킹 작업을 수행한다. 이는 메모리상에서 데이터를 블록 단위로 이동하는 작업이므로 성능 이슈는 크게 발생하지 않는다.
이후, 시계열 데이터 처리부(100)는 필요에 따라 데이터 패킹 작업이 이루어진 데이터 블록의 헤더를 포함하여 해당 데이터 블록과 관련된 정보를 모두 갱신한다.
100 : 시계열 데이터 처리부,
200 : 메타데이터 저장부,
300 : 레코드 저장부,
400 : 시계열 데이터 저장부,
500 : 시계열 데이터 색인부.

Claims (8)

  1. 일정 크기의 데이터 블록 단위로 시계열 데이터를 저장하되, 동일 속성의 시계열 데이터들은 다수의 데이터 블록이 체인형태로 연결되어 시계열 데이터들을 시간순으로 연속되는 형태로 저장하는 시계열 데이터 저장부와,
    시계열 데이터의 속성정보별 현재 저장된 시계열 데이터 전체에 대한 시작 시간과 종료 시간 및 첫번째 데이터 블록정보로 이루어지는 시계열 데이터 정보를 포함하는 레코드 테이블이 저장되는 레코드 저장부,
    동일 속성의 시계열 데이터가 저장된 데이터 블록들에 대해 하나의 색인 테이블을 저장하되, 색인 테이블은 각 데이터 블록에 대한 시작시간과 종료시간 및 데이터 블록 위치정보를 포함하는 데이터 블록별 색인 정보들로 이루어지는 시계열 데이터 색인부 및,
    시계열 데이터 저장 질의에 대해 해당 시계열 데이터를 저장할 데이터 블록을 검색하여 저장하고, 시계열 데이터가 저장된 데이터 블록에 대응하여 상기 레코드 저장부 및 시계열 데이터 색인부를 갱신하는 시계열 데이터 저장 처리와, 시간 조건을 포함하는 시계열 데이터 검색 질의에 대해 질의 시간 조건을 포함하는 레코드 테이블을 검색하여 첫번째 데이터 블록정보를 획득하고, 첫번째 데이터 블록을 포함하는 색인 테이블에서 질의 시간 조건을 만족하는 데이터 블록 위치정보를 획득하며, 시계열 데이터 저장부에서 데이터 블록 위치에 해당하는 데이터 블록을 검색하고, 검색된 데이터 블록에서 검색 질의에 대응되는 시계열 데이터를 호출하여 반환하는 시계열 데이터 검색 처리를 수행하는 시계열 데이터 처리부를 포함하여 구성되고,
    상기 시계열 데이터 저장부에 저장되는 데이터 블록은 헤더 영역과 실제 시계열 데이터가 저장되는 바디 영역으로 이루어지되, 헤더 영역은 해당 데이터 블록과 체인 형태로 연결되는 넥스트(NEXT) 데이터 블록 정보와 해당 데이터 블록의 시작시간 및 해당 데이터 블록의 종료시간을 포함하며, 바디 영역은 시계열 데이터 수집 시간과 하나 이상의 데이터값이 기 설정된 순서로 배치되는 형태의 데이터 항목들이 시계열 데이터 수집 시간 순서로 순차 저장되는 것을 특징으로 하는 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템.
  2. 삭제
  3. 제1항에 있어서,
    상기 데이터 블록의 헤더 영역에는 하나 이상의 타임 스템프 항목이 할당되고, 타임 스템프 항목은 바디 영역에 저장된 데이터 항목의 수집 시간으로 설정되되,
    타임 스템프 항목에 설정되는 데이터 항목 수집 시간은 바디 영역에 순차 저장된 데이터 항목에서 일정 이격 간격을 갖는 위치의 데이터 항목 수집 시간으로 설정되는 것을 특징으로 하는 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템.
  4. 제3항에 있어서,
    상기 시계열 데이터 처리부는 시계열 데이터 검색 수행시 데이터 블록의 헤더 영역에서 질의 시간 조건에 근접하는 타임 스템프 항목을 확인하고, 바디 영역에서 확인된 타임스템프 위치의 데이터 항목부터 질의 시간 조건을 만족하는 데이터 항목 검색을 시작하여 질의 검색 결과에 대응되는 시계열 데이터를 검색하는 것을 특징으로 하는 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템.
  5. 제1항에 있어서,
    시계열 데이터에 대한 데이터값에 대응되는 데이터 종류와 그 배치 순서에 대한 정보를 포함하는 메타 테이블을 저장하는 메타데이터 저장부를 추가로 포함하여 구성되고,
    상기 시계열 데이터 처리부는 다수의 데이터값을 갖는 시계열 데이터에 대해 시계열 데이터 수집 시간과 데이터값들로 이루어지는 데이터 항목의 저장 환경을 설정함과 더불어, 시계열 데이터 검색 질의 수행시, 상기 메타데이터 저장부에서 검색 대상 데이터 종류에 대응되는 배치 순서를 획득하고, 질의 시간 조건을 만족하는 데이터 항목에서 상기 배치 순서의 데이터값을 검색 요청된 시계열 데이터로 호출하는 것을 특징으로 하는 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템.
  6. 제5항에 있어서,
    상기 시계열 데이터 처리부는 다수의 데이터값을 갖는 시계열 데이터에 대해 UDT(User Defined Type) 방식으로 시계열 데이터의 데이터 저장 환경을 설정하도록 지원하는 것을 특징으로 하는 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템.
  7. 제1항에 있어서,
    상기 시계열 데이터 처리부는 시계열 데이터 삭제 질의에 대해, 시계열 데이터 검색을 수행하여 삭제 대상 시계열 데이터가 저장된 데이터 항목을 검색한 후, 검색된 데이터 항목에서 수집 시간을 "NULL" 설정하는 방식으로 삭제 질의를 수행하는 것을 특징으로 하는 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템.
  8. 제7항에 있어서,
    상기 시계열 데이터 처리부는 일정 주기 단위로 "NULL" 설정된 데이터 항목에 대한 데이터 패킹 작업을 일괄적으로 수행하되,
    해당 데이터 블록에서 "NULL" 설정된 데이터 항목을 클리어 한 후, 후위의 데이터 항목을 복사하여 이전 데이터 항목 위치로 이동시키는 방식으로 데이터 패킹 작업을 수행하는 것을 특징으로 하는 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템.


KR1020190154038A 2019-11-27 2019-11-27 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템 KR102102313B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190154038A KR102102313B1 (ko) 2019-11-27 2019-11-27 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템
PCT/KR2019/016673 WO2021107211A1 (ko) 2019-11-27 2019-11-29 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190154038A KR102102313B1 (ko) 2019-11-27 2019-11-27 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템

Publications (1)

Publication Number Publication Date
KR102102313B1 true KR102102313B1 (ko) 2020-04-20

Family

ID=70467318

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190154038A KR102102313B1 (ko) 2019-11-27 2019-11-27 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템

Country Status (2)

Country Link
KR (1) KR102102313B1 (ko)
WO (1) WO2021107211A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112650756A (zh) * 2020-12-29 2021-04-13 成都科来网络技术有限公司 一种基于时序数据的时间投影的索引方法及系统
KR20220074366A (ko) * 2020-11-27 2022-06-03 한국전력공사 시계열 데이터 관리 장치 및 방법
WO2022189582A1 (fr) 2021-03-11 2022-09-15 Stuteo Procede d'encodage d'au moins une serie temporelle dans une base de donnees

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113656397A (zh) * 2021-07-02 2021-11-16 阿里巴巴新加坡控股有限公司 一种针对时序数据的索引构建及查询的方法、装置
CN113806307A (zh) * 2021-08-09 2021-12-17 阿里巴巴(中国)有限公司 数据处理方法及装置
CN115604668B (zh) * 2022-12-09 2023-05-09 融合通信技术(天津)有限公司 短信发送和推送监控方法、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090007926A (ko) * 2007-07-16 2009-01-21 한양대학교 산학협력단 플래시 메모리에 저장된 데이터의 인덱스 정보 관리 장치및 방법
JP5844554B2 (ja) * 2011-06-08 2016-01-20 Jfeシステムズ株式会社 データ管理保存システム
KR20160083284A (ko) * 2014-12-30 2016-07-12 주식회사 포스코아이씨티 이기종 데이터베이스를 지원하는 제어기 관리 스테이션 및 이를 포함하는 제어 시스템
KR20160124744A (ko) * 2013-12-02 2016-10-28 큐베이스 엘엘씨 인-메모리 데이터베이스를 호스팅하는 시스템 및 방법
KR101780041B1 (ko) 2016-05-30 2017-09-19 주식회사 인피니플럭스 데이터베이스의 처리 속도 향상 방법 및 그 장치
JP6346378B2 (ja) * 2015-06-30 2018-06-20 株式会社日立製作所 データの管理装置及びデータの管理方法
KR20180126792A (ko) * 2017-05-18 2018-11-28 주식회사 알티베이스 분산인메모리기반 복합형스트림 데이터처리시스템 및 방법
KR101927066B1 (ko) * 2017-09-11 2018-12-10 (주)동림피엔디 도시조사 분석용 데이터 베이스 구축서버를 포함하는 도시조사 분석 서비스 제공 시스템

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090007926A (ko) * 2007-07-16 2009-01-21 한양대학교 산학협력단 플래시 메모리에 저장된 데이터의 인덱스 정보 관리 장치및 방법
JP5844554B2 (ja) * 2011-06-08 2016-01-20 Jfeシステムズ株式会社 データ管理保存システム
KR20160124744A (ko) * 2013-12-02 2016-10-28 큐베이스 엘엘씨 인-메모리 데이터베이스를 호스팅하는 시스템 및 방법
KR20160083284A (ko) * 2014-12-30 2016-07-12 주식회사 포스코아이씨티 이기종 데이터베이스를 지원하는 제어기 관리 스테이션 및 이를 포함하는 제어 시스템
JP6346378B2 (ja) * 2015-06-30 2018-06-20 株式会社日立製作所 データの管理装置及びデータの管理方法
KR101780041B1 (ko) 2016-05-30 2017-09-19 주식회사 인피니플럭스 데이터베이스의 처리 속도 향상 방법 및 그 장치
KR20180126792A (ko) * 2017-05-18 2018-11-28 주식회사 알티베이스 분산인메모리기반 복합형스트림 데이터처리시스템 및 방법
KR101927066B1 (ko) * 2017-09-11 2018-12-10 (주)동림피엔디 도시조사 분석용 데이터 베이스 구축서버를 포함하는 도시조사 분석 서비스 제공 시스템

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220074366A (ko) * 2020-11-27 2022-06-03 한국전력공사 시계열 데이터 관리 장치 및 방법
KR102450101B1 (ko) * 2020-11-27 2022-10-05 한국전력공사 시계열 데이터 관리 장치 및 방법
CN112650756A (zh) * 2020-12-29 2021-04-13 成都科来网络技术有限公司 一种基于时序数据的时间投影的索引方法及系统
CN112650756B (zh) * 2020-12-29 2023-05-02 科来网络技术股份有限公司 一种基于时序数据的时间投影的索引方法及系统
WO2022189582A1 (fr) 2021-03-11 2022-09-15 Stuteo Procede d'encodage d'au moins une serie temporelle dans une base de donnees
FR3120714A1 (fr) 2021-03-11 2022-09-16 Stuteo Procede d’encodage d’au moins une serie temporelle dans une base de donnees

Also Published As

Publication number Publication date
WO2021107211A1 (ko) 2021-06-03

Similar Documents

Publication Publication Date Title
KR102102313B1 (ko) 인메모리 데이터베이스 기반의 시계열 데이터 관리시스템
US10706105B2 (en) Merge tree garbage metrics
US6850925B2 (en) Query optimization by sub-plan memoization
EP2746970B1 (en) Timeline index for managing temporal data
US5899986A (en) Methods for collecting query workload based statistics on column groups identified by RDBMS optimizer
CN103020204B (zh) 一种对分布式顺序表进行多维区间查询的方法及其系统
CN102521406B (zh) 海量结构化数据复杂查询任务的分布式查询方法和系统
US20040205044A1 (en) Method for storing inverted index, method for on-line updating the same and inverted index mechanism
US10565201B2 (en) Query processing management in a database management system
US20070233720A1 (en) Lazy bulk insertion method for moving object indexing
CN107783985B (zh) 一种分布式数据库查询方法、装置及管理系统
CN109947796B (zh) 一种分布式数据库系统查询中间结果集的缓存方法
US11294861B2 (en) Data pruning based on metadata
CN112988863A (zh) 一种基于Elasticsearch的异构多数据源的高效搜索引擎方法
Myalapalli et al. High performance SQL
Joshi et al. Materialized sample views for database approximation
Srivastava et al. TBSAM: An access method for efficient processing of statistical queries
KR101331350B1 (ko) 데이터 큐브를 이용한 대용량 시계열 데이터 관리 방법
US20150134678A1 (en) Multi-Pass, Parallel Merge for Partitioned Intermediate Pages
CN108920664B (zh) 一种基于索引价值的数据库智能索引实现方法
KR102132877B1 (ko) 분산 데이터베이스 시스템의 대용량 텍스트 로그 데이터 분산 처리 방법
CN115391346A (zh) 数据库聚合索引的生成方法、存储介质与计算机设备
US9378229B1 (en) Index selection based on a compressed workload
JP2016062522A (ja) データベース管理システム、データベースシステム、データベース管理方法およびデータベース管理プログラム
KR100892406B1 (ko) 정보 검색 방법 및 그 시스템

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant