KR20200020347A - 센서 태그 데이터를 위한 색인 검색 방법 및 장치 - Google Patents

센서 태그 데이터를 위한 색인 검색 방법 및 장치 Download PDF

Info

Publication number
KR20200020347A
KR20200020347A KR1020180095950A KR20180095950A KR20200020347A KR 20200020347 A KR20200020347 A KR 20200020347A KR 1020180095950 A KR1020180095950 A KR 1020180095950A KR 20180095950 A KR20180095950 A KR 20180095950A KR 20200020347 A KR20200020347 A KR 20200020347A
Authority
KR
South Korea
Prior art keywords
data
index
time
tag
value
Prior art date
Application number
KR1020180095950A
Other languages
English (en)
Other versions
KR102177489B1 (ko
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 KR1020180095950A priority Critical patent/KR102177489B1/ko
Priority to US16/109,344 priority patent/US10706054B2/en
Publication of KR20200020347A publication Critical patent/KR20200020347A/ko
Application granted granted Critical
Publication of KR102177489B1 publication Critical patent/KR102177489B1/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/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • 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
    • 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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명에 따른 센서 태그 데이터를 위한 색인 검색 장치가 제공된다. 상기 장치는, 센서 태그 데이터가 시계열적으로 저장된 메모리; 센서 태그 데이터를 검색하기 위해 태그 명칭(tag name)과 시간(time) 구간 정보를 수신하는 인터페이스; 및 상기 시간 구간 정보에 기반하여 상기 센서 태그 데이터가 저장된 상기 메모리의 파티션(partition)을 결정하고, 상기 결정된 파티션에 대해 상기 태그 명칭 및 상기 시간 구간 정보에 기반하여 해당 색인과 리프 노드(index leaf node)를 결정하는 프로세서를 포함하고, 시계열 센서 태그 데이터에 대한 대부분의 질의 패턴을 만족하는 최적화된 색인 구조, 저장 및 검색 방법을 제공할 수 있다.

Description

센서 태그 데이터를 위한 색인 검색 방법 및 장치 {Method and device of searching index for sensor tag data}
본 발명은 센서 태그 데이터를 위한 색인 검색 방법 및 장치에 관한 것이다. 보다 상세하게는, 센서 태그 데이터를 위한 고속 데이터 입력 및 색인 방법 및 장치에 관한 것이다.
시계열 센서 데이터는 그 특징상 고속으로 대량의 데이터가 생성된다. 이를 통계연산을 통해 시각화하여 분석하는 것이 센서 데이터 처리의 주요 과제이다. 짧게는 몇 분에서 길게는 몇년간의 데이터를 조회하여 시각화하기 위해서 실시간으로 검색 및 통계를 실행하는 것은 강력한 빅데이터 처리 시스템으로도 불가능하다는 문제점이 있다.
센서 데이터 시각화를 데이터 관점에서 보면, 수천억 건의 데이터 중에서 특정 센서의 수백만 건의 데이터를 검색하고, 이 데이터를 시간 기준으로 정렬한다. 이러한 정렬된 데이터에 대해, 단위 시간 구간당의 데이터의 평균을 구하는 등의 연산을 수행하여 대표값을 얻고, 이를 시각화하는 것이다. 이때, 검색을 위해서 색인을 통한 대량의 디스크 I/O가 발생하고, 정렬 및 대표값을 얻기 위해 대량의 CPU 연산이 발생한다는 문제점이 있다.
한편, 이러한 센서 데이터 시각화와 관련하여, 센서 태그 데이터는 그 특징상 대량의 데이터가 매우 빠른 속도로 생성되는 특징이 있다. 따라서, 이러한 센서 태그 데이터를 효율적으로 저장, 압축, 검색할 필요가 있다.
하지만, 기존 기술은 연속된 공간에 센서 값 데이터가 존재하지 않아 색인을 사용하더라도 센서 데이터 질의시에 디스크 I/O가 많이 발생하여 성능이 저하되는 문제가 있었다. 따라서, 이러한 센서 값 데이터에 대하여 특정 처리를 통해 연속된 공간에 저장하고, 이러한 센서 태그 데이터에 대한 효과적인 색인 및 검색 방법이 필요하다.
본 발명은 전술한 문제점을 해결하기 위한 것으로, 시계열 센서 태그 데이터에 대한 최적화된 색인 구조, 저장 및 검색 방법을 제공한다.
또한, 본 발명은 센서 태그 데이터의 처리에 따른 막대한 연산 비용을 줄이기 위해서 센서 태그 데이터를 위한 고속 데이터 입력 및 색인 방법 및 장치를 제공한다.
본 발명에 따른 센서 태그 데이터를 위한 색인 검색 장치가 제공된다. 상기 장치는, 센서 태그 데이터가 시계열적으로 저장된 메모리; 센서 태그 데이터를 검색하기 위해 태그 명칭(tag name)과 시간(time) 구간 정보를 수신하는 인터페이스; 및 상기 시간 구간 정보에 기반하여 상기 센서 태그 데이터가 저장된 상기 메모리의 파티션(partition)을 결정하고, 상기 결정된 파티션에 대해 상기 태그 명칭 및 상기 시간 구간 정보에 기반하여 해당 색인과 리프 노드(index leaf node)를 결정하는 프로세서를 포함하고, 시계열 센서 태그 데이터에 대한 대부분의 질의 패턴을 만족하는 최적화된 색인 구조, 저장 및 검색 방법을 제공할 수 있다.
일 실시 예에서, 상기 메모리에 저장된 데이터는 <time, tag name, value>로 이루어진 레코드로 저장되고, 상기 저장된 레코드의 수가 최대 카운트까지 파티션 별로 저장될 수 있다. 이때, 상기 저장이 완료된 파티션에 <tag name, time>을 키(key)로 하여 색인이 생성되고, 상기 색인의 데이터 영역에 <value, rid>가 기록될 수 있다.
일 실시 예에서, 상기 레코드의 추가 데이터 컬럼은 상기 색인의 상기 rid를 이용하여 컬럼(column) 데이터 파일에서 판독 가능하도록 상기 메모리에 저장될 수 있다. 이때, 특정 tag name의 특정 시간 값은 상기 해당 색인의 상기 리프 노드에서 판독 가능하도록 구성될 수 있다.
일 실시 예에서, 상기 프로세서는, 상기 파티션으로 구성된 파티션 색인 파일이 일정 개수로 생성되면 병합(merge)하여 더 큰 색인 파일을 생성하고, 상기 병합 단계를 반복하여 1억 건 이상의 데이터를 하나의 색인 파일로 생성할 수 있다. 이때, 이전 단계에서 생성된 파티션된 제1 색인 파일로부터 다음 단계의 제2 색인 파일의 생성이 완료되면, 상기 프로세서는 상기 제2 색인 파일의 헤드(head) 영역과 테일(tail) 영역에 상기 제2 색인 파일의 완료 상태를 기록하고, 상기 제1 색인 파일을 삭제할 수 있다.
일 실시 예에서, 상기 병합 단계는 1차 병합 단계 및 2차 병합 단계로 구성되고, 상기 1차 병합 단계 이전의 복수의 블록들은 <Tag, Time, Value> 필드를 갖는 복수의 레코드로 구성될 수 있다. 이때, 상기 프로세서에 의해 수행되는 상기 1차 병합 단계 이후의 블록들은 <Tag, Count, Time, Value, Row ID> 필드로 구성되고, 상기 프로세서에 의해 수행되는 상기 2차 병합 단계 이후의 블록들은 <Tag & Meta, Time, Value, Row ID> 필드로 구성될 수 있다. 이때, 상기"Tag & Meta"필드는 Tag, Offset, Count 필드와 Time, Value, Row ID의 메타파일로 구성될 수 있다. 이에 따라, 상기 Time, Value, Row ID의 메타파일은 각각 Min, Max, Original Size, Compressed Size, Page, Offset 서브 필드를 갖도록 구성될 수 있다.
일 실시 예에서, 상기 리프 노드의 값(value)과 상기 rid를 획득하여 컬럼(column) 데이터 파일을 판독(read)할 수 있다.
일 실시 예에서, 상기 프로세서는, 상기 장치의 하드웨어 및 소프트웨어 비정상 동작(abnormal operation)으로 인한 비정상 종료(termination) 시 상기 장치를 재시작하기 위해 장애 복구 알고리즘(fault recovery algorithm)을 수행할 수 있다.
일 실시 예에서, 상기 프로세서는, 상기 색인 파일의 헤드(head) 영역과 테일(tail) 영역의 완료 상태에 기반하여, 상기 색인 파일의 병합이 진행 중인 상태에서 비정상 동작으로 인한 오류가 발생하였는 지 여부를 판단할 수 있다. 이때, 상기 오류가 발생한 경우, 상기 프로세서는, 상기 색인 파일을 삭제하고, 상기 병합 이전 단계의 제1 색인 파일을 이용하여 레코드 검색을 수행할 수 있다.
일 실시 예에서, 상기 프로세서는, 상기 색인 파일을 생성하지 않은 데이터 파일에 대하여, IO(Input/Output) 오류 발생 여부를 페이지 단위로 검증할 수 있다. 이때, 상기 프로세서는, 상기 데이터 파일에서 기록이 완료되지 않은 레코드들을 취소(rollback)로 처리할 수 있다.
본 발명의 적어도 일 실시예에 따르면, 시계열 센서 태그 데이터에 대한 대부분의 질의 패턴을 만족하는 최적화된 색인 구조, 저장 및 검색 방법을 제공할 수 있다.
또한, 본 발명의 적어도 일 실시예에 따르면, 센서 태그 데이터를 위한 고속 데이터 입력 및 색인 방법 및 장치를 제공하여, 센서 태그 데이터의 처리에 따른 막대한 연산 비용을 줄일 수 있다는 장점이 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명에 센서 태그 데이터를 위한 색인 검색 장치의 구성을 나타낸다.
도 2는 본 발명의 일 실시예에 따른 태그 인덱스 데이터를 병합하는 과정을 나타내는 개념도이다.
도 3은 본 발명에 따른 시간 구간에 따라 복수의 파티션 구조로 색인화된 센서 태그 데이터와 질의를 이용하여 해당 파티션을 선정하는 개념을 나타낸다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우, 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1 , 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 발명을 명확하게 설명하기 위하여 설명과 관계없는 부분은 도면에서 생략하였고, 명세서 전체에 걸쳐서 동일한 참조부호들은 동일한 구성요소들을 나타낸다.
이하, 본 발명에 따른 센서 태그 데이터를 위한 색인 검색 장치에 대해 설명하도록 한다.
본 발명에 따른 센서 태그 데이터는 그 특징상 대량의 데이터가 매우 빠른 속도로 생성되는 특징이 있다. 본 발명은 이러한 센서 태그 데이터를 보다 효율적으로 저장, 압축, 검색하는 방법에 대한 것이다.
센서 태그 데이터는 .<Time, TagName, Value, 추가 옵션 컬럼들>과 같은 컬럼들을 갖는 레코드 형태의 데이터이다. 이러한 센서 태그 데이터는 아래와 같이 Tagname 및 time 조건절을 이용하여 검색될 수 있다. value 및 추가 옵션 칼럼에 대한 검색은 full scan으로 실행한다.
SELECT tagname, time, value from tag where tagname in ('a', 'b', 'c') and time between FromTime and ToTime order by 1, 2;
위와 같은 질의(query)가 센서 태그 데이터에 대한 질의 중 거의 대부분을 차지한다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시를 위한 구체적인 내용을 설명하도록 한다.
도 1은 본 발명에 센서 태그 데이터를 위한 색인 검색 장치의 구성을 나타낸다.
도 1을 참조하면, 센서 태그 데이터를 위한 색인 검색 장치는 프로세서(100), 메모리(200) 및 인터페이스(300)를 포함한다. 한편, 메모리(200)는 제1 메모리(210), 제2 메모리(220)를 포함할 수 있다. 여기서, 제1 메모리(210)와 제2 메모리(220)는 각각 원본 데이터와 색인 데이터가 저장되는 메모리의 영역을 지칭할 수 있다. 또는, 제1 메모리(210)와 제2 메모리(220)는 병합 이전의 데이터와 병합 이후의 데이터가 저장되는 메모리의 영역을 지칭할 수 있다.
이에 따라, 제1 메모리(220)에는 센서 태그 데이터가 저장되도록 구성될 수 있다. 또한, 제2 메모리(220)에는 색인 형태의 센서 태그 데이터 또는 병합된 색인 형태의 센서 태그 데이터가 시계열적으로 저장될 수 있다.
인터페이스(300)는 센서 태그 데이터를 검색하기 위해 태그 명칭(tag name)과 시간(time) 구간 정보를 수신하도록 구성된다.
이와 관련하여, 본 발명에 따른 고속 데이터 입력 및 저장 과정에 대해 살펴보면 다음과 같다.
데이터 입력과 색인 생성에 따른 부하를 없애기 위해서 입력된 데이터는 <time, tagname, value>는 하나의 레코드 형태로 저장하고, 추가 칼럼은 칼럼별로 저장한다. 입력된 레코드의 수가 파티션 최대 카운트까지 단순 저장되며 색인이 없으므로 이 데이터에 대해서는 색인 검색을 수행하지 않고 전체 데이터 스캔을 실행한다.
이러한 컬럼 별 데이터 저장과 파티션에 따른 데이터 스캔에 대한 상세한 동작을 프로세서(100) 측면에서 검토하면 다음과 같다.
프로세서(100)는 시간 구간 정보에 기반하여 상기 센서 태그 데이터가 저장된 상기 메모리의 파티션(partition)을 결정하도록 구성된다. 또한, 프로세서(100)는 상기 결정된 파티션에 대해 상기 태그 명칭 및 상기 시간 구간 정보에 기반하여 해당 색인과 리프 노드(index leaf node)를 결정하도록 구성된다.
한편, 본 발명에 따른 색인 생성 및 데이터 압축 과정에 대해 검토하면 다음과 같다.
입력이 완료된 파티션은 <tagname,time>을 키로 하여 색인을 생성하고, 색인의 데이터 영역에 <value, rid>를 기록한다. 색인의 생성이 완료되면, 기존 생성한 파티션 데이터 파일을 삭제한다. 추가 데이터 칼럼은 색인의 rid를 이용하여 칼럼 데이터 파일에서 읽을 수 있으며, 특정 tagname의 특정 시간값은 색인의 leaf node에서 바로 읽을 수 있도록 한다. value/rid로 구성된 결과 값은 색인 파일 내에서 tagname,time 칼럼에 대해서 정렬된 상태로 기록된다.
생성된 파티션 색인 파일은 일정 갯수가 생성되면 merge하여 더 큰 색인을 만들고, 이를 몇번 반복하여 최종적으로 1억건의 데이터를 하나의 색인 파일로 생성한다. 이전 단계에서 생성한 파티션된 색인 파일은 다음 단계의 색인 파일의 생성이 완료하면 그 색인 파일의 head 영역과 tail 영역에 완료 상태를 기록하고, 이전 단계의 색인을 삭제한다.
색인의 리프 노드(leaf node)에 기록되는 value/rid값은 디스크에 기록될 때 실시간 압축을 통하여 기록되며, 읽혀질 때에도 압축을 해제하여 읽어 들인다. 결과적으로 생성된 색인 파일은 다음과 같은 형태로 생성된다.
tagname time value/rid
tag001 00:00 20/0
00:01 21/2
00:02 22/4
00:03 21/6
tag002 00:01 80/1
00:02 80/3
00:03 81/5
00:04 81/7
이때, 센서 태그 데이터는 tagname-time의 순으로 정렬되어 저장된다.
한편, 도 2는 본 발명의 일 실시예에 따른 태그 인덱스 데이터를 병합하는 과정을 나타내는 개념도이다. 도 2를 참조하면, 태그 인덱스 데이터를 병합하는 예는 아래와 같다. 최초 단계의 데이터 파티션 크기는 4로 가정한다. tag name은 숫자로 치환하여 tag 칼럼으로 나타내었다.
도 2를 참조하면, <Tag, Time, Value> 필드를 갖는 복수 개의 레코드로 구성된 복수의 블록(Block)들이 병합(merge)됨을 나타낸다. 예를 들어, 병합 이전의 블록 0과 블록 1이 병합되어 블록 0-1을 구성하고, 블록 2와 블록 3이 병합되어 블록2-3을 구성함을 나타낸다. 병합된 블록 0-1과 블록 2-3은 <Tag, Count, Time, Value, Row ID> 필드로 구성된다. 여기서, "count" 필드는 동일한 태그를 갖는 레코드의 수를 나타낸다. 예를 들어, 병합 이전의 블록 0과 블록 1은 각각 태그 ID가 0인 레코드가 각각 2개와 1개이다. 이에 따라, 병합된 블록 0-1은 태그 ID가 0인 레코드의 개수가 3임을 "count"필드 값을 통해 알 수 있다. 한편, "Row ID"는 태그 ID에 따라 나열된 레코드의 순서를 나타낸다. 예를 들어, 병합 이전의 블록 0의 레코드의 "Row ID"는 순서대로 0에서 3이 할당(assign)된다. 또한, 병합 이전의 블록 1의 레코드의 "Row ID"는 순서대로 4에서 7이 할당된다. 병합 이후의 블록 0-1의 태그 ID가 0인 레코드는 각각 블록 0의 0, 2번째 행 (레코드 0, 2)과 블록 1의 0번째 행 (레코드 4)에 해당한다. 따라서, 병합 이후의 블록 0-1의 태그 ID가 0인 레코드의 "Row ID"는 각각 0, 2, 4에 해당한다.
한편, 1차 병합된 블록 0-1과 블록 2-3은 2차 병합 과정을 통해 블록 0-3을 생성한다. 이때, 2차 병합된 블록은 <Tag & Meta, Time, Value, Row ID> 필드로 구성된다. 여기서, "Tag & Meta"필드는 Tag, Offset, Count 필드와 Time, Value, Row ID의 메타파일로 구성된다. 여기서, Time, Value, Row ID의 메타파일은 각각 Min, Max, Original Size, Compressed Size, Page, Offset 서브 필드를 갖는다. 이와 같이 계층화된 1차 병합 과정과 2차 병합 과정을 통해 병합 단계를 반복하여 1억 건 이상의 데이터를 하나의 색인 파일로 생성할 수 있다는 장점이 있다. 또한, 이전 단계에서 생성된 파티션된 제1 색인 파일로부터 다음 단계의 제2 색인 파일의 생성이 완료되면, 상기 제2 색인 파일의 헤드(head) 영역과 테일(tail) 영역에 상기 제2 색인 파일의 완료 상태를 기록하고, 상기 제1 색인 파일을 삭제할 수 있다는 장점이 있다.
한편, tagname-time 순으로 정렬된 태그 데이터와 관련하여, 본 발명에 따른 색인 생성 및 데이터 압축 과정에 대해 메모리(200)에 저장된 구조와 프로세서(100) 동작 측면에서 검토하면 다음과 같다.
한편, 상기 메모리(200)에 저장된 데이터는 <time, tag name, value>로 이루어진 레코드로 저장되고, 상기 저장된 레코드의 수가 최대 카운트까지 파티션 별로 저장될 수 있다. 이때, 상기 저장이 완료된 파티션에 <tag name, time>을 키(key)로 하여 색인이 생성되고, 상기 색인의 데이터 영역에 <value, rid>가 기록될 수 있다.
한편, 상기 레코드의 추가 데이터 컬럼은 상기 색인의 상기 rid를 이용하여 컬럼(column) 데이터 파일에서 판독 가능하도록 상기 메모리(200)에 저장될 수 있다. 이때, 특정 tag name의 특정 시간 값은 상기 해당 색인의 상기 리프 노드에서 판독 가능하도록 구성될 수 있다.
한편, 상기 프로세서(100)는 색인 파일의 병합 단계를 수행하여 계층화된 색인 구조를 생성할 수 있다. 또는, 상기 프로세서(100)는 색인 파일의 병합 단계를 수행하여 더 큰 색인 크기를 갖는 색인 구조를 생성할 수 있다.
이와 관련하여, 상기 프로세서(100)는 상기 파티션으로 구성된 파티션 색인 파일이 일정 개수로 생성되면 병합(merge)하여 더 큰 색인 파일을 생성할 수 있다. 이에 따라, 상기 프로세서(100)는 상기 병합 단계를 반복하여 1억 건 이상의 데이터를 하나의 색인 파일로 생성할 수 있다.
이때, 이전 단계에서 생성된 파티션된 제1 색인 파일로부터 다음 단계의 제2 색인 파일의 생성이 완료되면 상기 프로세서(100)는 다음과 같은 동작을 수행할 수 있다. 즉, 상기 프로세서(100)는 상기 제2 색인 파일의 헤드(head) 영역과 테일(tail) 영역에 상기 제2 색인 파일의 완료 상태를 기록하고, 상기 제1 색인 파일을 삭제할 수 있다.
구체적으로, 상기 프로세서(100)는 1차 병합 단계 및 2차 병합 단계로 구성된 상기 병합 단계를 수행할 수 있다. 이때, 상기 1차 병합 단계 이전의 복수의 블록들은 <Tag, Time, Value> 필드를 갖는 복수의 레코드로 구성된다. 한편, 상기 프로세서(100)에 의해 수행되는 상기 1차 병합 단계 이후의 블록들은 <Tag, Count, Time, Value, Row ID> 필드로 구성된다. 또한, 상기 프로세서(100)에 의해 수행되는 상기 2차 병합 단계 이후의 블록들은 <Tag & Meta, Time, Value, Row ID> 필드로 구성된다. 이때, 상기"Tag & Meta"필드는 Tag, Offset, Count 필드와 Time, Value, Row ID의 메타파일로 구성된다. 이와 관련하여, 상기 Time, Value, Row ID의 메타파일은 각각 Min, Max, Original Size, Compressed Size, Page, Offset 서브 필드를 갖도록 구성될 수 있다.
한편, 상기 프로세서(100)는 상기 리프 노드의 값(value)과 상기 rid를 획득하여 컬럼(column) 데이터 파일을 판독(read)할 수 있다.
한편, 본 발명에 따른 색인화된 센서 태그 데이터의 장애 복구(fault recovery) 과정에 대해 검토하면 다음과 같다.
하드웨어(HW) 및 소프트웨어(SW) 고장으로 인하여 비정상 종료 시 문제 없이 서비스를 재시작 하기 위해서 장애 복구 알고리즘은 다음과 같다.
1. 이미 병합(merge)이 완료되어 더 이상 신규로 기록되지 않은 데이터에 대해서는 장애복구가 필요 없다. 데이터 갱신이 없는 센서 데이터이므로 운영체제에서 파일의 영속성을 지원하기 때문이다.
2. 색인 병합이 진행중인 상태에서 오류가 발생한 경우 - 이것은 색인 파일의 head/tail의 완료 상태를 읽어서 검증이 가능하다. - 그 색인 파일을 삭제하고, merge 이전 단계의 파일을 검색에 이용한다. 색인 병합이 완료되지 않은 경우에는 병합 대상 색인 파일이 삭제되지 않았으며, 병합 대상 색인 파일 자체는 그보다 아랫단계의 색인 파일에 대한 병합이 완료된 상태이므로 문제 없이 검색이 가능하다.
3. 색인을 생성하지 않은 데이터파일의 경우, IO오류를 페이지 단위로 검증하여 기록이 완료되지 않은 레코드들은 취소로 처리한다.
전술된 오류/장애 복구 과정과 관련하여, 프로세서(100) 동작 측면에서 검토하면 다음과 같다.
이와 관련하여, 상기 프로세서(100)는 상기 장치의 하드웨어 및 소프트웨어 비정상 동작(abnormal operation)으로 인한 비정상 종료(termination) 시 상기 장치를 재시작하기 위해 장애 복구 알고리즘(fault recovery algorithm)을 수행할 수 있다. 이와 관련하여, 상기 프로세서(100)는 상기 색인파일의 병합이 완료되면 더 이상 신규로 데이터가 기록되지 않아 데이터 갱신이 없는 센서 데이터에 대해서는 장애 복구 동작을 수행하지 않는다.
한편, 상기 프로세서(100)는 상기 색인 파일의 헤드(head) 영역과 테일(tail) 영역의 완료 상태에 기반하여, 상기 색인 파일의 병합이 진행 중인 상태에서 비정상 동작으로 인한 오류가 발생하였는 지 여부를 판단할 수 있다. 이때, 상기 오류가 발생한 경우, 상기 프로세서(100)는 상기 색인 파일을 삭제하고, 상기 병합 이전 단계의 제1 색인 파일을 이용하여 레코드 검색을 수행할 수 있다.
한편, 상기 프로세서(100)는 상기 색인 파일을 생성하지 않은 데이터 파일에 대하여, IO(Input/Output) 오류 발생 여부를 페이지 단위로 검증(verify)할 수 있다. 이때, 상기 데이터 파일에서 기록이 완료되지 않은 레코드들을 취소(rollback)로 처리할 수 있다.
다음으로, 본 발명에 따른 센서 태그 데이터를 위한 색인 검색 방법에 대해 상세하게 검토하면 다음과 같다.
시계열 센서 태그 데이터는 거의 항상 tagname-time의 조건을 갖고 데이터를 검색하기 때문에 위의 색인 구조를 tagname-time의 순서로 탐색하여 데이터를 읽어 들인다. 이때, 하나의 tagname과 시간에 대해서 연속된 디스크 공간에 데이터가 기록되기 때문에 항상 최소한의 디스크 입출력으로 데이터를 검색할 수 있다.
이와 관련하여, 도 3은 본 발명에 따른 시간 구간에 따라 복수의 파티션 구조로 색인화된 센서 태그 데이터와 질의를 이용하여 해당 파티션을 선정하는 개념을 나타낸다.
도 3과 관련하여, 여러 파티션에서 tagname은 반복적으로 나타날 수 있다. (실시간 입력시 센서 데이터들이 시간 기준으로 지속적으로 나타남) 그러나 시간값 기준으로 보면 과거에서 현재 순으로 입력되는 것이 보통이다. 그러므로, 파티션의 최소 및 최대 시간의 값을 메모리에 유지하고 있다면, 입력시간 조건으로 여러 개의 파티션을 읽지 않을 수 있다. 인덱스를 merge할 경우 각 time값의 최소, 최대값을 얻어서 파티션 헤더에 기록하고, 이 정보를 유지한다.
위 과정을 통해 검색해야 할 파티션이 선정되면, 각 색인 파티션에 대해서, tagid, time값으로 원하는 색인과 리프(leaf) 노드를 결정하고, 그 leaf node의 value값과, 필요한 경우 rid를 얻어 칼럼 데이터 파일을 읽어 들인다.
한편, 전술된 검색 방법을 프로세서(100)와 메모리(200) 측면에서 검토하면 다음과 같다.
메모리(200)에 저장된 데이터는 <time, tag name, value>로 이루어진 레코드로 저장되고, 상기 저장된 레코드의 수가 최대 카운트까지 파티션 별로 저장된다. 이때, 상기 저장이 완료된 파티션에 <tag name, time>을 키(key)로 하여 색인이 생성되고, 상기 색인의 데이터 영역에 <value, rid>가 기록될 수 있다.
한편, 상기 레코드의 추가 데이터 컬럼은 상기 색인의 상기 rid를 이용하여 컬럼(column) 데이터 파일에서 판독 가능하도록 상기 메모리(200)에 저장될 수 있다. 이때, 특정 tag name의 특정 시간 값은 상기 해당 색인의 상기 리프 노드에서 판독 가능하도록 구성될 수 있다.
한편, 프로세서(100)는 상기 시간 구간 정보에 기반하여 상기 센서 태그 데이터가 저장된 상기 메모리의 파티션(partition)을 결정한다. 또한, 프로세서(100)는 상기 결정된 파티션에 대해 상기 태그 명칭 및 상기 시간 구간 정보에 기반하여 해당 색인과 리프 노드(index leaf node)를 결정한다. 또한, 프로세서(100)는 상기 리프 노드의 값(value)과 상기 rid를 획득하여 컬럼(column) 데이터 파일을 판독(read)할 수 있다.
이상에서는 본 발명에 따른 센서 태그 데이터를 위한 색인 검색 방법 및 장치에 대해 살펴보았다.
본 발명의 적어도 일 실시예에 따르면, 시계열 센서 태그 데이터에 대한 대부분의 질의 패턴을 만족하는 최적화된 색인 구조, 저장 및 검색 방법을 제공할 수 있다는 장점이 있다.
또한, 본 발명의 적어도 일 실시예에 따르면, 센서 태그 데이터를 위한 고속 데이터 입력 및 색인 방법 및 장치를 제공하여, 센서 태그 데이터의 처리에 따른 막대한 연산 비용을 줄일 수 있다는 장점이 있다.
한편, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.
본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 프로세서
200: 메모리
210: 제1 메모리
220: 제2 메모리
300: 인터페이스

Claims (9)

  1. 센서 태그 데이터를 위한 색인 검색 장치에 있어서,
    센서 태그 데이터가 시계열적으로 저장된 메모리;
    센서 태그 데이터를 검색하기 위해 태그 명칭(tag name)과 시간(time) 구간 정보를 수신하는 인터페이스;
    상기 시간 구간 정보에 기반하여 상기 센서 태그 데이터가 저장된 상기 메모리의 파티션(partition)을 결정하고, 상기 결정된 파티션에 대해 상기 태그 명칭 및 상기 시간 구간 정보에 기반하여 해당 색인과 리프 노드(index leaf node)를 결정하는 프로세서를 포함하는, 센서 태그 데이터를 위한 색인 검색 장치.
  2. 제1 항에 있어서,
    상기 메모리에 저장된 데이터는 <time, tag name, value>로 이루어진 레코드로 저장되고, 상기 저장된 레코드의 수가 최대 카운트까지 파티션 별로 저장되고,
    상기 저장이 완료된 파티션에 <tag name, time>을 키(key)로 하여 색인이 생성되고, 상기 색인의 데이터 영역에 <value, rid>가 기록되는 것을 특징으로 하는, 센서 태그 데이터를 위한 색인 검색 장치.
  3. 제2 항에 있어서,
    상기 레코드의 추가 데이터 컬럼은 상기 색인의 상기 rid를 이용하여 컬럼(column) 데이터 파일에서 판독 가능하도록 상기 메모리에 저장되고,
    특정 tag name의 특정 시간 값은 상기 해당 색인의 상기 리프 노드에서 판독 가능하도록 구성되는 것을 특징으로 하는, 센서 태그 데이터를 위한 색인 검색 장치.
  4. 제2 항에 있어서,
    상기 프로세서는,
    상기 파티션으로 구성된 파티션 색인 파일이 일정 개수로 생성되면 병합(merge)하여 더 큰 색인 파일을 생성하고, 상기 병합 단계를 반복하여 1억 건 이상의 데이터를 하나의 색인 파일로 생성하고,
    이전 단계에서 생성된 파티션된 제1 색인 파일로부터 다음 단계의 제2 색인 파일의 생성이 완료되면, 상기 제2 색인 파일의 헤드(head) 영역과 테일(tail) 영역에 상기 제2 색인 파일의 완료 상태를 기록하고, 상기 제1 색인 파일을 삭제하는 것을 특징으로 하는, 센서 태그 데이터를 위한 색인 검색 장치.
  5. 제4 항에 있어서,
    상기 병합 단계는 1차 병합 단계 및 2차 병합 단계로 구성되고,
    상기 1차 병합 단계 이전의 복수의 블록들은 <Tag, Time, Value> 필드를 갖는 복수의 레코드로 구성되고,
    상기 프로세서에 의해 수행되는 상기 1차 병합 단계 이후의 블록들은 <Tag, Count, Time, Value, Row ID> 필드로 구성되고,
    상기 프로세서에 의해 수행되는 상기 2차 병합 단계 이후의 블록들은 <Tag & Meta, Time, Value, Row ID> 필드로 구성되고,
    상기"Tag & Meta"필드는 Tag, Offset, Count 필드와 Time, Value, Row ID의 메타파일로 구성되고,
    상기 Time, Value, Row ID의 메타파일은 각각 Min, Max, Original Size, Compressed Size, Page, Offset 서브 필드를 갖는 것을 특징으로 하는, 센서 태그 데이터를 위한 색인 검색 장치.
  6. 제2 항에 있어서,
    상기 프로세서는,
    상기 리프 노드의 값(value)과 상기 rid를 획득하여 컬럼(column) 데이터 파일을 판독(read)하는 것을 특징으로 하는, 센서 태그 데이터를 위한 색인 검색 장치.
  7. 제2 항에 있어서,
    상기 프로세서는,
    상기 장치의 하드웨어 및 소프트웨어 비정상 동작(abnormal operation)으로 인한 비정상 종료(termination) 시 상기 장치를 재시작하기 위해 장애 복구 알고리즘(fault recovery algorithm)을 수행하고,
    상기 색인파일의 병합이 완료되면 더 이상 신규로 데이터가 기록되지 않아 데이터 갱신이 없는 센서 데이터에 대해서는 장애 복구 동작을 수행하지 않는 것을 특징으로 하는, 센서 태그 데이터를 위한 색인 검색 장치.
  8. 제7 항에 있어서,
    상기 프로세서는,
    상기 색인 파일의 헤드(head) 영역과 테일(tail) 영역의 완료 상태에 기반하여, 상기 색인 파일의 병합이 진행 중인 상태에서 비정상 동작으로 인한 오류가 발생하였는 지 여부를 판단하고,
    상기 오류가 발생한 경우, 상기 색인 파일을 삭제하고, 상기 병합 이전 단계의 제1 색인 파일을 이용하여 레코드 검색을 수행하는 것을 특징으로 하는, 센서 태그 데이터를 위한 색인 검색 장치.
  9. 제8 항에 있어서,
    상기 프로세서는,
    상기 색인 파일을 생성하지 않은 데이터 파일에 대하여, IO(Input/Output) 오류 발생 여부를 페이지 단위로 검증하고,
    상기 데이터 파일에서 기록이 완료되지 않은 레코드들을 취소(rollback)로 처리하는 것을 특징으로 하는, 센서 태그 데이터를 위한 색인 검색 장치.
KR1020180095950A 2018-08-17 2018-08-17 센서 태그 데이터를 위한 색인 검색 방법 및 장치 KR102177489B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180095950A KR102177489B1 (ko) 2018-08-17 2018-08-17 센서 태그 데이터를 위한 색인 검색 방법 및 장치
US16/109,344 US10706054B2 (en) 2018-08-17 2018-08-22 Method and device for searching indexes for sensor tag data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180095950A KR102177489B1 (ko) 2018-08-17 2018-08-17 센서 태그 데이터를 위한 색인 검색 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200020347A true KR20200020347A (ko) 2020-02-26
KR102177489B1 KR102177489B1 (ko) 2020-11-11

Family

ID=69524135

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180095950A KR102177489B1 (ko) 2018-08-17 2018-08-17 센서 태그 데이터를 위한 색인 검색 방법 및 장치

Country Status (2)

Country Link
US (1) US10706054B2 (ko)
KR (1) KR102177489B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022177070A1 (ko) * 2021-02-18 2022-08-25 한국전자기술연구원 파편적 데이터 검색 장치 및 방법

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12013895B2 (en) 2016-09-26 2024-06-18 Splunk Inc. Processing data using containerized nodes in a containerized scalable environment
US11604795B2 (en) 2016-09-26 2023-03-14 Splunk Inc. Distributing partial results from an external data system between worker nodes
US10956415B2 (en) 2016-09-26 2021-03-23 Splunk Inc. Generating a subquery for an external data system using a configuration file
US10353965B2 (en) 2016-09-26 2019-07-16 Splunk Inc. Data fabric service system architecture
US11620336B1 (en) 2016-09-26 2023-04-04 Splunk Inc. Managing and storing buckets to a remote shared storage system based on a collective bucket size
US11860940B1 (en) 2016-09-26 2024-01-02 Splunk Inc. Identifying buckets for query execution using a catalog of buckets
US11921672B2 (en) 2017-07-31 2024-03-05 Splunk Inc. Query execution at a remote heterogeneous data store of a data fabric service
US11989194B2 (en) * 2017-07-31 2024-05-21 Splunk Inc. Addressing memory limits for partition tracking among worker nodes
US11334543B1 (en) 2018-04-30 2022-05-17 Splunk Inc. Scalable bucket merging for a data intake and query system
US11494380B2 (en) 2019-10-18 2022-11-08 Splunk Inc. Management of distributed computing framework components in a data fabric service system
US11922222B1 (en) 2020-01-30 2024-03-05 Splunk Inc. Generating a modified component for a data intake and query system using an isolated execution environment image
US11704313B1 (en) 2020-10-19 2023-07-18 Splunk Inc. Parallel branch operation using intermediary nodes
CN112307180A (zh) * 2020-10-22 2021-02-02 上海芯翌智能科技有限公司 一种基于标签对象的快速检索方法及设备
US11496232B1 (en) * 2021-05-03 2022-11-08 Nihon Kohden Digital Health Solutions, Inc. Waveform synchronization system for data received from a network
CN113254451B (zh) * 2021-06-01 2022-04-19 北京城市网邻信息技术有限公司 一种数据索引构建方法、装置、电子设备及存储介质
US20230214367A1 (en) * 2022-01-05 2023-07-06 AVAST Software s.r.o. System and method for data compression and decompression

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100687616B1 (ko) * 2004-12-01 2007-02-27 엘지노텔 주식회사 프로세서의 장애 감지 복구 장치 및 그 방법
US20130138629A1 (en) * 2011-11-29 2013-05-30 Sybase, Inc. Index-based evaluation of path-based queries
US20150120749A1 (en) * 2013-10-30 2015-04-30 Microsoft Corporation Data management for connected devices
US20160062852A1 (en) * 2009-12-11 2016-03-03 International Business Machines Corporation Transaction Recovery in a Transaction Processing Computer System Employing Multiple Transaction Managers
KR101656077B1 (ko) 2015-10-28 2016-09-08 주식회사 인피니플럭스 암시적 타임 칼럼값을 이용한 시간 기반 파티셔닝 시스템 및 방법
KR101744892B1 (ko) * 2016-03-17 2017-06-09 주식회사 젠시스템즈 시계열 계층 인덱싱을 이용한 데이터 검색 시스템 및 데이터 검색 방법
KR101787472B1 (ko) * 2016-06-08 2017-10-18 한국전자통신연구원 색인 태그 갱신 장치 및 방법
KR20180008774A (ko) * 2015-11-04 2018-01-24 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 파일 저장 시의 색인 구현 방법 및 시스템

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4163870B2 (ja) * 2001-12-28 2008-10-08 富士通株式会社 構造化文書変換装置
US7702628B1 (en) * 2003-09-29 2010-04-20 Sun Microsystems, Inc. Implementing a fully dynamic lock-free hash table without dummy nodes
US7523088B2 (en) * 2004-03-31 2009-04-21 International Business Machines Corporation Method for increasing system resource availability in database management systems
US8290977B2 (en) * 2004-10-21 2012-10-16 Sybase Inc. Database system providing methodology for execution of functions in XML queries
US20070174695A1 (en) * 2006-01-18 2007-07-26 Srinidhi Varadarajan Log-based rollback-recovery
US8620884B2 (en) * 2008-10-24 2013-12-31 Microsoft Corporation Scalable blob storage integrated with scalable structured storage
US8756198B2 (en) * 2010-09-29 2014-06-17 International Business Machines Corporation Enhancing data store backup times
US8595267B2 (en) * 2011-06-27 2013-11-26 Amazon Technologies, Inc. System and method for implementing a scalable data storage service
US9569511B2 (en) * 2011-08-25 2017-02-14 Salesforce.Com, Inc. Dynamic data management
US8965849B1 (en) * 2012-08-06 2015-02-24 Amazon Technologies, Inc. Static sorted index replication
US9063967B2 (en) * 2013-01-10 2015-06-23 Pure Storage, Inc. Performing copies in a storage system
US9218383B2 (en) * 2013-03-15 2015-12-22 International Business Machines Corporation Differentiated secondary index maintenance in log structured NoSQL data stores
US9208335B2 (en) * 2013-09-17 2015-12-08 Auburn University Space-time separated and jointly evolving relationship-based network access and data protection system
US10146814B1 (en) * 2015-09-18 2018-12-04 Amazon Technologies, Inc. Recommending provisioned throughput capacity for generating a secondary index for an online table
JP6327234B2 (ja) * 2015-11-06 2018-05-23 横河電機株式会社 イベント解析装置、イベント解析システム、イベント解析方法、およびイベント解析プログラム
US20180285494A1 (en) * 2017-02-22 2018-10-04 Woodside Energy Technologies Pty Ltd Model management system
US20180341271A1 (en) * 2017-05-29 2018-11-29 Ants Technology (Hk) Limited Environment exploration system and method
US20180349095A1 (en) * 2017-06-06 2018-12-06 ScaleFlux, Inc. Log-structured merge tree based data storage architecture
US10672203B2 (en) * 2017-07-07 2020-06-02 Toyota Jidosha Kabushiki Kaisha Olfactory-based vehicle diagnostics
US11210181B2 (en) * 2017-09-29 2021-12-28 Jpmorgan Chase Bank, N.A. System and method for implementing data manipulation language (DML) on Hadoop
US11256667B2 (en) * 2017-10-26 2022-02-22 Druva Inc. Deduplicated merged indexed object storage file system
US11804303B2 (en) * 2018-03-01 2023-10-31 Reciprocal Labs Corporation Evaluation of respiratory disease risk in a geographic region based on medicament device monitoring
US11288287B2 (en) * 2018-07-31 2022-03-29 Mcafee, Llc Methods and apparatus to partition a database

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100687616B1 (ko) * 2004-12-01 2007-02-27 엘지노텔 주식회사 프로세서의 장애 감지 복구 장치 및 그 방법
US20160062852A1 (en) * 2009-12-11 2016-03-03 International Business Machines Corporation Transaction Recovery in a Transaction Processing Computer System Employing Multiple Transaction Managers
US20130138629A1 (en) * 2011-11-29 2013-05-30 Sybase, Inc. Index-based evaluation of path-based queries
US20150120749A1 (en) * 2013-10-30 2015-04-30 Microsoft Corporation Data management for connected devices
KR101656077B1 (ko) 2015-10-28 2016-09-08 주식회사 인피니플럭스 암시적 타임 칼럼값을 이용한 시간 기반 파티셔닝 시스템 및 방법
KR20180008774A (ko) * 2015-11-04 2018-01-24 텐센트 테크놀로지(센젠) 컴퍼니 리미티드 파일 저장 시의 색인 구현 방법 및 시스템
KR101744892B1 (ko) * 2016-03-17 2017-06-09 주식회사 젠시스템즈 시계열 계층 인덱싱을 이용한 데이터 검색 시스템 및 데이터 검색 방법
KR101787472B1 (ko) * 2016-06-08 2017-10-18 한국전자통신연구원 색인 태그 갱신 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022177070A1 (ko) * 2021-02-18 2022-08-25 한국전자기술연구원 파편적 데이터 검색 장치 및 방법

Also Published As

Publication number Publication date
US10706054B2 (en) 2020-07-07
KR102177489B1 (ko) 2020-11-11
US20200057818A1 (en) 2020-02-20

Similar Documents

Publication Publication Date Title
KR102177489B1 (ko) 센서 태그 데이터를 위한 색인 검색 방법 및 장치
EP1566753B1 (en) Searchable archive
CN110781231A (zh) 基于数据库的批量导入方法、装置、设备及存储介质
KR101696338B1 (ko) 컬럼-인덱스 데이터 포맷을 이용하여 빅데이터를 효율적으로 처리 및 분석하는 시스템 및 방법
US10810197B2 (en) Method and database computer system for performing a database query using a bitmap index
US11080234B2 (en) Computer readable recording medium for index generation
US20140337315A1 (en) Method and system for storing, organizing and processing data in a relational database
US20020059281A1 (en) Method for creating an index and method for searching an index
US20090077078A1 (en) Methods and systems for merging data sets
WO2017005192A1 (en) Mechanisms for merging index structures in molap while preserving query consistency
CN110716739B (zh) 一种代码变更信息统计方法、系统和可读存储介质
CN105556474A (zh) 管理数据操作的存储器和存储空间
CN110851437A (zh) 一种存储方法、装置及设备
CN114297196A (zh) 元数据存储方法、装置、电子设备及存储介质
US20200327253A1 (en) Method for analysis on interim result data of de-identification procedure, apparatus for the same, computer program for the same, and recording medium storing computer program thereof
Aydin et al. Data modelling for large-scale social media analytics: design challenges and lessons learned
CN113177143B (zh) 时序数据访问方法、装置、存储介质及电子设备
KR101795564B1 (ko) 컬럼-인덱스 데이터 포맷을 이용하여 빅데이터를 효율적으로 처리 및 분석하는 시스템 및 방법
CN111459949B (zh) 针对数据库的数据处理方法、装置及设备和索引更新方法
CN116303667A (zh) 基于数据服务平台的时序数据持久化的方法及系统
US10749764B2 (en) Device for generating and searching sensor tag data in real time
CN108460048B (zh) 一种查询唯一值的方法及设备
CN116303259A (zh) 一种避免数据重复的方法、装置、设备及介质
CN118260330A (zh) 业务数据存储方法、装置、计算机设备以及存储介质
CN117112696A (zh) 数据同步的方法、装置、计算机设备及存储介质

Legal Events

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