KR101668397B1 - 대용량 과학 데이터 즉시 분석 방법 및 장치 - Google Patents

대용량 과학 데이터 즉시 분석 방법 및 장치 Download PDF

Info

Publication number
KR101668397B1
KR101668397B1 KR1020150186120A KR20150186120A KR101668397B1 KR 101668397 B1 KR101668397 B1 KR 101668397B1 KR 1020150186120 A KR1020150186120 A KR 1020150186120A KR 20150186120 A KR20150186120 A KR 20150186120A KR 101668397 B1 KR101668397 B1 KR 101668397B1
Authority
KR
South Korea
Prior art keywords
data files
scientific data
scientific
data
processing unit
Prior art date
Application number
KR1020150186120A
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 KR1020150186120A priority Critical patent/KR101668397B1/ko
Application granted granted Critical
Publication of KR101668397B1 publication Critical patent/KR101668397B1/ko

Links

Images

Classifications

    • G06F17/30592
    • G06F17/30445
    • G06F17/30545

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 대용량 과학 데이터 즉시 분석 방법 및 장치에 관한 것이다. 본 발명은 다차원 배열로 모델링되는 과학 실험 데이터에 대한 데이터 적재 과정없이 바로 질의 처리가 가능한 방법에 관한 것이다. 본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치는 데이터베이스의 인스턴스가 위치한 노드의 개수에 따라 과학 데이터 파일들을 병합하는 파일 병합부, 상기 병합된 과학 데이터 파일들을 상기 데이터베이스 내의 배열 구조로 배치하는 로컬 맵 (Local Map) 처리부, 상기 배치된 과학 데이터 파일들을 상기 데이터베이스의 원래 데이터 적재 방식에 따라 재배치하는 글로벌 맵 (Global Map) 처리부 및 상기 재배치된 과학 데이터 파일들을 대상으로 질의 처리하는 질의 처리부를 포함한다.

Description

대용량 과학 데이터 즉시 분석 방법 및 장치 {METHOD AND APPARATUS FOR THE FAST ANALYSIS OF LARGE-SCALE SCIENTIFIC DATA FILES}
본 발명은 대용량 과학 데이터 파일의 즉시 분석을 위한 방법 및 장치에 관한 것이다.
기존에 과학 실험 데이터는 해당 실험에 관한 정보를 제공하는 메타데이터 등과 함께 하나의 파일로 아카이빙되어 배포되고 있었고, 데이터 분석을 위해서는 해당 파일을 읽어 DB에 적재하여야 하나, 적재 과정에서 매우 오랜 시간이 소요되었다. 이에 따라, 실제 파일 취득 시점부터 DB를 이용한 질의 처리 완료까지 걸리는 전체 시간은 매우 길다는 문제점이 존재하였다. 나아가, 과학 데이터에 대한 분석 질의는 빈번하지 않으므로 적재 후 빈번하게 질의될 것을 가정하여 고안된 기존 DB는 적합하지 않았다.
또한, 과학 데이터는 실세계의 다양한 현상들에 대한 관찰 또는 관측 결과를 담고 있으며, 다차원 배열 구조 (multi-dimensional array)를 갖는 경우가 빈번하다. 예를 들어, 인공위성 촬영 영상 정보는, 특정 위치에서 특정 시간에 촬영한 이미지 값을 기록한 정보이다. 즉 (위도, 경도, 시간)이라는 3차원 상의 한 셀(cell)에 대한 영상 정보를 RGB 값으로 담는 방식으로 영상 정보를 구성한다. 이러한 다차원 배열 구조는 2차원 테이블 형식으로 데이터를 저장하는 기존의 관계형 DBMS로는 효율적인 저장과 검색을 지원하기가 곤란하다. 이에 따라 다차원 배열을 효과적으로 저장하기 위한 다차원 배열 DBMS가 출현하였다. 한편, 과학데이터는 유지와 배포의 편의성을 위해 하나의 파일 포맷에 실험 데이터와 메타데이터를 모두 담는 방식으로 작성된다.
이러한 과학 데이터 파일의 다차원 배열 DBMS로의 적재는 많은 시간이 소요된다. 이에 따라, 실제 과학데이터 파일을 입수한 이후에 분석 질의 처리까지 걸리는 총 시간은 데이터 적재 소요시간으로 인해 많은 시간이 소요된다. 과학데이터는 그 특성상 생성된 데이터를 빈번하게 질의 처리하지 않는다. 이에 따라, 빈번히 질의 처리하지 않는 데이터를 DB로 적재하는 과정에 소요되는 시간 및 이에 대한 리소스의 낭비가 상당하다.
한편, 과학 데이터 파일 포맷으로 작성 및/또는 배포되는 과학 데이터는 파일 1개는 수백 GB에 이를 정도로 그 크기가 매우 크다. 이렇게 큰 파일을 하나의 시스템 상에서 파일 단위 API를 가지고 처리하는 경우, 단일 노드 상에서의 입력값/출력값 (I/O) 및 컴퓨팅 제한으로 인해 그 처리 성능이 확장 가능(scalable) 하지 않다.
본 발명이 이루고자 하는 과제는, 대용량 과학 데이터 파일을 즉시 분석하는 방법을 제공하는 것이다.
본 발명이 이루고자 하는 과제는, 대용량 과학 데이터 파일들에 대하여 데이터 적재 과정 없이 파일 상에서 직접 분석하고 질의를 처리할 수 있는 방법을 제공하는 것이다.
본 발명이 이루고자 하는 과제는, 대용량 다차원 과학 데이터 파일들에 대하여 데이터 적재 과정 없이 파일 상에서 직접 분석하고 질의를 분산 및/또는 병렬 처리할 수 있는 방법을 제공하는 것이다.
본 발명이 이루고자 하는 과제는, 다차원 배열로 구성되는 대용량 과학 데이터 파일을 분산 환경에서 효율적으로 병렬 질의 처리하는 방법을 제공하는 것이다.
본 발명이 이루고자 하는 과제는, 데이터 적재 과정을 생략하고 다차원 배열 데이터에 대한 질의어를 파일 상에서 직접 분산 병렬 처리할 수 있는 방법을 제공하는 것이다.
본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 방법은 데이터베이스의 인스턴스가 위치한 노드의 개수에 따라 과학 데이터 파일들을 병합하는 단계, 상기 병합된 과학 데이터 파일들을 상기 데이터베이스 내의 배열 구조로 배치하는 단계, 상기 배치된 과학 데이터 파일들을 상기 데이터베이스의 원래 데이터 적재 방식에 따라 재배치하는 단계 및/또는 상기 재배치된 과학 데이터 파일들을 대상으로 질의 처리하는 단계를 포함할 수 있다.
바람직하게는, 상기 병합하는 단계는 동일 구조를 가지는 복수 개의 과학 데이터 파일들을 상기 노드의 개수만큼 병합하여 더 큰 크기의 과학 데이터 파일들로 병합하고, 여기서, 상기 병합된 과학 데이터 파일들 중 하나의 크기는 상기 노드의 가용 메모리 크기를 넘지 않을 수 있다.
바람직하게는, 상기 배치하는 단계는 모든 데이터가 아닌 질의의 직접 대상이 되는 과학 데이터만을 처리할 수 있도록 상기 병합된 과학 데이터 파일들을 필터링하는 단계, 상기 필터링된 과학 데이터 파일들을 리딩 처리하는 단계 및/또는 상기 리딩 처리된 과학 데이터 파일들을 상기 노드 단위로 메모리 상에 다차원 배열을 생성하는 단계를 포함할 수 있다.
바람직하게는, 상기 다차원 배열을 생성하는 단계는 상기 리딩 처리된 과학 데이터 파일들의 청크 식별 정보 (chunk identification information) 및 상기 청크 내의 위치 정보를 이용하여 상기 리딩 처리된 과학 데이터 파일들을 상기 데이터베이스 내의 특정 청크로 배치할 수 있다.
바람직하게는, 상기 재배치하는 단계는 상기 노드 각각이 가진 메모리 내 배치된 과학 데이터 파일들의 청크 (chunk) 중에서 상기 데이터베이스의 원래 데이터 적재 방식에 따라 다른 노드에 위치해야 할 과학 데이터 파일들의 청크들을 다른 노드로 전달하는 단계, 상기 전달된 다른 노드에 위치해야 할 과학 데이터 파일들의 청크들을 수신하는 단계 및/또는 상기 수신된 과학 데이터 파일들의 청크들을 이미 배치된 과학 데이터 파일들의 청크와 병합하는 단계를 포함할 수 있다.
바람직하게는, 상기 대용량 과학 데이터 즉시 분석 방법은 상기 데이터베이스의 원래 데이터 적재 방식에 따라 상기 질의 처리된 과학 데이터 파일들을 저장하는 단계를 포함할 수 있다.
본 발명의 다른 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치)는 데이터베이스의 인스턴스가 위치한 노드의 개수에 따라 과학 데이터 파일들을 병합하는 파일 병합부, 상기 병합된 과학 데이터 파일들을 상기 데이터베이스 내의 배열 구조로 배치하는 로컬 맵 (Local Map) 처리부, 상기 배치된 과학 데이터 파일들을 상기 데이터베이스의 원래 데이터 적재 방식에 따라 재배치하는 글로벌 맵 (Global Map) 처리부 및/또는 상기 재배치된 과학 데이터 파일들을 대상으로 질의 처리하는 질의 처리부를 포함할 수 있다.
바람직하게는, 상기 파일 병합부는 동일 구조를 가지는 복수 개의 과학 데이터 파일들을 상기 노드의 개수만큼 병합하여 더 큰 크기의 과학 데이터 파일들로 병합하고, 여기서, 상기 병합된 과학 데이터 파일들 중 하나의 크기는 상기 노드의 가용 메모리 크기를 넘지 않을 수 있다.
바람직하게는, 상기 로컬 맵 처리부는 모든 데이터가 아닌 질의의 직접 대상이 되는 과학 데이터만을 처리할 수 있도록 상기 병합된 과학 데이터 파일들을 필터링하는 필터링 처리부, 상기 필터링된 과학 데이터 파일들을 리딩 처리하는 리딩 처리부 및/또는 상기 리딩 처리된 과학 데이터 파일들을 상기 노드 단위로 메모리 상에 다차원 배열을 생성하는 빌딩 처리부를 포함할 수 있다.
바람직하게는, 상기 빌딩 처리부는 상기 리딩 처리된 과학 데이터 파일들의 청크 식별 정보 (chunk identification information) 및 상기 청크 내의 위치 정보를 이용하여 상기 리딩 처리된 과학 데이터 파일들을 상기 데이터베이스 내의 특정 청크로 배치할 수 있다.
바람직하게는, 글로벌 맵 처리부는 상기 노드 각각이 가진 메모리 내 배치된 과학 데이터 파일들의 청크 (chunk) 중에서 상기 데이터베이스의 원래 데이터 적재 방식에 따라 다른 노드에 위치해야 할 과학 데이터 파일들의 청크들을 다른 노드로 전달하는 스케터 (scatter) 처리부, 상기 전달된 다른 노드에 위치해야 할 과학 데이터 파일들의 청크들을 수신하는 게더 (gather) 처리부 및/또는 상기 수신된 과학 데이터 파일들의 청크들을 이미 배치된 과학 데이터 파일들의 청크와 병합하는 병합 (merge) 처리부를 포함할 수 있다.
바람직하게는, 상기 대용량 과학 데이터 즉시 분석 장치는 상기 데이터베이스의 원래 데이터 적재 방식에 따라 상기 질의 처리된 과학 데이터 파일들을 저장하는 저장부를 포함할 수 있다.
본 발명에 따르면, 대용량 과학 데이터 파일을 즉시 분석하는 방법을 제공할 수 있는 효과가 있다.
본 발명에 따르면, 대용량 과학 데이터 파일들에 대하여 데이터 적재 과정 없이 파일 상에서 직접 분석하고 질의를 처리할 수 있는 방법을 제공할 수 있는 효과가 있다.
본 발명에 따르면, 대용량 다차원 과학 데이터 파일들에 대하여 데이터 적재 과정 없이 파일 상에서 직접 분석하고 질의를 분산 및/또는 병렬 처리할 수 있는 방법을 제공할 수 있는 효과가 있다.
본 발명에 따르면, 다차원 배열로 구성되는 대용량 과학 데이터 파일을 분산 환경에서 효율적으로 병렬 질의 처리하는 방법을 제공할 수 있는 효과가 있다.
본 발명에 따르면, 데이터 적재 과정을 생략하고 다차원 배열 데이터에 대한 질의어를 파일 상에서 직접 분산 병렬 처리할 수 있는 방법을 제공할 수 있는 효과가 있다.
본 발명에 대해 더욱 이해하기 위해 포함되며 본 출원에 포함되고 그 일부를 구성하는 첨부된 도면은 본 발명의 원리를 설명하는 상세한 설명과 함께 본 발명의 실시예를 나타낸다.
도 1은 본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 방법을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 데이터 적재 과정을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 다차원 배열 DBMS에서 질의 처리 계획을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치의 데이터 처리 과정을 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른 In-situ 스캔 연산부의 구성을 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 따른 Local Map 처리부의 처리 과정을 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 Global Map 처리부의 처리 과정을 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 방법을 나타낸 도면이다.
도 9는 본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치의 구성을 나타낸 도면이다.
이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 본 발명의 실시예를 상세하게 설명하지만, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다.
본 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 이는 당분야에 종사하는 기술자의 의도 또는 관례 또는 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 그 의미를 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는, 단순한 용어의 명칭이 아닌 그 용어가 가지는 실질적인 의미와 본 명세서의 전반에 걸친 내용을 토대로 해석되어야 함을 밝혀두고자 한다.
도 1은 본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 방법을 나타낸 도면이다.
본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치는 대용량 과학 데이터 파일들에 대한 데이터 적재 과정 없이 파일 상에서 직접 분석 및/또는 질의를 처리할 수 있다. 본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치는 과학 데이터 파일의 내부 자료 구조와 DB에 적재 시 상황을 가정한 내부 구조 간 대응을 통한 질의를 처리할 수 있다. 본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치는 다차원 배열 데이터에 대한 분산 환경에서 즉시 질의를 처리할 수 있다.
기존에, 과학 데이터는 해당 실험에 관한 정보를 제공하는 메타데이터 등과 함께 하나의 파일로 아카이빙되어 배포되고 있었고, 데이터 분석을 위해서는 해당 파일을 읽어 DB에 적재하여야 하나, 적재 과정에서 매우 오랜 시간이 소요되었다. 이에 따라, 실제 파일 취득 시점부터 DB를 이용한 질의 처리 완료까지 걸리는 전체 시간은 매우 길다는 문제점이 존재하였다. 나아가, 과학 데이터에 대한 분석 질의는 빈번하지 않으므로 적재 후 빈번하게 질의될 것을 가정하여 고안된 기존 DB는 적합하지 않았다. 본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치는 상기 문제점을 해결할 수 있다.
본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치는 대용량 과학 데이터 파일들에 대하여 데이터 적재 과정 없이 파일 상에서 직접 분석하고 질의를 처리할 수 있다.
본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치는 다차원 배열로 모델링되는 과학 데이터를 DBMS로의 데이터 적재 과정 없이 파일 상에서 바로 다차원 배열에 대한 질의를 처리할 수 있다. 이를 위하여, 첫째, 대용량 과학 데이터 즉시 분석 장치는 과학 데이터 파일의 내부 자료 구조와 해당 파일을 DB에 적재하는 경우 DB에서의 내부 자료 구조를 일치시킬 수 있다. 둘째, 분산 환경에서의 DB 내부 자료 구조의 분할 배치에 따라 파일들을 분산 배치할 수 있다. 셋째, 질의 처리를 위한 파일 스캔 과정에서의 필터링을 통하여 인풋/아웃풋 성능을 향상시킬 수 있다. 넷째, 과학 데이터 파일에 대한 직접적인 질의 처리가 가능하기 위한 질의 처리 흐름 및 구조를 제공할 수 있다.
본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치는 대용량 다차원 과학 데이터 파일들에 대하여 데이터 적재 과정 없이 파일 상에서 직접 분석하고 질의를 분산 및/또는 병렬 처리할 수 있다.
특히, 본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치는 대용량 다차원 과학 데이터 파일의 내부 자료 구조와 이를 DB에 적재 시 상황을 가정한 DB 내부 자료 구조 간 대응을 제공함으로써 DB로의 데이터 적재 과정 없이 파일을 이용하여 곧바로 다차원 데이터에 대한 분산 질의 처리가 가능하도록 할 수 있다. 나아가, 이후에는 대응된 DB 내부 자료 구조를 바로 DB에 저장함으로써 이후의 반복적인 질의에 대해서도 효과적으로 대응할 수 있다.
도 2는 본 발명의 일 실시예에 따른 데이터 적재 과정을 나타낸 도면이다.
본 발명의 일 실시예에 따르면, 과학 데이터는 실세계의 다양한 현상들에 대한 관찰 또는 관측 결과를 담고 있으며, 다차원 배열 구조 (multi-dimensional array)를 갖는 경우가 빈번하다. 예를 들어, 인공위성 촬영 영상 정보는, 특정 위치에서 특정 시간에 촬영한 이미지 값을 기록한 정보이다. 즉 (위도, 경도, 시간)이라는 3차원 상의 한 셀(cell)에 대한 영상 정보를 RGB 값으로 담는 방식으로 영상 정보를 구성한다. 이러한 다차원 배열 구조는 2차원 테이블 형식으로 데이터를 저장하는 기존의 관계형 DBMS로는 효율적인 저장과 검색을 지원하기가 곤란하다. 이에 따라 다차원 배열을 효과적으로 저장하기 위한 다차원 배열 DBMS가 출현하였다. 대표적인 예로는 SciDB가 존재한다. 대규모의 다차원 배열을 효과적으로 지원하기 위해 다차원 배열 DBMS에서는 배열을 여러 개의 청크 (chunk)들로 분할하고, 이들을 클러스터 내 각 노드들로 분산 관리함으로써 입력값 (인풋) 및 출력값 (아웃풋)의 병렬화를 통해 성능을 향상시킨다. 한편, 과학데이터는 유지와 배포의 편의성을 위해 하나의 파일 포맷에 실험 데이터와 메타데이터를 모두 담는 방식으로 작성된다. 대표적인 과학데이터 파일 포맷으로는 HDF5, NetCDF 등이 존재한다.
이 도면을 참조하면, 과학데이터 파일을 다차원 배열 DBMS에 적재(loading)하기 위해서는 데이터 적재 과정을 거치게 된다. 데이터 적재 과정에서는 데이터를 읽고 다차원 배열 형태로 재구성하기 위해 여러 단계를 거치게 된다. 이 단계에는 다차원 배열의 1차원으로의 중간파일 작성, 1차원 데이터의 분할 (Distribution step), 분할된 1차원 데이터의 읽기 (Loading step), 1차원 데이터를 원래의 다차원으로 DB 내에서 재구성 (Redimension step) 등의 과정을 포함한다.
본 발명의 일 실시예에 따르면, 이러한 과학 데이터 파일의 다차원 배열 DBMS로의 적재는 위와 같은 여러 과정으로 인해 적재 완료 시까지 많은 시간이 소요된다. 이에 따라, 실제 과학데이터 파일을 입수한 이후에 분석 질의 처리까지 걸리는 총 시간은 데이터 적재 소요시간으로 인해 많은 시간이 소요된다. 과학데이터는 그 특성상 생성된 데이터를 빈번하게 질의 처리하지 않는다. 이에 따라, 빈번히 질의 처리하지 않는 데이터를 DB로 적재하는 과정에 소요되는 시간 및 이에 대한 리소스의 낭비가 상당하다.
본 발명의 일 실시예에 따르면, HDF, NetCDF와 같은 과학 데이터 파일 포맷은 과학 데이터에 대한 파일 단위 관리 및 배포를 지원한다. 하지만, 과학 데이터 파일 포맷은 파일 포맷 정의와 API 만을 제공할 뿐 DBMS 에서 제공하는 SQL 질의 언어와 같은 표준화된 질의 언어와 고급 처리 기능을 제공하지는 못한다.
본 발명의 일 실시예에 따르면, 과학 데이터 파일 포맷으로 작성 및/또는 배포되는 과학 데이터는 파일 1개는 수백 GB에 이를 정도로 그 크기가 매우 크다. 이렇게 큰 파일을 하나의 시스템 상에서 파일 단위 API를 가지고 처리하는 경우, 단일 노드 상에서의 입력값/출력값 (I/O) 및 컴퓨팅 제한으로 인해 그 처리 성능이 확장 가능(scalable) 하지 않다.
도 3은 본 발명의 일 실시예에 따른 다차원 배열 DBMS에서 질의 처리 계획을 나타낸 도면이다.
본 발명의 일 실시예에 따른 External file 기술은 데이터 적재 과정 없이 관계형 SQL 질의 언어로 원시 파일(RAW)에 직접 질의할 수 있는 방법을 제공할 수 있다. 이 기술의 대표적 예로서, Oracle의 external table이 이에 해당할 수 있다. External table 방식은 DB 외부에 있는 CSV (comma-separated values) 형식 등의 데이터가 마치 DB에 있는 것처럼 보이게 하여 DB에서 파일 데이터를 사용할 수 있도록 하는 방법이다.
하지만, external file 기술은 DML 이나 index, 통계 정보 등과 같은 고급화된 DB 기능들은 제공하지 못하고 원시 파일에 대하여 간단한 질의만을 수행할 수 있다. 나아가, 단일 노드 상에서 관계형 데이터 모델로 모델링되는 DB 테이블과 CSV 등의 파일간의 대응을 제공한다는 점에서 분산 병렬 환경에서 다차원 데이터 모델로 모델링되는 과학 데이터 파일의 고속 질의 처리에 관한 본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치와는 차이가 있다.
본 발명의 다른 일 실시예에 따른 In-Situ 질의 처리 기술은 원시 파일(raw file)을 대상으로 데이터베이스로의 적재 과정 없이 바로 질의 처리를 수행한다는 점에서 external file과 그 개념이 동일하다. 대신, in-situ 질의 처리 기술은 보다 나은 성능 향상을 위해 첫째, 파싱 비용을 줄이기 위한 인덱싱 둘째, Filtering Push Down을 통한 읽기 연산의 건너뛰기 셋째, 다중 쓰레드 (multiple thread)를 이용한 데이터의 병렬 처리 및 DB로의 점진적인 적재 등의 기술을 추가로 지원할 수 있다. In-Situ 질의 처리 기술의 대표적 예로서, NoDB, SCANRAW 등이 존재한다. 하지만, In-Situ 질의 처리 기술은 단일 노드 상에서 2D 테이블 형식의 관계형 데이터를 대상으로 한다는 점에서, 분산 병렬 환경에서 다차원 데이터 모델로 모델링되는 과학 데이터 파일의 고속 질의 처리에 관한 본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치와는 차이가 있다.
본 발명의 일 실시예에 따른 SDS/Q는 과학 데이터 포맷 중 하나인 HDF5 데이터에 적합하게 in-situ 분석을 적용시킨 분산 병렬 시스템이다. 이 시스템은 대용량 메모리가 탑재된 병렬 파일 시스템을 가진 슈퍼 컴퓨터 환경에서 구현 되었다. SDS/Q는 대용량 HDF5 파일을 병렬 파일 시스템에 위치시키고 파일 내 데이터에 대한 비트맵 인덱스를 활용, 인 메모리 데이터 처리를 수행하는 방식으로 성능 향상을 꾀하였다. 이 시스템은 분산 병렬 구조로 과학실험 데이터 파일에 대한 즉시 질의 처리를 지원한다는 점에서 본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치와 유사한 점이 있지만, 다차원 배열에 대한 모델링과 질의 언어를 제공하지 않는다는 점에서 본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치와 차이가 있다.
본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치는 다차원 배열로 모델링되는 대용량 과학 데이터 파일에 대하여 DB로의 적재 과정 없이 파일만을 이용하여 즉시 질의 처리가 가능하도록 함을 목적으로 한다. 특히, 다차원 배열 모델로 모델링되어 하나의 파일로서 아카이빙되는 과학 데이터에 대하여 표준화된 다차원 배열 질의 언어를 제공하고, 해당 언어로 작성된 분석 질의의 분산 병렬 처리를 지원함으로써 DB로의 데이터 적재 과정 없이도 파일 단위의 표준화된 고속 분석 질의 처리가 가능하도록 함을 목적으로 한다.
본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치는 다차원 배열로 구성되는 대용량 과학 데이터 파일을 분산 환경에서 효율적으로 병렬 질의 처리하는 방법을 제공할 수 있다. 또한, 데이터 적재 과정을 생략하고 다차원 배열 데이터에 대한 질의어를 파일 상에서 직접 분산 병렬 처리할 수 있다.
본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치에 따르면, 기존의 모든 다차원 배열 질의 연산들을 데이터 적재 과정 없이 그대로 적용할 수 있으며, 기존 다차원 배열 DBMS의 내부 구조로 대응된 파일 내 데이터들이 대응 후 바로 DB로 저장 및/또는 관리될 수 있다.
실제 과학 데이터 파일들을 대상으로 실험한 결과, 본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치는 기존 분산 다차원 DBMS의 데이터 적재 후 질의 처리 (load-to-query)하는 방식에 비해, 최대 75배 이상의 성능 향상을 확인하였으며, 과학 데이터 파일의 크기가 더 커질수록 이 성능 향상의 정도는 커질 수 있다는 것을 확인하였다.
본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치는 다차원 배열 모델을 저장하는 분산 DBMS인 SciDB를 기준으로 데이터 적재와 질의 처리 부분을 변경하는 방식으로 구성된다. 이는 기존 다차원 배열 모델을 저장 단위로 하는 다른 DBMS나 정보 시스템에도 통용될 수 있는 설계 방식이다.
이 도면은 기존의 다차원 배열 DBMS에서 질의 처리 계획 및 본 발명의 일 실시예에 따른 질의 처리 계획을 나타낸다. 기존 DBMS에서의 원 질의 처리 계획(query processing plan)에서는 데이터베이스에 저장된 배열 자료 구조를 스캔 (scan)해서 부분 배열을 만들어 처리하는 방식으로 질의 처리가 수행된다. 반면에, 본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치는 해당 스캔 (scan) 연산자를 in-situ scan 연산자로 변경함으로써, 질의 처리 시 DB 내 배열 자료 구조가 아닌 HDF 등의 과학 데이터 파일로부터 직접 스캔하도록 질의 처리 과정을 변경할 수 있다.
도 4는 본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치의 데이터 처리 과정을 나타낸 도면이다.
본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치는 과학 데이터 파일로부터 직접 데이터를 스캔하면서 즉시 질의 처리를 수행하기 위해, HDF 병합부 (HDP merger) 및/또는 In-situ 스캔 연산부를 포함할 수 있다. 파일 병합부 (HDP merger)는 HDF 과학 데이터 파일들을 DB 인스턴스가 위치한 노드들의 개수만큼의 큰 파일들로 병합할 수 있다. 본 발명의 일 실시예에 따르면 파일 병합부는 HDF 파일 포맷 외의 다른 포맷의 데이터 파일들도 처리할 수 있다. In-situ 스캔 연산부는 In-situ 스캔 연산자를 이용하여 HDF 파일들로부터 질의 수행 시 바로 파일을 스캔할 수 있다. 본 발명의 일 실시예에 따른 In-situ 스캔 연산부는 local map 처리부, global map 처리부 및/또는 질의 처리부를 포함할 수 있다. local map 처리부는 입력이 되는 HDF 파일들로부터 각 노드 단위로 메모리 상에 다차원 배열을 구축할 수 있다. global map 처리부는 local map 처리부에서 작성된 각 노드 단위의 다차원 배열 구조를 논리적으로 하나의 큰 배열로서 구성할 수 있다. 질의 처리부는 subarray와 같은 질의 처리를 수행하고 최종적인 결과 배열을 출력할 수 있다.
이 도면은 HDF 형식의 과학 데이터 파일에 대하여 즉시 질의 처리를 가능하게 하는 본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치의 데이터 처리 과정을 나타낸다.
파일 병합부 (HDF merger)는 다수의 과학 기술 데이터 포맷인 HDF를 SciDB instance 개수만큼 병합할 수 있다. 병합된 RAW 파일들은 DB 인스턴스들로 분산 (distribution) 저장될 수 있다. 이후, 사용자가 과학 기술 데이터를 분석하기 위한 SciDB에 질의를 제출하면 RAW파일을 읽기 위해서 In-Situ 스캔 연산부가 스캔을 수행할 수 있다. In-situ 스캔 연산부에 대한 상세한 내용은 후술한다.
도 5는 본 발명의 일 실시예에 따른 In-situ 스캔 연산부의 구성을 나타낸 도면이다.
본 발명의 일 실시예에 따르면, 분산 다차원 배열 DBMS에서는 하나의 커다란 다차원 배열 구조를 청크 (chunk) 단위로 수십~수천 개의 청크들로 분할하고 이를 각 노드마다 분산 배치시킬 수 있다. 이 때, 청크들의 배치는 해싱 (hashing)을 통하여 수행될 수 있다. 본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치는 파일과 다차원 배열 배치 구조를 대응시키기 위하여, 두 단계의 매핑 과정인 local map 및 global map을 수행할 수 있다.
본 발명의 일 실시예에 따른 In-situ 스캔 연산부는 Local Map 처리부 및/또는 Global map 처리부를 포함할 수 있다. 본 발명의 일 실시예에 따른 Local Map 처리부는 필터링 (Filtering) 처리부, 읽기 (READ) 처리부 및/또는 빌딩 (building) 처리부를 포함할 수 있다. 본 발명의 일 실시예에 따른 Global map 처리부는 스케터 (scatter) 처리부, 게더 (gather) 처리부 및/또는 병합 (merge) 처리부를 포함할 수 있다. 상술한 각 구성에 대한 상세한 설명은 이후 도면에서 후술한다.
도 6은 본 발명의 일 실시예에 따른 Local Map 처리부의 처리 과정을 나타낸 도면이다.
본 발명의 일 실시예에 따른 Local Map 처리부는 HDF 파일을 읽어서 부분적인 메모리상의 배열 구조를 생성할 수 있다. 이 도면을 참조하면, 본 발명의 일 실시예에 따른 Local Map 처리부는 필터링 (Filtering) 처리부, 읽기 (READ) 처리부 및/또는 빌딩 (building) 처리부를 포함할 수 있다.
본 발명의 일 실시예에 따르면, Array 데이터를 분석할 때 자주 사용하는 질의 유형들 중에 한 가지는 전체 array 데이터 중 일부분의 데이터를 검색하여 분석 하는 것이다. 본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치는 원시 과학 데이터 파일에서 질의에 필요한 해당 데이터만 읽고 분석할 수 있도록, 질의에 필요한 데이터를 결정하기 위해서 Local Map의 필터링 (filtering) 과정을 수행할 수 있다.
필터링 처리부는 array의 부분적인 데이터를 검색하는 filtering 연산자를 찾기 위해 다차원 배열 DBMS가 생성한 질의 계획을 탐색할 수 있다. 이를 탐색하여 모든 데이터가 아닌 선택적인 영역만을 질의 처리할 경우, 입력단계에서부터 선택되지 않은 영역은 상위 연산자들에게 전달되지 못하도록 필터링 정보를 리딩 처리부로 전달할 수 있다.
본 발명의 일 실시예에 따르면, 리딩 처리부 및 빌딩 처리부는 in-situ 분석 방식의 가장 기본이 되는 구성이다.
리딩 처리부는 RAW 파일에서 과학 기술 데이터를 읽어 올 수 있다. 이 때, 필터링 처리부로부터 전달 받은 필터링 (filtering) 정보를 이용하여 필요한 데이터만 읽을 수 있다. 본 발명의 일 실시예에 따르면, 과학 데이터를 읽는 단위의 크기는 DBMS에서 사용되는 배열 청크(array chunk)의 크기일 수 있다. 본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치는 데이터를 읽는 단위가 청크 크기가 아니고 데이터를 순차적으로 읽게 되는 경우 데이터를 정렬하는 구성 (데이터 정렬부)을 더 포함할 수 있다. 본 발명의 일 실시예에 따르면, 분산 다차원 배열 DBMS에서는 다차원 배열 데이터를 청크 단위로 나누어서 저장하고 각 청크들의 내부에는 배열 스키마에 정의된 차원의 순서대로 데이터가 저장될 수 있다. 그렇기 때문에, 본 발명의 일 실시예에 따른 데이터 정렬부는 청크 단위로 읽지 않고 SciDB의 array로 매핑 하게 되는 경우, 추후 SciDB의 데이터를 저장하는 정책에 맞게 변경할 수 있도록 데이터를 청크들을 구별하는 Id와 chunk내 position을 기반으로 정렬을 수행할 수 있다.
빌딩 처리부는 리딩 처리부에서 읽은 과학 데이터의 청크를 DB내 배열 구조로 매핑하는 역할을 수행할 수 있다. 본 발명의 일 실시예에 따른 빌딩 처리부는 이 매핑을 위해서 읽은 데이터에 대한 좌표를 이용하여 chunk Id와 chunk 내의 위치 정보인 position을 구할 수 있다. 그리고, 읽은 과학 데이터, position 및/또는 chunk Id를 이용하여 실제 DB내 배열 자료 구조의 특정 청크로 매핑을 수행할 수 있다. 본 발명의 일 실시예에 따른 Local Map 처리부의 리딩 및 빌딩 처리 과정은 질의에 필요한 데이터를 모두 읽고 SciDB array로 매핑을 완료한 후에 끝나게 된다.
도 7은 본 발명의 일 실시예에 따른 Global Map 처리부의 처리 과정을 나타낸 도면이다.
본 발명의 일 실시예에 따르면, Local Map 과정을 통해 각 DB 인스턴스들이 생성한 로컬 배열 청크들을 원래 다차원 배열 DBMS에서 데이터 적재를 수행하였을 때 생성 및/또는 위치시켜야 할 배열 배치 정책에 따라 재배치시키기 위해 Global Map 과정이 수행될 수 있다.
이 도면은 Global Map 처리부가 각 노드의 DB 인스턴스들이 생성한 로컬 배열들을 재배치하는 과정을 나타낸다. 본 발명의 일 실시예에 따른 Global map 처리부는 스케터 (scatter) 처리부, 게더 (gather) 처리부 및/또는 병합 (merge) 처리부를 포함할 수 있다.
본 발명의 일 실시예에 따르면, Local Map 과정 이후에 각 instance 상에서 만들어진 배열들은 네트워크를 통해 원래의 배열 청크 파티셔닝 (chunk partitioning) 정책과 일치하는 DB 인스턴스들에게 전송될 수 있다. 이 전송 과정은 Global Map의 스케터 (Scatter) 처리부 및/또는 게더 (Gather) 처리부에 의해 수행될 수 있다. 스케터 처리부는 데이터를 다른 instance들에게 전송할 수 있다. 게더 처리부는 전송된 데이터를 수신할 수 있다. 병합 처리부는 수신한 데이터가 동일한 배열 청크에 속하는 경우, 수신한 데이터를 하나의 배열 청크로 병합할 수 있다. 본 발명의 일 실시예에 따르면, 병합된 결과물인 SciDB 배열은 in-situ 스캔 연산부의 질의 처리 계획상의 상위 연산자에게 전달될 수 있다.
도 8은 본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 방법을 나타낸 도면이다.
본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 방법은 데이터베이스의 인스턴스가 위치한 노드의 개수에 따라 과학 데이터 파일들을 병합하는 단계 (8010), 상기 병합된 과학 데이터 파일들을 상기 데이터베이스 내의 배열 구조로 배치하는 단계 (8020), 상기 배치된 과학 데이터 파일들을 상기 데이터베이스의 원래 데이터 적재 방식에 따라 재배치하는 단계 (8030) 및/또는 상기 재배치된 과학 데이터 파일들을 대상으로 질의 처리하는 단계 (8040)를 포함할 수 있다.
본 발명의 다른 일 실시예에 따르면, 상기 병합하는 단계는 동일 구조를 가지는 복수 개의 과학 데이터 파일들을 상기 노드의 개수만큼 병합하여 더 큰 크기의 과학 데이터 파일들로 병합하고, 여기서, 상기 병합된 과학 데이터 파일들 중 하나의 크기는 상기 노드의 가용 메모리 크기를 넘지 않을 수 있다.
본 발명의 다른 일 실시예에 따르면, 상기 배치하는 단계는 모든 데이터가 아닌 질의의 직접 대상이 되는 과학 데이터만을 처리할 수 있도록 상기 병합된 과학 데이터 파일들을 필터링하는 단계, 상기 필터링된 과학 데이터 파일들을 리딩 처리하는 단계 및/또는 상기 리딩 처리된 과학 데이터 파일들을 상기 노드 단위로 메모리 상에 다차원 배열을 생성하는 단계를 포함할 수 있다.
본 발명의 다른 일 실시예에 따르면, 상기 다차원 배열을 생성하는 단계는 상기 리딩 처리된 과학 데이터 파일들의 청크 식별 정보 (chunk identification information) 및 상기 청크 내의 위치 정보를 이용하여 상기 리딩 처리된 과학 데이터 파일들을 상기 데이터베이스 내의 특정 청크로 배치할 수 있다.
본 발명의 다른 일 실시예에 따르면, 상기 재배치하는 단계는 상기 노드 각각이 가진 메모리 내 배치된 과학 데이터 파일들의 청크 (chunk) 중에서 상기 데이터베이스의 원래 데이터 적재 방식에 따라 다른 노드에 위치해야 할 과학 데이터 파일들의 청크들을 다른 노드로 전달하는 단계, 상기 전달된 다른 노드에 위치해야 할 과학 데이터 파일들의 청크들을 수신하는 단계 및/또는 상기 수신된 과학 데이터 파일들의 청크들을 이미 배치된 과학 데이터 파일들의 청크와 병합하는 단계를 포함할 수 있다.
본 발명의 다른 일 실시예에 따르면, 상기 대용량 과학 데이터 즉시 분석 방법은 상기 데이터베이스의 원래 데이터 적재 방식에 따라 상기 질의 처리된 과학 데이터 파일들을 저장하는 단계를 포함할 수 있다.
도 9는 본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치의 구성을 나타낸 도면이다.
본 발명의 일 실시예에 따른 대용량 과학 데이터 즉시 분석 장치 (9050)는 데이터베이스의 인스턴스가 위치한 노드의 개수에 따라 과학 데이터 파일들을 병합하는 파일 병합부 (9010), 상기 병합된 과학 데이터 파일들을 상기 데이터베이스 내의 배열 구조로 배치하는 로컬 맵 (Local Map) 처리부 (9020), 상기 배치된 과학 데이터 파일들을 상기 데이터베이스의 원래 데이터 적재 방식에 따라 재배치하는 글로벌 맵 (Global Map) 처리부 (9030) 및/또는 상기 재배치된 과학 데이터 파일들을 대상으로 질의 처리하는 질의 처리부 (9040)를 포함할 수 있다. 파일 병합부는 대용량 과학 데이터 파일들을 노드 수에 맞추어 더 큰 파일들로 변합할 수 있다. 로컬 맵 처리부는 병합된 각 과학 데이터 파일을 읽어서 로컬 맵 과정을 통해 각 노드별로 해당 과학 데이터 파일에 대하여 메모리 상에 다차원 배열을 구성할 수 있다. 글로벌 맵 처리부는 로컬 맵 처리부를 통해 생성된 각 노드들의 다차원 배열들을 대상으로 DBMS에서 데이터 적재 시 본래 배열 청크 분할 방식에 따라 분산 배치될 배열 청크들로 대응시킬 수 있다. 질의 처리부는 글로벌 맵 처리부를 통해 기존 데이터 적재 과정 시와 동일하게 배치된 배열 청크들을 대상으로 질의를 처리할 수 있다.
본 발명의 다른 일 실시예에 따르면, 상기 파일 병합부는 동일 구조를 가지는 복수 개의 과학 데이터 파일들을 상기 노드의 개수만큼 병합하여 더 큰 크기의 과학 데이터 파일들로 병합하고, 여기서, 상기 병합된 과학 데이터 파일들 중 하나의 크기는 상기 노드의 가용 메모리 크기를 넘지 않을 수 있다. 파일 병합부는 복수 개의 동일 구조를 가지는 과학 실험 데이터 파일들을 클러스터를 구성하는 컴퓨팅 노드의 개수만큼 병합하여 더 큰 크기의 데이터 파일들로 출력할 수 있다.
본 발명의 다른 일 실시예에 따르면, 상기 로컬 맵 처리부는 모든 데이터가 아닌 질의의 직접 대상이 되는 과학 데이터만을 처리할 수 있도록 상기 병합된 과학 데이터 파일들을 필터링하는 필터링 처리부, 상기 필터링된 과학 데이터 파일들을 리딩 처리하는 리딩 처리부 및/또는 상기 리딩 처리된 과학 데이터 파일들을 상기 노드 단위로 메모리 상에 다차원 배열을 생성하는 빌딩 처리부를 포함할 수 있다. 로컬 맵 처리부는 클러스터 내 각 컴퓨팅 노드에서만 동작할 수 있다. 로컬 맵 처리부는 파일 병합부로부터 획득된 병합된 과학 실험 데이터 파일에 대하여, 질의의 직접 대상이 되는 부분 배열의 범위 값과 배열 내 셀 값만을 선택할 수 있도록 해당 정보를 생성하는 필터링 처리부를 포함할 수 있다. 로컬 맵 처리부는 필터링 단계를 통해 질의의 직접 대상 데이터만을 파일로부터 읽어 올리는 리딩 처리부를 포함할 수 있다. 로컬 맵 처리부는 읽혀 올려진 과학 실험 데이터를 가지고 노드 단위로 메모리 상에 다차원 배열을 생성하는 빌딩 처리부를 포함할 수 있다.
본 발명의 다른 일 실시예에 따르면, 상기 빌딩 처리부는 상기 리딩 처리된 과학 데이터 파일들의 청크 식별 정보 (chunk identification information) 및 상기 청크 내의 위치 정보를 이용하여 상기 리딩 처리된 과학 데이터 파일들을 상기 데이터베이스 내의 특정 청크로 배치할 수 있다. 빌딩 처리부는 필터링 처리부를 통해 질의의 직접 대상 데이터만을 파일로부터 읽어 올리는 리딩 처리부를 거쳐 받은 데이터를 배열 내 셀 단위로 해당 셀이 위치해야할 배열 청크와 청크 내 위치를 계산함으로써 파일 내 데이터를 메모리상에 배열 청크로 변환할 수 있다. 빌딩 처리부는 기존 분산 다차원 배열 DBMS에서 하나의 다차원 배열을 청크들로 분산 배치하는 방식에 따라 메모리상에 배열 청크를 생성할 수 있다.
본 발명의 다른 일 실시예에 따르면, 글로벌 맵 처리부는 상기 노드 각각이 가진 메모리 내 배치된 과학 데이터 파일들의 청크 (chunk) 중에서 상기 데이터베이스의 원래 데이터 적재 방식에 따라 다른 노드에 위치해야 할 과학 데이터 파일들의 청크들을 다른 노드로 전달하는 스케터 (scatter) 처리부, 상기 전달된 다른 노드에 위치해야 할 과학 데이터 파일들의 청크들을 수신하는 게더 (gather) 처리부 및/또는 상기 수신된 과학 데이터 파일들의 청크들을 이미 배치된 과학 데이터 파일들의 청크와 병합하는 병합 (merge) 처리부를 포함할 수 있다. 글로벌 맵 처리부는 각 노드가 가진 메모리 내 배열 청크 중에서 원래 배열 청크 배치 방식에 따라 다른 노드에 위치해야 할 배열 내 부분 영역들을 다른 노드에 전달하는 스케터 처리부를 포함할 수 있다. 글로벌 맵 처리부는 다른 노드들이 스케터 처리부에서 전달하는 부분 배열 영역 중 자신이 관리해야할 배열 영역들을 전달받는 게더 처리부를 포함할 수 있다. 글로벌 맵 처리부는 게더 처리부가 수신한 여러 노드들로부터 전달받은 부분 배열 영역들을 가지고 각 노드들이 자신이 가지는 배열 청크와 병합하는 병합 처리부를 포함할 수 있다.
본 발명의 다른 일 실시예에 따르면, 상기 대용량 과학 데이터 즉시 분석 장치는 상기 데이터베이스의 원래 데이터 적재 방식에 따라 상기 질의 처리된 과학 데이터 파일들을 저장하는 저장부를 포함할 수 있다. 병합 처리부는 다른 노드들로부터 전달받은 부분 배열 영역들을 자신이 가진 배열 청크와 병합할 수 있다. 병합 처리부는 최종적으로 다차원 배열 DBMS에서의 배열 청크가 배치되는 방식과 동일한 형태로 배열 청크들이 메모리 상에 생성 및/또는 배치되도록 할 수 있다. 이 때, 배열 청크의 크기가 가용 메모리를 넘는 경우 디스크에 실체화할 수 있다. 나아가, 대용량 과학 데이터 즉시 분석 장치는 질의 처리 종료 후 필요에 따라 메모리 내 배열 청크들을 실제 DB의 저장 구조로 물리적으로 디스크에 저장시킬 수 있다.
본 발명의 실시예들에 따른 모듈, 유닛 또는 블락은 메모리(또는 저장 유닛)에 저장된 연속된 수행과정들을 실행하는 프로세서/하드웨어일 수 있다. 전술한 실시예에 기술된 각 단계 또는 방법들은 하드웨어/프로세서들에 의해 수행될 수 있다. 또한, 본 발명이 제시하는 방법들은 코드로서 실행될 수 있다. 이 코드는 프로세서가 읽을 수 있는 저장매체에 쓰여질 수 있고, 따라서 본 발명의 실시예들에 따른 장치(apparatus)가 제공하는 프로세서에 의해 읽혀질 수 있다.
설명의 편의를 위하여 각 도면을 나누어 설명하였으나, 각 도면에 서술되어 있는 실시 예들을 병합하여 새로운 실시 예를 구현하도록 설계하는 것도 가능하다. 그리고, 당업자의 필요에 따라, 이전에 설명된 실시 예들을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체를 설계하는 것도 본 발명의 권리범위에 속한다.
본 발명에 따른 장치 및 방법은 상술한 바와 같이 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상술한 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
한편, 본 발명의 영상 처리 방법은 네트워크 디바이스에 구비된 프로세서가 읽을 수 있는 기록매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.
그리고, 당해 명세서에서는 물건 발명과 방법 발명이 모두 설명되고 있으며, 필요에 따라 양 발명의 설명은 보충적으로 적용될 수가 있다.
9010: 파일 병합부
9020: 로컬 맵 처리부
9030: 글로벌 맵 처리부
9040: 질의 처리부
9050: 대용량 과학 데이터 즉시 분석 장치

Claims (12)

  1. 데이터베이스의 인스턴스가 위치한 노드의 개수에 따라 과학 데이터 파일들을 병합하는 파일 병합부;
    상기 병합된 과학 데이터 파일들을 상기 데이터베이스 내의 배열 구조로 배치하는 로컬 맵 (Local Map) 처리부;
    상기 배치된 과학 데이터 파일들을 상기 데이터베이스의 원래 데이터 적재 방식에 따라 재배치하는 글로벌 맵 (Global Map) 처리부; 및
    상기 재배치된 과학 데이터 파일들을 대상으로 질의 처리하는 질의 처리부;
    를 포함하고,
    상기 파일 병합부는 동일 구조를 가지는 복수 개의 과학 데이터 파일들을 상기 노드의 개수만큼 병합하여 더 큰 크기의 과학 데이터 파일들로 병합하고,
    여기서, 상기 병합된 과학 데이터 파일들 중 하나의 크기는 상기 노드의 가용 메모리 크기를 넘지 않는 대용량 과학 데이터 즉시 분석 장치.
  2. 제 1 항에 있어서, 상기 로컬 맵 처리부는
    모든 데이터가 아닌 질의의 직접 대상이 되는 과학 데이터만을 처리할 수 있도록 상기 병합된 과학 데이터 파일들을 필터링하는 필터링 처리부;
    상기 필터링된 과학 데이터 파일들을 리딩 처리하는 리딩 처리부; 및
    상기 리딩 처리된 과학 데이터 파일들을 상기 노드 단위로 메모리 상에 다차원 배열을 생성하는 빌딩 처리부;
    를 포함하는 대용량 과학 데이터 즉시 분석 장치.
  3. 제 2 항에 있어서, 상기 빌딩 처리부는
    상기 리딩 처리된 과학 데이터 파일들의 청크 식별 정보 (chunk identification information) 및 상기 청크 내의 위치 정보를 이용하여 상기 리딩 처리된 과학 데이터 파일들을 상기 데이터베이스 내의 특정 청크로 배치하는 대용량 과학 데이터 즉시 분석 장치.
  4. 제 1 항에 있어서, 글로벌 맵 처리부는
    상기 노드 각각이 가진 메모리 내 배치된 과학 데이터 파일들의 청크 (chunk) 중에서 상기 데이터베이스의 원래 데이터 적재 방식에 따라 다른 노드에 위치해야 할 과학 데이터 파일들의 청크들을 다른 노드로 전달하는 스케터 (scatter) 처리부;
    상기 전달된 다른 노드에 위치해야 할 과학 데이터 파일들의 청크들을 수신하는 게더 (gather) 처리부; 및
    상기 수신된 과학 데이터 파일들의 청크들을 이미 배치된 과학 데이터 파일들의 청크와 병합하는 병합 (merge) 처리부;
    를 포함하는 대용량 과학 데이터 즉시 분석 장치.
  5. 제 4 항에 있어서, 상기 대용량 과학 데이터 즉시 분석 장치는
    상기 데이터베이스의 원래 데이터 적재 방식에 따라 상기 질의 처리된 과학 데이터 파일들을 저장하는 저장부를 포함하는 대용량 과학 데이터 즉시 분석 장치.
  6. 데이터베이스의 인스턴스가 위치한 노드의 개수에 따라 과학 데이터 파일들을 병합하는 단계;
    상기 병합된 과학 데이터 파일들을 상기 데이터베이스 내의 배열 구조로 배치하는 단계;
    상기 배치된 과학 데이터 파일들을 상기 데이터베이스의 원래 데이터 적재 방식에 따라 재배치하는 단계; 및
    상기 재배치된 과학 데이터 파일들을 대상으로 질의 처리하는 단계;
    를 포함하고
    상기 병합하는 단계는 동일 구조를 가지는 복수 개의 과학 데이터 파일들을 상기 노드의 개수만큼 병합하여 더 큰 크기의 과학 데이터 파일들로 병합하고,
    여기서, 상기 병합된 과학 데이터 파일들 중 하나의 크기는 상기 노드의 가용 메모리 크기를 넘지 않는 대용량 과학 데이터 즉시 분석 방법.
  7. 제 6 항에 있어서, 상기 배치하는 단계는
    모든 데이터가 아닌 질의의 직접 대상이 되는 과학 데이터만을 처리할 수 있도록 상기 병합된 과학 데이터 파일들을 필터링하는 단계;
    상기 필터링된 과학 데이터 파일들을 리딩 처리하는 단계; 및
    상기 리딩 처리된 과학 데이터 파일들을 상기 노드 단위로 메모리 상에 다차원 배열을 생성하는 단계;
    를 포함하는 대용량 과학 데이터 즉시 분석 방법.
  8. 제 7 항에 있어서, 상기 다차원 배열을 생성하는 단계는
    상기 리딩 처리된 과학 데이터 파일들의 청크 식별 정보 (chunk identification information) 및 상기 청크 내의 위치 정보를 이용하여 상기 리딩 처리된 과학 데이터 파일들을 상기 데이터베이스 내의 특정 청크로 배치하는 대용량 과학 데이터 즉시 분석 방법.
  9. 제 6 항에 있어서, 상기 재배치하는 단계는
    상기 노드 각각이 가진 메모리 내 배치된 과학 데이터 파일들의 청크 (chunk) 중에서 상기 데이터베이스의 원래 데이터 적재 방식에 따라 다른 노드에 위치해야 할 과학 데이터 파일들의 청크들을 다른 노드로 전달하는 단계;
    상기 전달된 다른 노드에 위치해야 할 과학 데이터 파일들의 청크들을 수신하는 단계; 및
    상기 수신된 과학 데이터 파일들의 청크들을 이미 배치된 과학 데이터 파일들의 청크와 병합하는 단계;
    를 포함하는 대용량 과학 데이터 즉시 분석 방법.
  10. 제 9 항에 있어서, 상기 대용량 과학 데이터 즉시 분석 방법은
    상기 데이터베이스의 원래 데이터 적재 방식에 따라 상기 질의 처리된 과학 데이터 파일들을 저장하는 단계를 포함하는 대용량 과학 데이터 즉시 분석 방법.
  11. 삭제
  12. 삭제
KR1020150186120A 2015-12-24 2015-12-24 대용량 과학 데이터 즉시 분석 방법 및 장치 KR101668397B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150186120A KR101668397B1 (ko) 2015-12-24 2015-12-24 대용량 과학 데이터 즉시 분석 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150186120A KR101668397B1 (ko) 2015-12-24 2015-12-24 대용량 과학 데이터 즉시 분석 방법 및 장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020160129171A Division KR101918662B1 (ko) 2016-10-06 2016-10-06 대용량 과학 데이터 즉시 분석 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101668397B1 true KR101668397B1 (ko) 2016-10-21

Family

ID=57257084

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150186120A KR101668397B1 (ko) 2015-12-24 2015-12-24 대용량 과학 데이터 즉시 분석 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101668397B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101918662B1 (ko) * 2016-10-06 2018-11-14 한국과학기술정보연구원 대용량 과학 데이터 즉시 분석 방법 및 장치
KR20200094852A (ko) * 2019-01-25 2020-08-10 전자부품연구원 커넥티드카 빅데이터 수집장치, 시스템 및 방법
CN111881092A (zh) * 2020-06-22 2020-11-03 武汉绿色网络信息服务有限责任公司 一种基于cassandra数据库的文件合并的方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120092930A (ko) * 2011-02-14 2012-08-22 주식회사 케이티 맵 리듀스를 이용한 분산 메모리 클러스터 제어 장치 및 방법
KR20140076010A (ko) * 2012-12-12 2014-06-20 한국과학기술원 대용량 xml 데이터에 대한 다수의 가지 패턴 질의의 동시 병렬처리시스템 및 그 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120092930A (ko) * 2011-02-14 2012-08-22 주식회사 케이티 맵 리듀스를 이용한 분산 메모리 클러스터 제어 장치 및 방법
KR20140076010A (ko) * 2012-12-12 2014-06-20 한국과학기술원 대용량 xml 데이터에 대한 다수의 가지 패턴 질의의 동시 병렬처리시스템 및 그 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101918662B1 (ko) * 2016-10-06 2018-11-14 한국과학기술정보연구원 대용량 과학 데이터 즉시 분석 방법 및 장치
KR20200094852A (ko) * 2019-01-25 2020-08-10 전자부품연구원 커넥티드카 빅데이터 수집장치, 시스템 및 방법
KR102368840B1 (ko) 2019-01-25 2022-03-02 한국전자기술연구원 커넥티드카 빅데이터 수집장치, 시스템 및 방법
US11609922B2 (en) 2019-01-25 2023-03-21 Korea Electronics Technology Institute Connected car big data acquisition device, system and method for storing data gathered in a single platform
CN111881092A (zh) * 2020-06-22 2020-11-03 武汉绿色网络信息服务有限责任公司 一种基于cassandra数据库的文件合并的方法和装置

Similar Documents

Publication Publication Date Title
US11816126B2 (en) Large scale unstructured database systems
Ding et al. UlTraMan: A unified platform for big trajectory data management and analytics
US20200320091A1 (en) Schemaless to relational representation conversion
AU2012250970B2 (en) Managing data queries
Van Oosterom et al. Massive point cloud data management: Design, implementation and execution of a point cloud benchmark
Blanas et al. Parallel data analysis directly on scientific file formats
US10133800B2 (en) Processing datasets with a DBMS engine
US8935232B2 (en) Query execution systems and methods
US8880463B2 (en) Standardized framework for reporting archived legacy system data
US20190317938A1 (en) Method, program, and system for automatic discovery of relationship between fields in environment where different types of data sources coexist
KR102610636B1 (ko) 데이터베이스 가속기로의 병렬 컴퓨트 오프로드
EP3867772B1 (en) Distributed join index for shared-nothing and log-structured databases
CN104239377A (zh) 跨平台的数据检索方法及装置
Chattopadhyay et al. Procella: Unifying serving and analytical data at YouTube
US11468031B1 (en) Methods and apparatus for efficiently scaling real-time indexing
JP6159908B1 (ja) 異種データソース混在環境におけるフィールド間の関係性の自動的発見のための方法、プログラム、および、システム
Das et al. A study on big data integration with data warehouse
Hu et al. A hierarchical indexing strategy for optimizing Apache Spark with HDFS to efficiently query big geospatial raster data
JPWO2017170459A6 (ja) 異種データソース混在環境におけるフィールド間の関係性の自動的発見のための方法、プログラム、および、システム
KR101918662B1 (ko) 대용량 과학 데이터 즉시 분석 방법 및 장치
KR101628676B1 (ko) 대용량 과학 데이터 파일의 분산 저장 시스템 및 방법
KR101668397B1 (ko) 대용량 과학 데이터 즉시 분석 방법 및 장치
Jensen et al. Time series management systems: a 2022 survey
Xiao A Spark based computing framework for spatial data
Wu et al. PABIRS: A data access middleware for distributed file systems

Legal Events

Date Code Title Description
A107 Divisional application of patent
GRNT Written decision to grant