블록체인 기반의 지리공간 데이터를 위한 공간 인덱싱 기법
- 주제(키워드) 블록체인
- 발행기관 서강대학교 일반대학원
- 지도교수 정성원
- 발행년도 2019
- 학위수여년월 2019. 2
- 학위명 석사
- 학과 및 전공 일반대학원 컴퓨터공학과
- 실제URI http://www.dcollection.net/handler/sogang/000000064120
- UCI I804:11029-000000064120
- 본문언어 한국어
- 저작권 서강대학교 논문은 저작권보호를 받습니다.
초록/요약
최근 블록체인이라는 기술이 큰 이슈가 되면서 많은 사람들의 관심을 가지게 되었다. 블록체인은 분산 데이터베이스와 유사한 형태로 데이터를 블록이라는 구조에 저장하고 이를 체인화 하여, 네트워크 참여자들이 이를 저장 · 검증하도록 하여 데이터 위변조를 막는 분산 컴퓨팅 기술로써 4차 산업 혁명의 주된 기술이다. 블록체인의 이러한 특성에 의해 코인과 같은 금용 서비스에서 큰 이슈가 되며 시작이 되었지만, 이러한 분야를 넘어 다양한 분야에 대한 응용 서비스 개발과 연구가 진행되고 있다. 그 중 물건 유통에서의 위치 데이터 위변조 방지, IoT에서 사용자 위치 변화에 따른 운동량 측정 등 블록체인을 다양한 분야로 확장함에 있어서 지리공간 데이터의 필요성이 중요해지고 있다. 하지만 이더리움, 하이퍼 레저와 같은 기존의 블록체인 플랫폼에서 key-value 형태의 LevelDB, CouchDB의 LSM 트리를 사용하여 다차원의 공간데이터를 다루는 것은 적합하지 않다. 또한 공간데이터를 처리하는 R 트리와 같은 기존의 인덱스 기법은 지속적으로 트랜잭션 데이터를 블록에 삽입하는 블록체인의 환경에서 디스크 I/O를 최소화하지 못한다. 그러므로, 블록체인에서 지리공간 데이터를 다루기 위해서 데이터 삽입에 효과적인 새로운 인덱스와 저장 방식에 대한 개발이 필수적이다. 따라서 본 논문에서는 블록체인의 데이터 삽입의 처리 시간 및 디스크 I/O의 최소화하기 위한 방법론을 제안한다. 우선, 메모리에 블록 단위의 지리공간 데이터를 일정량을 누적시킨다. 그리고, 어느 정도의 양이 되었을 때 메모리에 누적된 데이터를 백그라운드에서 병렬처리 방법을 이용하여 디스크로 Flush 시키고, 동시에 새로운 대용량 지리공간 데이터를 메모리에 실시간으로 저장한다. 이러한 과정에서 메모리로의 데이터 빠른 삽입과 디스크 Flush에서 성능을 위하여 전체 범위에 대하여 일정한 범위를 가지는 격자를 기반으로 전체 범위를 나누어 각 격자의 디렉토리에 데이터를 저장하는 방식의 균일 그리드(fixed grid)를 기반으로 인덱스를 구축한다. 이 과정에서 균일 그리드 인덱스 모델의 가장 큰 단점인 격자당 데이터의 개수가 page 크기를 넘어갈 경우의 page 오버플로우의 문제는 일정 개수의 데이터가 메모리에 누적되면 디스크로 Flush하는 방법과 디스크의 데이터에 대해서 Single 구조의 균일 그리드 형태가 아니라 각 레벨 별로 전체 범위에 대해 4분할을 통하여 Multi 구조 형태로 해결한다. 이를 통해 데이터의 분포가 많은 곳에 대해서는 더 좁으면서 구체적인 범위의 대한 적응적 분할로 편향된 데이터 분포의 문제 해결 및 디스크 I/O를 최소화를 통하여 좋은 성능을 보인다. 이런 인덱스를 통하여 블록체인 분야에서 지리공간 데이터와 같은 다차원의 데이터에 대해 처리가 가능할 뿐만 아니라 기존의 지리공간 인덱스 모델에서 가능한 포인트 질의, 범위 질의, kNN(k – Nearest Neighbors)질의와 같은 공간 질의 처리를 제공하며 블록체인에 적합하지 않은 기존의 지리공간 인덱스와 유사한 공간 질의 처리 성능을 보인다.
more

