빅데이터(BigData) 처리 기술에는 인프라 기술(Infra Technology)과 데이터베이스 기술(Database Technology)로 나눌수가 있습니다인프라 기술은 오픈소스(Open Source) 진영과 기존의 IT 메가 벤더 진영으로 크게 분류할 수 있습니다.

 

데이터베이스 기술(Database Technology)은 기업에서 구축한 정형데이터를 관리하는 RDB(Relational Database)와 소셜네트워크서비스(SNS, Social Network System)에서 수집한 비 정형 데이터를 저장하는 NoSQL로 분류할 수 있으며최근에는 RDB NoSQL의 장점을 결합한 NewSQL 형태로 진화를 거듭하고 있습니다.  



 빅데이터 인프라 기술(Infra Technology)

빅데이터와 같은 엄청난 규모의 데이터를 분석하기 위해서는 먼저 인프라 기술이 갖추어져야 한다이러한 기술력 확보를 위해서 클라우데라(Cloudera), 야후(Yahoo), 아마존(Amazon), 구글(Google) 등의 기업들은 각자의 기술을 개발오픈소스화에 앞장서고 있습니다

 

 

하둡(Hadoop)

더그 커팅과 마이크 카파렐라에 의해 개발된 하둡(Hadoop)은 방대한 양의 정형/비정형 데이터를 분산 처리하여 빠른 시간내에 결과를 제공하는 오픈소스 기반의 데이터 관리 기술로 분산시스템에서 대량의 자료를 처리하는 자유 자바 소프트웨어 프레임워크입니다

 

하둡의 뿌리는 구글과 맞닿아 있습니다이는 구글이 설립 초기부터 대규모 자료를 검색하고 분석하는데 사용한 분산 파일시스템(GFS, Google File System)과 분석 처리 시스템 MapReduce에 대한 논문을 접한 더그 커팅이 이를 참고하여 구현한 것이기 때문입니다.

 

대표적인 하둡 솔루션 업체로는 클라우데라(Cloudera)와 호튼웍스(Hotonworks)가 있습니다클라우데라는 빅데이터와 클라우드 시장의 교육 및 기술지원을 제공하고 있고 호튼웍스는 하둡의 코어기술과 아키텍처 개선을 담당하고 있습니다.

 

 

구글의 빅쿼리(Big Query)

구글의 ‘빅쿼리는 빅데이터를 클라우드 상에서 신속하게 분석해주는 서비스입니다이용자가 구글 클라우드 스토리지에 분석하고자 하는 데이터를 업로드하면 웹 브라우저를 통해 해당 데이터가 분석됩니다따라서 기업은 별도 인프라를 구축하지 않고도 데이터를 분석할 수 있습니다.

 

‘빅쿼리’는 초당 수십억 단위 행(rows) 데이터를 다룰 수 있으며데이터 탐색 범위를 테라바이트 규모가지 확장할 수 있습니다. ‘빅쿼리’ 인프라를 사용해 기업들은 자체 서버와 솔루션을 구축하지 않고도 데이터를 저장하고 이를 분석하는 프로그램 역시 ‘빅쿼리를 통해 개발해 서비스를 운영할 수 있습니다.

 

 

아마존의 다이나모(Dynamo)

2007년말 아마존은 차세대 가상 분산 저장공간(Virtual Distributed Storage) 시스템인 다이나모를 공개합니다일단 아마존 웹 서비스(AWS, Amazon Web Service)을 통해서 자신들이 가장 잘하는 전자상거래 분야를 장악한 아마존이 웹 기반의 인프라 시스템 기술에 도전하기 시작합니다.

 

다이나모는 새롭게 소개된 AWS NoSQL 서비스입니다-밸류(Key-Value) 형태로 대용량의 데이터를 저장할 수 있으며 고속의 데이터 접근도 가능합니다. RDBMS(Relational Database Management System)와 동일한 테이블(Table) 개념을 가지고 있으며 테이블은 테이블명과 각각의 row로 구성됩니다.

 

다이나모가 RDBMS와 다른점은 인덱스(Index) 필드가 없다는 것입니다그 대신에 Range Query Sorting을 지원하기 위해서 Range Key라는 추가적인 키를 가집니다내부적으로 SSD 디스크를 이용하기 때문에 높은 IO 성능을 보장할 수 있습니다.

 

 

 

 데이터베이스 기술(Database Technology)

데이터베이스(DB, Database) 크게 SQL, NoSQL NewSQL로 구분할 수 있습니다처음에는 SQL의 편의성 때문에 기업들이 다른 DB 시스템을 사용하지 않았습니다시간이 흐르고 소셜네트워크 시스템(SNS, Social Network System) 의 등장으로 비 정형 데이터를 처리할 필요가 생기게 됩니다.

 

개발자들은 비정형 데이터를 더욱 쉽게 처리하고 저장하는 구조를 가진 NoSQL DB로 관심을 돌립니다. NoSQL은 틀이 정해져 있는 SQL에서 벗어나 분산 아키텍처의 확장성유연성과 비정형 데이터를 처리할 수 있는 기술로 자리잡기 시작합니다. NoSQL이 대부분 오픈 소스 프로젝트로 저렴한 비용으로 데이터를 처리할 수 있다는 점도 인기를 끌었습니다.

 

이런 NoSQL에도 단점이 있습니다스키마(Schema) 변경이 불가능해서 막상 데이터에 문제가 생겼을 때 감지하기가 쉽지 않으며대용량의 데이터를 처리하므로 실시간(Realtime) 처리보다는 배치(Batch) 처리에 적합합니다경영자들이 현황을 파악하기에 불편함을 초래합니다여기에 SQL과 같이 정해진 언어가 없는데다가 도큐먼트(Document) 스토리지(Storage) 기반으로 되어 있어 레코드를 개발해 본인들이 직접 넣어야 하는 식이어서 사용이 매우 불편합니다.

 

기존 SQL 기반의 RDB 장점을 포용하고확장성과 유연성 등 NoSQL의 장점을 가미한 NewSQL이 등장한 배경입니다.

 

 

NoSQL(Not-Only SQL)

전통적인 관계형 데이터베이스(RDBMS, Relational Database Management System)와 다르게 설계된 비 관계형 데이터베이스를 의미합니다대표적인 NoSQL 솔루션으로는 카산드라(Cassandra), Hbase, 몽고디비(MongoDB)등이 있습니다. NoSQL은 테이블 스키마(Table Schema)가 고정되어 있지 않고테이블간 조인(Join) 연산을 지원하지 않으며수평적 확장(Horizontal Scalability)이 용이한 장점이 있습니다.

 

 

NewSQL

415그룹의 Matt Aslett가 NewSQL이란 용어를 만들었고, NoSQL처럼 높은 확장성과 성능을 갖춘 RDB를 말합니다. SQL을 지원하고, SQL이 트랜잭션 데이터를 처리하기 위해 기업이 갖추어야 할 4가지 속성인 ACID(Atomicity, Consistency, Isolation, Durability) 등록 정보를 준수합니다여기에 NoSQL의 특징인 확장성과 유연성을 데이터베이스 관리 시스템(DBMS)에 더했습니다. SQL NoSQL 에서 장점만 뽑아서 결합한 것입니다참고로 SQL 1970년대 등장한 오래된 기술이고 NoSQL 2004년 구글이 발표한 맵리듀스(MapReduce) 관련 논문에서 나온 개념입니다

+ Recent posts