Publications

Detailed Information

분산 메인 메모리 컬럼 데이터베이스에서의 K-means 알고리즘 구현

DC Field Value Language
dc.contributor.advisor차상균-
dc.contributor.author정재웅-
dc.date.accessioned2017-07-14T02:51:21Z-
dc.date.available2017-07-14T02:51:21Z-
dc.date.issued2013-02-
dc.identifier.other000000010581-
dc.identifier.urihttps://hdl.handle.net/10371/122977-
dc.description학위논문 (석사)-- 서울대학교 대학원 : 전기·컴퓨터공학부, 2013. 2. 차상균.-
dc.description.abstract여러 분야에서 다루는 데이터의 크기는 지속적으로 증가하는 추세이며 이런 대용량 데이터에 대해 효율적으로 데이터마이닝 기법을 적용하고자 하는 요구가 증가하고 있다. Hadoop과 같은 분산프레임웍을 이용하면 대용량 데이터를 다룰 수 있지만 인터페이스의 한계 등으로 최적의 성능을 얻기는 어렵다. 분산 메인 메모리 컬럼 데이터베이스를 이용할 경우 분산환경에서 대용량 데이터를 관리하기에 용이하고 메인 메모리 환경에서 빠른 연산이 가능하지만 분산 및 메인 메모리 환경을 제대로 활용한 데이터마이닝 구현은 제대로 제공하지 못하고 있다.
본 논문에서는 분산 메인 메모리 컬럼 데이터베이스 환경에서 대용량 데이터에 대해 효율적으로 K-means 알고리즘을 적용하는 방안을 모색하였다. 컬럼 테이블에 저장된 데이터를 효율적으로 이용하기 위해 컬럼 테이블에 적합한 K-means 알고리즘을 제안하였으며 stored procedure 및 내부 API를 이용하여 데이터 접근 및 분산환경에서의 데이터 동기화 과정을 빠르게 처리할 수 있게 구현하였다.
데이터는 partitioned 컬럼 테이블을 이용해 각 노드에 분산저장하며 내부 API를 통해 각 노드 간 데이터 동기화 과정을 효율적으로 처리하였다. 각 노드에서는 내부 API를 통해 할당된 partition에만 빠르게 접근하여 locality 정보를 살려 데이터 intensive한 계산과정을 수행하도록 하였다. 컬럼 테이블에 저장된 데이터에 대해 효율적으로 K-means를 적용하기 위해 dictionary encoding 및 inverted index를 이용해 컬럼 단위로 계산을 수행하는 알고리즘을 제안하였다.
위에서 언급한 내용을 바탕으로 데이터마이닝 알고리즘 중 잘 알려진 K-means 알고리즘(KM)과 triangle inequality를 이용한 optimized version의 K-means 알고리즘(EKM)을 분산 메인 메모리 컬럼 데이터베이스 상에서 구현하였다. 구현한 알고리즘의 scalability를 확인한 결과 데이터, 클러스터, 노드 등의 개수에 대해 linear scalability를 보였다. 분산환경에서 Hadoop과 성능을 비교한 결과 8배 정도의 성능 향상을 보였다. 또한 컬럼 테이블에 저장된 데이터를 더 효율적으로 처리할 수 있는 K-means 알고리즘(CEKM)을 구현하여 컬럼 테이블에서 효율적인 K-means 알고리즘의 적용이 가능함을 확인하였다.
-
dc.description.tableofcontents초록 i
목차 iii
제 1 장 서론 1
1.1 연구 배경 1
1.2 문제 정의 2
1.3 연구 목표 및 접근 방법 3
1.4 연구 결과 요약 4
1.5 논문 구성 5

제 2 장 배경 지식 및 관련 연구 6
2.1 분산 데이터베이스 및 분산 데이터마이닝 6
2.2 아파치 마하웃 (Apache Mahout) 7
2.3 관련연구 7

제 3 장 Internal 데이터베이스 레벨에서의 K-means의 구현 9
3.1 접근방법 9
3.2 구현 11
3.2.1 데이터 저장 형식 11
3.2.2 데이터에의 접근방법 12
3.2.3 K-means 알고리즘의 수행 14
3.2.4 노드 간 데이터 통신 제어 18


제 4 장 컬럼 테이블 상에서의 K-means 알고리즘의 최적화 21
4.1 접근방법 21
4.2 구현 22
4.2.1 Attribute 단위의 거리 계산 22
4.2.2 Dictionary 및 inverted index를 이용한 구현 25
4.2.3 삼각부등식을 이용한 거리 계산 생략 과정 27

제 5 장 실험 및 결과 30
5.1 C++ 및 stored procedure에서의 EKM 성능 30
5.2 K-means 알고리즘의 scalability 31
5.3 Hadoop상에서의 구현과의 비교 34
5.4 CEKM의 성능평가 36

제 6 장 결론 및 향후 현구 38
참고문헌 40
ABSTRACT 42
-
dc.formatapplication/pdf-
dc.format.extent1318175 bytes-
dc.format.mediumapplication/pdf-
dc.language.isoko-
dc.publisher서울대학교 대학원-
dc.subject.ddc621-
dc.title분산 메인 메모리 컬럼 데이터베이스에서의 K-means 알고리즘 구현-
dc.typeThesis-
dc.description.degreeMaster-
dc.citation.pagesiv, 43-
dc.contributor.affiliation공과대학 전기·컴퓨터공학부-
dc.date.awarded2013-02-
Appears in Collections:
Files in This Item:

Altmetrics

Item View & Download Count

  • mendeley

Items in S-Space are protected by copyright, with all rights reserved, unless otherwise indicated.

Share