KR102216886B1 - 동적 스키마를 이용한 질의처리 장치 및 그를 위한 컴퓨터로 읽을 수 있는 기록 매체 - Google Patents

동적 스키마를 이용한 질의처리 장치 및 그를 위한 컴퓨터로 읽을 수 있는 기록 매체 Download PDF

Info

Publication number
KR102216886B1
KR102216886B1 KR1020140147366A KR20140147366A KR102216886B1 KR 102216886 B1 KR102216886 B1 KR 102216886B1 KR 1020140147366 A KR1020140147366 A KR 1020140147366A KR 20140147366 A KR20140147366 A KR 20140147366A KR 102216886 B1 KR102216886 B1 KR 102216886B1
Authority
KR
South Korea
Prior art keywords
schema
individual
query
data
key attribute
Prior art date
Application number
KR1020140147366A
Other languages
English (en)
Other versions
KR20160049753A (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 KR1020140147366A priority Critical patent/KR102216886B1/ko
Publication of KR20160049753A publication Critical patent/KR20160049753A/ko
Application granted granted Critical
Publication of KR102216886B1 publication Critical patent/KR102216886B1/ko

Links

Images

Landscapes

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

Abstract

데이터 그룹별로 각각 해당하는 개별 테이블 스키마가 설정되고 상기 개별 테이블 스키마에 각각 대응하여 저장된 데이터를 이용하여 질의를 처리하는 방법에 있어서, 질의를 수신하는 과정; 상기 질의를 분석하여 상기 질의에 사용될 데이터 그룹의 스키마로부터 상기 질의에 대응되는 스키마를 조합하여 조합 테이블 스키마를 생성하는 과정; 및 상기 질의에 사용될 데이터 그룹의 스키마에 대응되는 데이터를 이용하여 상기 조합 테이블 스키마에 대응하는 조합 데이터를 생성하여 상기 질의를 처리하는 과정을 포함하는 동적 스키마 질의처리 장치 및 그를 위한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.

Description

동적 스키마를 이용한 질의처리 장치 및 그를 위한 컴퓨터로 읽을 수 있는 기록 매체{Apparatus for Processing Query by Using Dynamic Schema and Computer-Readable Recording Medium with Program therefor}
본 실시예는 동적 스키마를 이용한 질의처리 장치 및 그를 위한 컴퓨터로 읽을 수 있는 기록 매체에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
관계형 데이터베이스는 데이터가 사전에 정의된 다양한 구조를 스키마(Schema)로 정의하고 정규화되어 생성된다. 이로 인해 데이터베이스의 설계에 많은 비용과 시간이 소요되며, 스키마가 한번 결정된 후에는 테이블의 칼럼 추가나 삭제로 인해 데이터베이스 구조가 변경되어 전체 스키마에 변화를 줄 경우에 다시 많은 비용이 들어가게 되고 성능에도 영향을 줄 수 있다.
위와 같은 어려움을 해결하기 위하여 다양한 구조의 데이터를 관계형 데이터베이스 내에서 하나의 테이블로 생성하여 관리하는 것은 테이블 데이터를 저장하기 위한 데이터 공간 할당 및 관리 등 많은 어려움이 따른다.
따라서, Hadoop과 같이 대량의 데이터를 배치 형식으로 분산처리 하기에 적합하게 개발된 데이터베이스를 이용한 데이터의 저장 및 질의 처리의 경우에는, 저장되는 데이터에서 어떤 값을 키(Key) 값으로 정의할지 여부 등 데이터에 의미를 부여하는 작업을 데이터 처리 실행 시점에 해주는 것이 일반적이므로 Hadoop과 같은 대량 데이터 처리용 데이터베이스의 경우에는 일반적인 관계형 데이터베이스의 경우와는 다른 방법을 제공하는 것이 필요하다.
본 실시예는 동적 스키마를 이용한 질의처리 장치 및 그 방법을 제공하는데 주된 목적이 있다.
SQL(Structured Query Language)과 유사한 질의어가 사용 가능한 환경을 제공하면서 다양한 데이터 스키마를 동적으로 생성 가능하도록 하는 데에도 그 목적이 있다.
본 실시예의 일 측면에 의하면, 데이터 그룹별로 각각 해당하는 개별 테이블 스키마가 설정되고 상기 개별 테이블 스키마에 각각 대응하여 저장된 데이터를 이용하여 질의를 처리하는 장치에 있어서, 질의를 수신하는 질의 수신부; 상기 질의를 분석하여 상기 질의에 사용될 데이터 그룹의 스키마로부터 상기 질의에 대응되는 스키마를 조합하여 조합 테이블 스키마를 생성하는 조합스키마 생성부; 및 상기 질의에 사용될 데이터 그룹의 스키마에 대응되는 데이터를 이용하여 상기 조합 테이블 스키마에 대응하는 조합 데이터를 생성하여 상기 질의를 처리하는 질의 처리부를 포함하는 것을 특징으로 하는 동적 스키마 질의처리 장치를 제공한다.
상기 개별 테이블 스키마에는 각각 키(Key) 속성(Attribute)과 논키(Non-key) 속성이 포함될 수 있으며, 복수의 개별 테이블 스키마의 키의 속성은 서로 동일하도록 설정될 수 있다.
상기 조합 테이블 스키마는, 상기 복수개의 개별 테이블 스키마에서 공통되는 키 속성을 상기 조합 테이블 스키마의 키로 설정하고 상기 조합 테이블 스키마의 논키 속성은 상기 복수개의 개별 테이블 스키마에서 각각 적어도 하나의 논키 속성을 포함할 수 있다.
상기 질의에 사용될 데이터 그룹의 스키마는 상기 수신된 데이터 그룹 중에서 선택되는 복수의 데이터 그룹에 대응되는 복수의 개별 테이블 스키마일 수 있다. 또한, 상기 질의 처리부는 상기 조합 테이블 스키마에 대응되는 저장 영역을 설정하고, 상기 복수의 개별 테이블 스키마 중에서 제1 개별 테이블 스키마에 대응되는 데이터를 상기 저장 영역에 매핑시킨 후 상기 복수의 개별 테이블 스키마 중에서 상기 제1 개별 테이블 스키마를 제외한 나머지 개별 테이블 스키마에 대응되는 데이터를 순차적으로 상기 저장 영역에 매핑시켜 상기 조합 데이터를 생성할 수 있다.
상기 질의는, 상기 조합 데이터를 생성하고 상기 조합 데이터를 기반으로 결과 데이터를 생성하는 질의일 수 있다.
상기 동적 스키마 질의처리 장치는, 복수의 필드로 구성된 데이터를 수신하는 필드 데이터 수신부; 상기 수신된 데이터를 그룹별로 각각 저장하는 데이터 저장부; 처리할 데이터 그룹을 지정하고 해당 데이터 그룹의 복수의 필드 데이터에 대한 스키마 설정 요청을 포함하는 명령을 수신하는 스키마 입력부; 및 상기 명령에 따라서 상기 복수의 필드 데이터를 이용하여 상기 지정된 데이터 그룹에 대한 스키마를 설정하는 스키마 설정부를 더 포함하여 구현될 수 있다.
여기서, 상기 명령은, 복수의 데이터 그룹에 대하여 데이터 그룹별로 각각 해당하는 개별 테이블 스키마가 설정되고 상기 개별 테이블 스키마에 각각 대응하여 데이터를 저장하되, 각 데이터 그룹은 서로 동일한 키 속성을 갖도록 스키마 설정을 요청하는 것을 포함할 수 있다.
본 실시예의 다른 측면에 의하면, 컴퓨터에, 데이터 그룹별로 각각 해당하는 개별 테이블 스키마를 생성하고 상기 개별 테이블 스키마에 각각 대응하여 데이터를 저장하는 과정; 질의를 수신하는 과정; 상기 질의를 분석하여 상기 질의에 사용될 데이터 그룹의 스키마로부터 상기 질의에 대응되는 스키마를 조합하여 조합 테이블 스키마를 생성하는 과정; 및 상기 질의에 사용될 데이터 그룹의 스키마에 대응되는 데이터를 이용하여 상기 조합 테이블 스키마에 대응하는 조합 데이터를 생성하여 상기 질의를 처리하는 과정을 포함하는 것을 특징으로 하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상기 저장된 데이터는, 복수의 데이터 그룹에 대하여 데이터 그룹별로 각각 해당하는 개별 테이블 스키마가 설정되고 상기 개별 테이블 스키마에 각각 대응하여 데이터를 저장하되, 각 데이터 그룹은 서로 동일한 키 속성을 갖도록 스키마 설정을 요청하는 명령에 의해 생성될 수 있다.
이상에서 설명한 바와 같이, 본 실시예에 의하면, 동적으로 스키마를 생성하여 데이터를 처리할 수 있도록 한다.
또한, 출력을 원하는 데이터의 스키마가 해당 데이터를 생성하는 질의의 처리 시점에 정의(Lazy binding)되는 환경 구축을 가능해진다. 그리고, 동적으로 데이터의 스키마와 같은 메타 정보를 관리하여 다양한 종류의 데이터에 대해서도 한번의 질의로써 정보를 추출함에 있어서 단일 테이블로 형성된 데이터베이스의 경우와 유사한 성능으로 동일한 효과를 나타낼 수 있다.
이러한 동적 바인딩 구조는 웨이퍼의 제조 공정과 같이 하나의 공정 라인에서 제품에 따라 다양한 형태의 데이터가 출력되는 경우 이를 저장하고 활용하는 경우에 매우 유용하다.
도 1은 본 발명의 일 실시예에 따른 동적 스키마 질의처리 장치를 블록도로 도시한 도면이다.
도 2는 어느 하나의 시험 결과를 저장하기 위한 스키마 및 저장된 시험결과 데이터를 예시한 도면이다.
도 3은 도 2의 경우와는 다른 시험 결과를 저장하기 위한 스키마 및 저장된 시험결과 데이터를 예시한 도면이다.
도 4는 입력된 질의를 분석하여 조합 테이블 스키마 및 그에 대응하여 저장된 데이터를 예시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 데이터 처리부(120)를 블록도로 도시한 도면이다.
도 6은 본 발명의 다른 실시예에 따른 동적 스키마 질의처리 방법을 도시한 흐름도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 본 발명의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 동적 스키마 질의처리 장치(100)를 블록도로 도시한 도면이다.
본 발명의 일 실시예에 따른 동적 스키마 질의처리 장치(100)는 데이터 수신부(110), 데이터 처리부(120), 질의 수신부(130), 조합스키마 생성부(140) 및 질의 처리부(150)를 포함하여 구현될 수 있다. 실시예에 따라서 동적 스키마 질의처리 장치(100)는 그 구성요소 중에서 일부 구성요소는 생략되거나 다른 구성요소를 추가로 포함하여 구현될 수 있다.
데이터 수신부(110)는 저장하고자 하는 데이터를 수신한다.
예컨대, 반도체 웨이퍼(Wafer)를 이용한 칩(Chip) 생산 공정에서 하나의 웨이퍼 라트(Lot)에는 보통 수십개의 웨이퍼가 있으며 하나의 웨이퍼로는 보통 수백 ~ 수천개의 칩을 생산한다. 일반적으로 하나의 칩에 대해서 수백개 이상의 테스트 항목이 있으며, 이 경우 하나의 테스트 항목에 대하여 테스트할 때마다 테스트 결과 데이터가 생성된다.
데이터 수신부(110)가 이러한 시험 결과 데이터를 입력으로 하여 데이터를 수신하는 경우에, 데이터 처리부(120)는 수신된 데이터 그룹별로 각각 해당하는 개별 테이블 스키마(Schema)를 생성하고 생성된 개별 테이블 스키마에 각각 대응하여 수신된 데이터를 그룹별로 저장한다. 예컨대, 칩에 대한 하나의 테스트 항목에 대한 시험 결과마다 개별 테이블 스키마가 생성되고 그에 대응하여 데이터가 저장된다.
도 2는 어느 하나의 시험 결과를 저장하기 위한 스키마 및 저장된 시험결과 데이터를 예시한 도면이고, 도 3은 도 2의 경우와는 다른 시험 결과를 저장하기 위한 스키마 및 저장된 시험결과 데이터를 예시한 도면이다.
도 2에 예시한 바와 같이, 어느 하나의 시험 결과를 입력받은 경우에 데이터 처리부(120)는 이를 저장하기 위한 Table A의 데이터 스키마로서 웨이퍼 번호 속성(Attribute)과 칩 번호 속성을 하나로 묶어 (Wafer No, Chip No)를 키(Key)로 하고 실험결과에 해당하는 속성인 (시험항목 a, 시험항목 b)가 논키(Non-Key) 속성이 되어 (Wafer No, Chip No, 시험항목 a, 시험항목 b)의 형태로서 하나의 레코드를 형성하는 제1 스키마를 생성한다. 그리고 데이터 처리부(120)는 시험대상의 웨이퍼 라트 내의 모든 웨이퍼에 대하여 각 칩에 대응하는 시험 결과로 이루어진 데이터 그룹을 제1 스키마를 갖는 Table A의 테이블 저장공간에 저장한다.
이러한 스키마의 설정은 별도의 입력장치를 이용하여 사용자가 키 속성, 논키 속성의 명칭과 데이터 사이즈 등의 파라미터를 설정함으로써 그 스키마를 설정할 수 있다.
한편, 본 실시예에서의 설명에서 속성, 필드, 컬럼 등의 용어를 혼용하여 사용할 수 있으나, 이는 모두 동일한 개념으로 사용된 것임을 밝혀둔다. 또한, 복수의 속성으로서 하나의 키를 형성하는 경우를 예로 들었으나, 실시예에 따라서는 하나의 속성으로 키를 형성할 수도 있다.
도 3의 경우, 도 2의 경우와는 다른 시험 결과를 입력받은 경우에 데이터 처리부(120)는 이를 저장하기 위한 Table B의 데이터 스키마로서 웨이퍼 번호 속성(Attribute)과 칩 번호 속성을 하나로 묶어 (Wafer No, Chip No)를 키(Key)로 하고 실험결과에 해당하는 속성인 (시험항목 c, 시험항목 d, 시험항목 e)가 논키(Non-Key) 속성이 되어 (Wafer No, Chip No, 시험항목 c, 시험항목 d, 시험항목 e)의 형태로서 하나의 레코드를 형성하는 제2 스키마를 생성한다. 그리고 데이터 처리부(120)는 웨이퍼 라트 내의 시험대상 모든 웨이퍼에 대하여 각 칩에 대응하는 시험 결과로 이루어진 데이터 그룹을 제2 스키마를 갖는 Table B의 테이블 저장공간에 저장한다.
도 2 및 도 3의 경우는, 복수의 개별 테이블 스키마의 키 속성이 서로 동일하도록 복수의 개별 테이블 스키마가 데이터 처리부(120)에 의해 저장된 경우이며, 이러한 경우에 두 테이블을 서로 공통된 키를 이용하는 질의가 입력된 경우 이 질의의 처리에 사용될 수 있다.
질의 수신부(130)는 동적 스키마 질의처리 장치(100)의 사용자로부터 소정의 입력장치를 이용하여 입력된 질의를 수신한다. 여기서 입력되는 질의로는 SQL(Structured Query Language)로 작성된 것을 사용할 수 있으나 본 발명이 이에 한정되지 않고 다양한 언어를 사용할 수 있다.
조합스키마 생성부(140)는 질의 수신부(130)에 입력된 질의를 분석하여 입력된 질의에 사용될 데이터 그룹의 스키마로부터 해당 질의에 대응되는 스키마를 조합하여 조합 테이블 스키마를 생성한다.
조합 테이블 스키마는 스키마 조합에 사용되는 복수개의 개별 테이블 스키마에서 공통되는 키를 조합 테이블 스키마의 키로 설정할 수 있으며, 조합 테이블 스키마의 속성은 스키마 조합에 사용되는 복수개의 개별 테이블 스키마에서 각각 적어도 하나의 속성을 포함한다.
도 4는 입력된 질의를 분석하여 조합 테이블 스키마 및 그에 대응하여 저장된 데이터를 예시한 도면이다.
입력된 질의의 내용이 "(Wafer No, Chip No)를 키로 사용하여 Table A의 시험항목 a 및 시험항목 b와, Table B의 시험항목 c 및 시험항목 d를 Table AB라는 테이블로 생성하라"는 질의1인 경우를 예로 들어 설명한다.
조합스키마 생성부(140)는 위의 질의1에 포함된 테이블 명칭인 Table A와 Table B에 대하여 각각 스키마를 확인하여 (Wafer No, Chip No)가 키로 설정되어 있는지 확인하고, 키와 Table A의 시험항목 a 및 시험항목 b와, Table B의 시험항목 c 및 시험항목 d를 포함하는 속성의 데이터 형식과 사이즈 등의 파라미터를 설정하여 도 4에 도시한 바와 같은 Table AB에 대한 조합 테이블 스키마를 생성한다.
질의 처리부(150)는 입력된 질의에 사용될 데이터 그룹의 스키마에 대응되는 데이터를 이용하여 조합스키마 생성부(140)에서 생성된 조합 테이블 스키마에 대응하는 조합 데이터를 생성하여 질의를 처리한다.
질의 처리부(150)는 Table A와 Table B에 대응되는 키 값과 각 키 값에 대응되는 Table A의 시험항목 a 및 시험항목 b의 데이터와, Table B의 시험항목 c 및 시험항목 d의 데이터를 도 4의 조합 테이블 스키마를 갖는 테이블의 해당 저장 영역에 저장한다.
Hadoop과 같은 대량 데이터 처리용 데이터베이스는 순차 접근(Sequential Access)을 기반으로 하므로 Table AB와 같은 조합 테이블을 생성함에 있어서, 조합 테이블 생성시간을 줄이기 위하여 Table AB의 조합 테이블 스키마에 대응되는 저장 영역을 설정한 후 개별 테이블 스키마를 갖는 개별 테이블의 데이터를 순차적으로 저장한다.
즉, Table AB의 조합 테이블 스키마를 형성하는 데 사용된 복수의 개별 테이블 스키마 중에서 제1 개별 테이블 스키마에 대응되는 데이터(예컨대, Table A의 키, 시험항목 a, 시험항목 b 데이터)를 순차 접근에 의하여 조합 테이블 스키마에 대응되는 Table AB의 저장 영역에 매핑시킨 후 나머지 개별 테이블 스키마에 대응되는 데이터(즉, Table B의 키, 시험항목 c, 시험항목 d 데이터)를 순차적으로 Table AB의 해당 저장 영역에 매핑시켜 조합 테이블 스키마에 대응되는 조합 데이터 테이블을 생성한다.
만일, 입력된 질의가 Table A, Table B, Table C를 이용하여 새로운 조합 테이블을 생성하는 질의(이하, 질의2라 함)인 경우에는, 질의2를 처리하여 생성된 조합 테이블을 위한 저장 영역을 할당한 후 Table A의 데이터를 조합 테이블의 영역에 순차 접근에 의하여 매핑하여 저장하고 Table B의 데이터를 조합 테이블의 영역에 순차 접근에 의하여 매핑하여 저장하고 Table C의 데이터를 조합 테이블의 영역에 순차 접근에 의하여 매핑하여 저장하여 각 해당 테이블의 데이터를 순차적으로 처리한다.
이와 같이 출력을 원하는 데이터의 스키마가 해당 데이터를 생성하는 질의의 처리 시점에 정의(Lazy binding)되는 환경 구축을 가능해진다. 또한, 동적으로 데이터의 스키마와 같은 메타 정보를 관리하여 다양한 종류의 데이터에 대해서도 한번의 질의로써 정보를 추출함에 있어서 단일 테이블로 형성된 데이터베이스의 경우와 유사한 성능으로 동일한 효과를 나타낼 수 있다.
이러한 동적 바인딩 구조는 웨이퍼의 제조 공정과 같이 하나의 공정 라인에서 제품에 따라 다양한 형태의 데이터가 출력되는 경우 이를 저장하고 활용하는 경우에 매우 유용하다.
도 5는 본 발명의 일 실시예에 따른 데이터 처리부(120)를 블록도로 도시한 도면이다.
본 발명의 일 실시예에 따른 데이터 처리부(120)는 필드 데이터 수신부(510), 데이터 저장부(520), 질의 입력부(530) 및 스키마 설정부(540)를 포함한다. 실시예에 따라서 본 발명의 다른 실시예에 따른 데이터 처리부(120)는 그 구성요소 중에서 일부 구성요소는 생략되거나 다른 구성요소를 추가로 포함하여 구현될 수 있다.
필드 데이터 수신부(510)는 복수의 필드로 구성된 데이터를 수신한다. 여기서 복수의 필드로 구성된 데이터는 스키마가 설정되지 않은 단순히 복수의 필드로 구분된 형식의 데이터일 수도 있고, 또는 본 실시예에서 사용하고자 하는 데이터 형식에 따른 스키마를 갖춘 데이터 테이블일 수도 있다.
데이터 저장부(520)는 수신된 데이터를 기설정된 그룹별로 각각 저장한다.
스키마 입력부(530)는 데이터 저장부(520)에 저장된 데이터 그룹 중에서 처리할 데이터 그룹을 지정하고 해당 데이터 그룹의 복수의 필드 데이터에 대한 스키마 설정 요청을 포함하는 질의 명령을 수신한다.
스키마 설정부(540)는 스키마 입력부(530)에서 입력된 질의 명령에 따라서 해당 데이터 그룹의 복수의 필드 데이터를 이용하여 지정된 데이터 그룹에 대한 스키마를 설정한다.
만일, 복수의 필드로 구성된 데이터가 필드가 스키마가 설정되지 않은 단순히 필드가 복수개인 형식의 데이터라면 스키마 설정부(540)는 해당 데이터 그룹에 대하여 새로운 스키마를 설정한다.
복수의 필드로 구성된 데이터가 필드가 스키마를 갖춘 데이터 테이블인 경우에 스키마 설정부(540)는 속성 이름을 재설정하는 동작을 수행할 수도 있다. 이 경우, 스키마 설정부(540)는 다수의 데이터 그룹에 대하여 서로 동일한 키 속성을 갖도록 키에 대응되는 속성의 명칭을 동일하도록 처리할 수 있다.
도 6은 본 발명의 다른 실시예에 따른 동적 스키마 질의처리 방법을 도시한 흐름도이다.
본 발명의 다른 실시예에 따른 동적 스키마 질의처리 방법은 데이터 수신과정(S610), 데이터 처리과정(S620), 질의 수신 과정(S630), 조합스키마 생성과정(S640) 및 질의 처리과정(S650)을 포함한다.
데이터 수신과정(S610)에서는 저장하고자 하는 데이터를 사용자 입력장치 또는 외부의 데이터 입력장치로부터 수신한다.
데이터 처리과정(S620)에서는 수신된 데이터 그룹별로 각각 해당하는 개별 테이블 스키마(Schema)를 생성하고 수신된 데이터를 개별 테이블 스키마에 각각 대응하여 그룹별로 저장한다.
질의 수신 과정(S630)에서는 동적 스키마 질의처리 장치(100)의 사용자로부터 소정의 입력장치를 이용하여 입력된 질의를 수신한다.
조합스키마 생성과정(S640)에서는, 질의 수신과정(S630)에서 입력된 질의를 분석하여 입력된 질의에 사용될 데이터 그룹의 스키마로부터 해당 질의에 대응되는 스키마를 조합하여 조합 테이블 스키마를 생성한다.
질의 처리과정(S650)에서는 입력된 질의에 사용될 데이터 그룹의 스키마에 대응되는 데이터를 이용하여 조합스키마 생성과정(S640)에서 생성된 조합 테이블 스키마에 대응하는 조합 데이터를 생성하여 질의를 처리한다.
데이터 수신과정(S610), 데이터 처리과정(S620), 질의 수신 과정(S630), 조합스키마 생성과정(S640) 및 질의 처리과정(S650)은 데이터 수신부(110), 데이터 처리부(120), 질의 수신부(130), 조합스키마 생성부(140) 및 질의 처리부(150)의 동작에 각각 대응되므로 더 이상의 상세한 설명은 생략한다.
도 6에서는 과정 S610 내지 과정 S650을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 발명의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것이다. 다시 말해, 본 발명의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 6에 기재된 순서를 변경하여 실행하거나 과정 S610 내지 과정 S650 중 하나 이상의 과정을 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 6은 시계열적인 순서로 한정되는 것은 아니다.
본 발명의 실시예에 따른 동적 스키마 질의처리 장치(100)는 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 프로그램을 실행하기 위한 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미할 수 있다. 적어도 일 실시예에 따르면, 메모리는 램(Random Access Memory: RAM), 롬(Read Only Memory: ROM), 플래시 메모리, 광 디스크, 자기 디스크, 솔리드 스테이트 디스크(Solid State Disk: SSD) 등의 컴퓨터로 판독 가능한 기록/저장매체일 수 있다. 적어도 일 실시예에 따르면, 마이크로프로세서는 명세서에 기재된 동작과 기능을 하나 이상 선택적으로 수행하도록 프로그램될 수 있다. 적어도 일 실시예에 따르면, 마이크로프로세서는 전체 또는 부분적으로 특정한 구성의 주문형반도체(Application Specific Integrated Circuit: ASIC) 등의 하드웨어로써 구현될 수 있다.
전술한 바와 같이, 도 6에 기재된 동적 스키마 질의처리 방법은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 동적 스키마 질의처리 방법을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 이러한 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 본 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드 및 코드 세그먼트들은 본 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
110: 동적 스키마 질의처리 장치
110: 데이터 수신부
120: 데이터 처리부
130: 질의 수신부
140: 조합스키마 생성부
150: 질의 처리부
510: 필드 데이터 수신부
520: 데이터 저장부
530: 질의 입력부
540: 스키마 설정부

Claims (11)

  1. 데이터 그룹별로 각각 해당하는 개별 테이블 스키마가 설정되고 상기 개별 테이블 스키마에 따라 각각 저장된 개별 테이블을 이용하여 질의를 처리하는 장치에 있어서,
    복수의 개별 테이블에 대한 공통 키 속성에 따라 상기 복수의 개별 테이블에 대한 조합 테이블을 생성하기 위한 제1 질의를 수신하는 질의 수신부;
    상기 복수의 개별 테이블에 대응하는 복수의 개별 테이블 스키마로부터 상기 복수의 개별 테이블의 키 속성이 각각 상기 공통 키 속성으로 설정되었는지 여부를 확인하여 상기 제1 질의에 따라 상기 복수의 개별 테이블 스키마를 조합하여 조합 테이블 스키마를 생성하는 조합스키마 생성부; 및
    상기 복수의 개별 테이블로부터 상기 조합 테이블 스키마에 대응하는 상기 조합 테이블을 생성하여 상기 제1 질의를 처리하는 질의 처리부
    를 포함하되,
    상기 제1 질의의 내용에는 상기 공통 키 속성이 포함되고,
    상기 개별 테이블 스키마는 각각 키 속성과 논키(Non-key) 속성을 포함하고,
    상기 조합 테이블 스키마의 키 속성은 상기 공통 키 속성으로부터 결정되고 상기 조합 테이블 스키마의 논키 속성은 상기 복수의 개별 테이블 스키마로부터 각각 적어도 하나의 논키 속성을 포함하는 것을 특징으로 하는 동적 스키마 질의처리 장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 제1항에 있어서, 상기 질의 처리부는,
    상기 조합 테이블 스키마에 대응되는 저장 영역을 설정하고, 상기 복수의 개별 테이블 스키마 중에서 제1 개별 테이블 스키마에 대응되는 데이터를 상기 저장 영역에 매핑시킨 후 상기 복수의 개별 테이블 스키마 중에서 상기 제1 개별 테이블 스키마를 제외한 나머지 개별 테이블 스키마에 대응되는 데이터를 순차적으로 상기 저장 영역에 매핑시켜 상기 조합 테이블을 생성하는 것을 특징으로 하는 동적 스키마 질의처리 장치.
  7. 제1항에 있어서, 상기 제1 질의는,
    상기 조합 테이블을 생성하고 상기 조합 테이블을 기반으로 결과 데이터를 생성하는 질의인 것을 특징으로 하는 동적 스키마 질의처리 장치.
  8. 제1항에 있어서, 상기 동적 스키마 질의처리 장치는,
    복수의 필드로 구성된 데이터를 수신하는 필드 데이터 수신부;
    상기 수신된 데이터를 그룹별로 각각 저장하는 데이터 저장부;
    처리할 데이터 그룹을 지정하고 해당 데이터 그룹의 복수의 필드 데이터에 대한 스키마 설정 요청을 포함하는 명령을 수신하는 스키마 입력부; 및
    상기 명령에 따라서 상기 복수의 필드 데이터를 이용하여 상기 지정된 데이터 그룹에 대한 스키마를 설정하는 스키마 설정부
    를 더 포함하는 것을 특징으로 하는 동적 스키마 질의처리 장치.
  9. 제8항에 있어서, 상기 명령은,
    복수의 데이터 그룹에 대하여 데이터 그룹별로 각각 해당하는 개별 테이블 스키마가 설정되고 상기 개별 테이블 스키마에 각각 대응하여 개별 테이블을 저장하되, 각 개별 테이블이 서로 동일한 키 속성을 갖도록 스키마 설정을 요청하는 것을 포함하는 것을 특징으로 하는 동적 스키마 질의처리 장치.
  10. 컴퓨터에,
    데이터 그룹별로 각각 해당하는 개별 테이블 스키마를 생성하고 상기 개별 테이블 스키마에 따라 각각 개별 테이블을 저장하는 과정;
    복수의 개별 테이블에 대한 공통 키 속성에 따라 상기 복수의 개별 테이블에 대한 조합 테이블을 생성하기 위한 제1 질의를 수신하는 과정;
    상기 복수의 개별 테이블에 대응하는 복수의 개별 테이블 스키마로부터 상기 복수의 개별 테이블의 키 속성이 각각 상기 공통 키 속성으로 설정되었는지 여부를 확인하여 상기 제1 질의에 따라 상기 복수의 개별 테이블 스키마를 조합하여 조합 테이블 스키마를 생성하는 과정; 및
    상기 복수의 개별 테이블로부터 상기 조합 테이블 스키마에 대응하는 상기 조합 테이블을 생성하여 상기 제1 질의를 처리하는 과정
    을 실행하되,
    상기 제1 질의의 내용에는 상기 공통 키 속성이 포함되고,
    상기 개별 테이블 스키마는 각각 키 속성과 논키(Non-key) 속성을 포함하고,
    상기 조합 테이블 스키마의 키 속성은 상기 공통 키 속성으로부터 결정되고 상기 조합 테이블 스키마의 논키 속성은 상기 복수의 개별 테이블 스키마로부터 각각 적어도 하나의 논키 속성을 포함하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  11. 제10항에 있어서, 상기 저장된 개별 테이블은,
    복수의 데이터 그룹에 대하여 데이터 그룹별로 각각 해당하는 개별 테이블 스키마가 설정되고 상기 개별 테이블 스키마에 각각 대응하여 개별 테이블을 저장하되, 각 개별 테이블은 서로 동일한 키 속성을 갖도록 스키마 설정을 요청하는 명령에 의해 생성된 것을 특징으로 하는 컴퓨터로 읽을 수 있는 기록매체.
KR1020140147366A 2014-10-28 2014-10-28 동적 스키마를 이용한 질의처리 장치 및 그를 위한 컴퓨터로 읽을 수 있는 기록 매체 KR102216886B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140147366A KR102216886B1 (ko) 2014-10-28 2014-10-28 동적 스키마를 이용한 질의처리 장치 및 그를 위한 컴퓨터로 읽을 수 있는 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140147366A KR102216886B1 (ko) 2014-10-28 2014-10-28 동적 스키마를 이용한 질의처리 장치 및 그를 위한 컴퓨터로 읽을 수 있는 기록 매체

Publications (2)

Publication Number Publication Date
KR20160049753A KR20160049753A (ko) 2016-05-10
KR102216886B1 true KR102216886B1 (ko) 2021-02-17

Family

ID=56020894

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140147366A KR102216886B1 (ko) 2014-10-28 2014-10-28 동적 스키마를 이용한 질의처리 장치 및 그를 위한 컴퓨터로 읽을 수 있는 기록 매체

Country Status (1)

Country Link
KR (1) KR102216886B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060218163A1 (en) 2005-03-28 2006-09-28 Microsoft Corporation Rapid prototyping database

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100701104B1 (ko) * 2004-12-22 2007-03-28 한국전자통신연구원 분산된 정보들의 통합 뷰 생성을 위한 데이터베이스스키마 생성 방법 및 정보 통합 시스템
KR20090066036A (ko) * 2007-12-18 2009-06-23 덕성여자대학교 산학협력단 전역 뷰 생성 도구를 이용한 데이터베이스 통합 방법
KR101368068B1 (ko) * 2012-03-29 2014-02-27 주식회사 엘지씨엔에스 데이터베이스 구축 방법, 이를 실행하는 데이터베이스 구축 서버 및 이를 저장한 기록 매체

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060218163A1 (en) 2005-03-28 2006-09-28 Microsoft Corporation Rapid prototyping database

Also Published As

Publication number Publication date
KR20160049753A (ko) 2016-05-10

Similar Documents

Publication Publication Date Title
CN107798038B (zh) 数据响应方法及数据响应设备
US8935575B2 (en) Test data generation
CN107239479A (zh) 一种基于区块链的数据存储以及查询的方法及装置
US8949222B2 (en) Changing the compression level of query plans
US20110099173A1 (en) Indexing In A Resource Description Framework Environment
WO2021179722A1 (zh) Sql语句解析方法、系统、计算机设备和存储介质
CN111324577B (zh) 一种Yml文件读写的方法及装置
US9846714B2 (en) Database device
CA2957674A1 (en) Testing insecure computing environments using random data sets generated from characterizations of real data sets
JP5844895B2 (ja) データの分散検索システム、データの分散検索方法及び管理計算機
WO2019205790A1 (zh) 一种数据操作方法及装置
US20110246479A1 (en) Creating Indexes for Databases
CN112912870A (zh) 租户标识符的转换
US20140067853A1 (en) Data search method, information system, and recording medium storing data search program
US20180025058A1 (en) Technique for processing query in database management system
US9129001B2 (en) Character data compression for reducing storage requirements in a database system
US20230153455A1 (en) Query-based database redaction
WO2023030461A1 (zh) 一种分布式数据库检测方法及装置
KR102216886B1 (ko) 동적 스키마를 이용한 질의처리 장치 및 그를 위한 컴퓨터로 읽을 수 있는 기록 매체
KR102182573B1 (ko) 대용량 데이터 환경에서 접근권한 인증 장치 및 그를 위한 컴퓨터로 읽을 수 있는 기록매체
US9537941B2 (en) Method and system for verifying quality of server
WO2020068680A1 (en) Identification of records for post-cloning tenant identifier translation
US11741134B2 (en) Conversion and migration of key-value store to relational model
JP2011113103A (ja) マルチテナント型コンピュータシステム
WO2020018144A1 (en) System and method for data security grading

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