본문 바로가기

Bigdata Hadoop

빅 데이터 활용에 현실적인 접근은?

반응형



빅 데이터 활용에 현실적인 접근은?


데이터 경영에서 새로운 비즈니스 서비스를 낳는 원동력으로 기대를 모으고 있는 빅 데이터는 "분산 처리에 의한 대량의 비정형 데이터 분석"이라고 파악하기 십상이지만, 그것만이 빅 데이터는 아니다. 본고에서는 일반 기업이 빅 데이터를 활용하는데 중요한 과제인 데이터 관리 기술의 선택에 대해 고찰하고자 한다. 


ㅇ 빅 데이터는 무엇을 바꾸나 


정보는 사람, 물건, 돈과 함께 경영의 4대 자원으로, 데이터를 분석하여 사업의 경쟁 우위를 획득하려는 생각은 오래 전부터 존재한다. 그리고 데이터 소스가 기존과 같은 정보 시스템뿐만 아니라, 트윗이나 블로그 같은 사람의 활동에 관련된 것이나, 각종 센서나 기기 등의 시스템 영역에까지 퍼진 현재의 이러한 데이터를 분석하는 결과와 통찰력은 비즈니스에 더 큰 가치를 가져다 줄 것이다. 


게다가 이러한 데이터를 대량으로 축적하고, 고속으로 처리할 수 있는 기술이 빠르게 진화하고 있다. 예컨대 마케팅에도 혁신적인 변화가 일어나고 있다. 지금까지는 "20 ~ 30세 여성, 수도권 거주"라는 소비자상을 설정하고 TV에서 CM을 흘리는 등 형태의 마케팅을 하여 왔다. 그것이 현재 "연평균 5번 내점 빈도, 구매 평균 단가는 1만원, 지난 10일 이내에 남성용 선물을 인터넷에서 검색한" 특성을 가진 사람이, "방금, 지하철 시부야 역을 내려 도겐를 걷는 것을 "감지하고 스마트 폰에 캠페인 광고를 보내는 등 형태의 마케팅이 당연하게 이루어지려 하고 있다. 


이러한 Volume(대용량), Variety(다양성), Velocity(적시) 등 3개의 "V"를 특징으로 하는 데이터가 이른바 “빅 데이터"이며, 비즈니스의 세계에 큰 무브먼트를 일으키고 있기 때문이다. 


ㅇ 빅 데이터 처리의 3 가지 방법 


빅 데이터를 처리하기 위해, 구체적으로 어떤 기술이 필요한 것일까. 거기에는 크게 3가지가 있다. 



[그림 1] 빅 데이터 관리 기술의 비교 [그림 1] 빅 데이터 관리 기술의 비교




첫 번째는, 지금 가장 주목 받고 있는 "MapReduce"나 "Hadoop"라는 병렬 분산 처리 프레임워크이다. MapReduce는 Google의 검색 엔진 등의 서비스에서 사용되는 병렬 처리 플랫폼이며, 또한 그 개념을 기반으로 개발된 OSS(오픈 소스 소프트웨어)가 Hadoop이다. 


이러한 병렬 분산 처리 프레임워크는 대용량 데이터를 여러 프로세스에서 병렬적으로 처리하고 최종 결과를 병합하는 구조를 가지고 대량의 텍스트 분석 등을 할 때 절대적인 효과를 발휘한다. 단, 병렬 분산 처리 프레임워크가 마치 만능인 것처럼 생각하는 것은 잘못이다. MapReduce와 Hadoop은 어디까지나 일괄 처리 기술이며, 데이터 관리 기술이 아니다. 즉, 실시간성이 요구되는 데이터베이스 처리에는 적합하지만 데이터 전송과 콘텐츠 관리 등의 용도로는 적합하지 않다는 것이다. 


그래서 등장하는 것이 두 번째 접근 NoSQL이다. RDBMS의 구조에 의존하지 않는 유형의 데이터베이스 기술을 말하며, Hadoop 기반 "HBase", Facebook이 개발한 "Cassandra", Amazon이 개발한 "SimpleDB"오픈 소스 "MongoDB" 등이 있다. 


이러한 NoSQL은 SNS의 사용자 간 관계를 표현한 그래프이다. 소셜 그래프 관리 및 분석 등에도 이용되는 등 현재는 초대용량의 비정형 데이터의 관리 및 분석에 필수적인 기술이 되고 있다. 그러나 구조적으로 데이터의 무결성을 엄격하게 보장할 수 없으며, 기업의 기간 시스템 등의 처리에는 적합하지 않다. 


이러한 관점에서 3번째 방법으로 부상하고 있는 것이 확장된 RDBMS이다. RDBMS는 테이블 형식으로 데이터를 관리하기 위해 숫자와 같은 구조화된 데이터를 다루는 것은 자신있지만, 본질적으로 비정형 데이터 처리에 적합하지 않다. 그러나 대상 NoSQL의 반대에서 ACID 속성(Atomicity, Consistency, Isolation, Durability)이라는 특성으로 인해 데이터 무결성은 항상 기밀로 유지된다. 만일 처리 도중에 장애가 발생해도 데이터가 손실되거나 업데이트가 어중간한 상태에서 끝나 버려도 할 수 없다. 무엇보다, 널리 보급된 데이터 조작 언어인 SQL을 사용할 수 있는 장점으로, 지금도 많은 기업, 기술적 장벽이 가장 작은 데이터 관리 기술이다. 


이러한 RDBMS의 장점을 살리면서 RDBMS의 제한을 완화하고 빠른 실시간 확보 및 비정형 데이터의 대응 등을 강화한 것이 확장형 RDBMS이며, 빅 데이터 분야에서 다시 주목을 모으고 있다. RDBMS하면 기존 시스템과의 연계도 용이하고 데이터 저장소를 관리할 수 있다. 


ㅇ 방대한 관측 데이터 처리 속도의 DB를 채용 


확장형 RDBMS에서 빅 데이터를 처리하는 사례로 유럽 우주 기관(ESA)에서 진행되고 있는 "가이아 미션"이라는 프로젝트를 소개하자. 이 프로젝트는 최고의 정확도를 자랑하는 두 개의 카메라를 탑재한 위성 가이아(Gaia)를 발사, 5년의 세월을 걸쳐 10억 개에 달하는 수많은 천체를 80회 이상 관측하였다. 천체의 위치뿐만 아니라, 운동의 방향, 색상, 조성까지 이르는 상세한 데이터를 축적, 천공의 고정밀 3D 맵을 작성하는 것이다. 


유럽 우주국 "가이아 미션"의 페이지 (http://sci.esa.int/science-e/www/area/index.cfm?fareaid=26) 


이 프로젝트에서 크게 부각된 것이 확장형 RDBMS이다. 인터 시스템즈가 개발한 초고속 하이브리드 데이터베이스 "InterSystems Cache"(이하, Cache)가 그것으로, 일반적인 RDBMS보다 빠르게 SQL을 수행할 수 있다. 


ESA가 실시한 기능 검증 데이터베이스에 요구된 사항은 600바이트의 독립적인 Java 객체 50억개 분의 데이터를 24시간 이내에 데이터베이스에 저장할 수 있다. 빠른 데이터 저장이 요구되는 것은 반복에 의한 데이터의 수정 ? 조정을 다음 관측까지 완료시킬 필요가 있기 때문이다. 사실 이러한 요구 사항을 해결할 수 있는 데이터베이스 제품은 쉽게 보이지 않는다. Cache는 IA 서버(8 코어 64 비트 인텔 Xeon 프로세서 탑재)를 이용한 검증 환경에서 평균 112,000 개체/초로 저장 속도를 기록, 불과 12시간 만에 모든 데이터를 가져온다. 


빅 데이터의 활용에는 크게 "데이터 수집", "데이터 축적", "데이터 처리/분석"의 3개의 단계가 있고, 이 모두 빠른 속도를 발휘함으로써, 처음 실시간성을 실현하는 것으로 그 실력을 입증해 보였다. 


ㅇ 고속 SQL 인터페이스를 갖춘 하이브리드 데이터베이스 "InterSystems Cache" 



[그림 2] InterSystems의 개발 플랫폼 [그림 2] InterSystems의 개발 플랫폼



지금까지의 애널리틱스에서는 구조화된 데이터는 RDBMS를, 비정형 데이터는 Hadoop을 하는 식으로 데이터를 각각의 유형에 따라 데이터베이스에 저장하여 관리 ? 처리하는 것을 기본으로 해왔다. 


그러나 이러한 환경에서 다른 유형의 데이터를 복합적으로 조합한 분석을 시도하면 데이터베이스 간의 데이터에 상당한 오버헤드가 발생한다. 또한, 그 실행 과정에서 무수한 복사가 난립하게 되어 운영에도 어려움을 초래할 수 있다. 


이 문제를 근본적으로 해결한 것이 "InterSystems Cache"이며, 모든 종류의 데이터를 하나의 데이터베이스에 저장하고 같은 SQL과 객체 인터페이스의 액세스를 제공한다. 즉, 각각의 데이터를 어떤 유형의 것으로 처리하거나, 사용 목적에 맞게 준비하여 데이터베이스 외부 프로그램에서 결정한다. 완전히 중앙 데이터베이스에서 모든 시스템의 모든 사용자가 데이터를 검색, 자유로운 형태로 활용한다는 진정한 "Single version of the truth"는 빅 데이터의 효율적인 처리를 지원하는 것이다. 


이러한 Cache의 개념을 지지하고 있는 것이 "iKnow"라는 의미 분석 기술이며, 텍스트 및 기타 비구조 데이터 유형의 문서 속에서 중요한 지식, 개념, 관계를 확인하면서 그 문장을 분석하고 나중에 다양한 용도에 사용하는 인덱스 데이터를 생성한다. 또한 인터 시스템즈 자신의 "메모리", "인 데이터베이스", "비트 맵 인덱스"라는 아키텍처는 내부 처리를 초고속화하는 것이다.


출처 : http://www.computerworld.jp/topics/664/205320

자료를 가져가실 때에는 출처 : KISTI 미리안 『글로벌동향브리핑(GTB)』를 밝혀 주시기 바랍니다.



반응형

더욱 좋은 정보를 제공하겠습니다.~ ^^