SlideShare a Scribd company logo
NoSQL
NoSQL Survey Report
이동호 교수님 - 데이터베이스
2011037224
이기찬

NOSQL SURVEY !1
1. NoSQL이란?
NoSQL 데이터베이스는 전통적인 관계형 데이터베이스 보다 덜 제한적인 일관성 모델을 이용
하는 데이터의 저장 및 검색을 위한 매커니즘을 제공한다. 이러한 접근에 대한 동기에는 디자
인의 단순화, 수평적 확장성, 세세한 통제를 포함한다. NoSQL 데이터베이스는 단순 검색 및 추
가 작업을 위한 매우 최적화된 키 값 저장 공간으로, 레이턴시와 스루풋과 관련하여 상당한 성
능 이익을 내는 것이 목적이다. NoSQL 데이터베이스는 빅데이터와 실시간 웹 애플리케이션의
상업적 이용에 널리 쓰인다. 또, NoSQL 시스템은 SQL 계열 쿼리 언어를 사용할 수 있다는 사
실을 강조한다는 면에서 "Not only SQL"로 불리기도 한다.
NoSQL의 특징
● NoSQL은 RDBMS와는 달리 데이터 간의 관계를 정의하지 않는다
가장 큰 특징 중의 하나는 관계형 데이터베이스인 RDBMS가 데이터의 관계를 Foreign Key 등
으로 정의하고 이를 이용해 Join 등의 관계형 연산을 한다고 하면, NoSQL은 데이터 간의 관계
를 정의하지 않는다. 데이터 테이블은 그냥 하나의 테이블이며 각 테이블 간의 관계를 정의하
지도 않고 일반적으로 테이블 간의 Join도 불가능하다.
● RDBMS에 비해 훨씬 더 대용량의 데이터를 저장할 수 있다
RDBMS의 복잡도와 용량 한계를 극복하기 위한 목적으로 등장한 만큼, 페타바이트급의 대용
량 데이터를 저장할 수 있다.
● 분산형 구조
NoSQL은 기존의 RDBMS와는 다르게 하나의 고성능 머신에 데이터를 저장하는 것이 아니라,
일반적인 서버(인텔 계열의 CPU를 사용하는 Commodity Server) 수십 대를 연결해 데이터를 저
장 및 처리하는 구조를 갖는다. 즉 분산형 구조를 통해 데이터를 여러 대의 서버에 분산해 저장
하고, 분산 시에 데이터를 상호 복제해 특정 서버에 장애가 발생했을 때에도 데이터 유실이나
서비스 중지가 없는 형태의 구조다.
●고정되지 않은 테이블 스키마
RDBMS와는 다르게 테이블의 스키마가 유동적이다. 예를 들어 RDBMS의 경우 테이블이 <표
1>과 같은 형태로 되어 있을 때 해당 테이블은 반드시 숫자, 이름 문자열, 주소 문자열만 들어
갈 수 있다.
그런데 NoSQL은 대부분 이런 개념이 없다. ID로 사용하는 키 부분에만 타입이 동일하고,
mandatory(생략되지 않는) 필드로 지정하면 값에 해당하는 컬럼은 어떤 타입이든, 어떤 이름이
오든 허용된다. 즉 <표 2>와 같이 ID 필드는 공통이지만, 데이터를 저장하는 컬럼은 각기 다른
이름과 다른 데이터 타입을 갖는 것이 허용된다.
NOSQL SURVEY !2
2. NoSQL의 주요 핵심 기술
CAP : NoSQL의 이론적 기반
Consistency : each client always has the same view of the data
Availability : all clients can always read and write
Partition tolerance : the system works well across physical network partitions
Consistency (일관성) : 모든 노드들은 동시에 같은 데이터를 보아야 합니다.
Availability (유효성) : 모든 노드는 항상 읽기와 쓰기를 할 수 있어야 합니다.
Partition Tolerance (파티션 허용차) : 시스템은 물리적인 네트워크 파티션을 넘어서도 잘 동작하
여야 합니다
NoSQL에 대해서 이해하려면 먼저 CAP 이론에 대해서 알 필요가 있습니다. CAP이론은
Brewer's CAP Theorem으로 알려져 있는데 분산 컴퓨팅 시스템에서 보장해야 하는 특징으로 위
의 3가지를 정의하고 있습니다.
CAP 이론에 따르면 위 3가지 중에 동시에 2가지만 보장할수 있고 3개를 모두 보장하는 것이 불
가능하다고 나와있습니다. 그래서 데이터를 관리할때 이 3가지 중에 어느 2가지에 중점을 두냐
NOSQL SURVEY !3
는 것은 아주 중요한 부분입니다. 이 부분을 이해하는데 Nathan Hurst이 만든 위의 Visual
Guide to NoSQL Systems는 큰 도움이 됩니다.
Visual Guide to NoSQL Systems
기존에 많이 사용하던 RDBMS는 3가지 중 CA에 집중하고 있습니다. 웹이 발전하면서 다양한
요구사항이 생겨나고 엄청난 양의 데이터를 처리해야 하게 되면서 RDBMS가 갖지 못한 P의
특성이 필요해졌고 그러면서 등장한 것이 NoSQL입니다. 좀더 풀어쓰면 데이터베이스에 대한
수평적 확장(Horizontal Scalability 즉 옆에 서버한대 더 배치해서 데이터베이스를 늘리고 싶다
는 의미입니다.)에 대한 이슈가 발생했고 확장성이슈를 해결하기 위해서 P를 선택하다 보니 기
존에 가지고 있던 C나 A의 특성중 하나를 포기해야 했습니다. 그래서 NoSQL에는 다양한 시도
들이 있지만 가장 중요한 이슈는 확장성을 해결하려는 것으로 생각됩니다.
관계형 데이터베이스는 기본적으로 분산형을 고려해서 디자인 되지 않았습니다. 그래서
ACID(원자성, 일관성, 독립성, 지속성) 트랜잭션 같은 추상화와 고레벨 쿼리모델을 풍부하게
제공할 수 있지만 확장성이 좋지 못하기 때문에 모든 NoSQL 데이터베이스는 다양한 방법으로
확장성 이슈를 해결하기 위해 초점을 맞추고 있습니다. 각 NoSQL에는 여러가지 차이점들이
있지만 CAP의 범주에서만 보면 CP를 선택하거나 AP를 선택하게 됩니다.
왜 비관계형이어야 하는가?
NoSQL이 확장성 이슈를 해결하려고 CP나 AP의 특성을 선택했지만 구체적으로 어떤 특징을
선택하고 왜 그래야 했는지 이해할 필요가 있습니다. NoSQL은 많은 제품군들이 있는데 모두
같은 전략으로 접근하고 있지는 않고 각각에 제품에 따라 다양한 접근을 하고 있는데 아래 적
힌 내용들은 비관계형으로 가기 위한 여러가지 특성들에 대한 이야기이고 제품군에 따라 아래
의 특성들을 선택한 여부는 다른 것으로 보입니다.
관계형 데이터 베이스는 확장하기가 어렵습니다.
Replication - 복제에 의한 확장
Master-Slave 구조에서는 결과를 슬레이브의 갯수만큼 복제해야 하는데 N개의 슬레이브에서
읽을 수 있기 때문에 Read는 빠르지만 Write에서는 병목현상이 발생하게 기 때문에 확장성에
대한 제한을 가지게 됩니다.
다중 마스터구조에서는 마스터를 추가함으로써 쓰기의 성능을 향상시킬 수 있는데 대신에 충
돌이 발생할 가능성이 생기게 됩니다.
Partitioning(Sharding) - 분할에 의한 확장
Read만큼 Write도 확장할 수 있지만 애플리케이션레이어에서 파티션된 것을 인지하고 있어야
합니다. RDBMS의 가치는 관계에 있다고 할 수 있는데 파티션을 하면 이 관계가 깨져버리고
각 파티션된 조각간에 조인을 할 수 없기 때문에 관계에 대한 부분은 애플리케이션 레이어에서
책임져야 합니다. 일반적으로 RDBMS에서 수동 Sharding 은 쉽지 않습니다.
NoSQL에서 필요없는 특성들
NOSQL SURVEY !4
UPDATE와 DELETE
Update와 Delete는 전통적으로 정보의 손실이 발생하기 때문에 잘 사용되지 않으며 후에 데이
터 검사 및 재활성화를 위해서 기록해둘 필요가 있습니다. 그리고 사용자가 커뮤니티를 탈퇴한
다고 그들의 글을 지우지 않듯이 도메인 관점에서는 실제로 삭제되지 않습니다. 이런 접근을
하게 되면 Update / Delete를 모두 Insert로 모델할수 있고 과거 데이터는 버전을 붙혀서 기록할
수 있으며 이 데이터들은 비활성데이터들이 됩니다. 이 INSET-only 시스템에서는 2개의 문제
가 있는데 데이터베이스에서 종속(cascade)에 대한 트리거를 이용할 수 없으며 Query가 비활성
데이터를 걸러내야 할 필요가 있습니다.
JOIN
데이터가 많을 때 JOIN은 많은 양의 데이터에 복잡한 연산을 수행해야 하기 때문에 비용이 많
이 들며 파티션을 넘어서는 동작되지 않기 때문에 피해야 합니다. 정규화는 일관된 데이터를
가지기 쉽게 하고 스토리지의 양을 줄이기 위해서 하는건데 반정규화(De-normalization)를 하면
JOIN문제를 피할 수 있습니다. 반정규화로 일관성에 대한 책임을 디비에서 애플리케이션으로
이동시킬수 있는데 이는 INSERT-only라면 어렵지 않습니다.
ACID 트랜젝션
Atomic (원자성) : 여러 레코드를 수정할 때 원자성은 필요없으며 단일키 원자성이면 충분합니
다.
Consistency (일관성) : 대부분의 시스템은 C보다는 P나 A를 필요로 하기 때문에 엄격한 일관성
을 가질 필요는 없고 대신 결과의 일관성(Eventually Consistent)을 가질 수 있습니다.
Isolation (격리성) : 읽기에 최선을 다하는(Read-Committe) 것 이상의 격리성은 필요하지 않으며
단일키 원자성이 더 쉽습니다.
Durability (지속성) : 각 노드가 실패했을때도 이용되기 위해서는 메모리가 데이터를 충분히 보
관할 수 있을정도로 저렴해지는 시점까지는 지속성이 필요합니다.
고정된 스키마
RDBMS에서는 데이터를 사용하기 전에 스키마를 정의해야하고 Index등을 정의해야 하는데
현재의 웹환경에서는 빠르게 새로운 피쳐를 추가하고 이미 존재하는 피쳐를 조정하기 위해서
는 스키마 수정이 필수적으로 요구됩니다. 하지만 컬럼의 추가/수정/삭제는 row에 lock을 걸고
index의 수정은 테이블에 락을 걸기 때문에 스키마 수정이 어렵습니다.
NOSQL SURVEY !5
3. NoSQL 관련 제품
몽고DB, 카산드라DB, Hbase, Redis
Cassandra
카산드라는 구글의 BigTable 컬럼 기반의 데이타 모델과 FaceBook에서 만든 Dynamo의 분산 모
델을 기반으로 하여 제작되어 Facebook에 의해 2008년에 아파치 오픈소스로 공개된 분산 데이
타 베이스 입니다. 기존의 관계형 데이타 베이스와 다르게 SQL을 사용하지 않는 NoSQL의 제
품중의 하나이며, 대용량의 데이타 트렌젝션에 대해서 고성능 처리가 가능한 시스템입니
다.(High-Scale). 노드를 추가함으로써 성능을 낮추지 않고 횡적으로 용량을 확장할 수 있으며
얼마전에 트위터도 MySQL에서 Cassandra로 데이타베이스를 전환하였다고 합니다. 자바로 작
성되었음에도 불구하고, 데이타베이스라는 명칭에 걸맞게 여러 프로그래밍 언어를 지원합니
다. (Ruby,Perl,Python,Scala,Java,PHP,C#)
데이타간의 복잡한 관계 정의(Foreign Key)등이 필요없고, 대용량과 고성능 트렌젝션을 요구하
는 SNS (Social Networking Service)에 많이 사용되고 있으며. 성능이나 확장성과 안정성이 뛰어
납니다.
HBASE
HBase는 Cassandra와 마찬가지로 Bigtable의 영향을받은, 대량 데이터를 효율적으로 다루기 위
한 목적으로 개발된 NoSQL 데이터베이스입니다. 대용량 데이터를 다루는 NoSQL 데이터베이
스중 Cassandra와 함께 가장 많이 사용되고 있습니다만, Cassandra와는 구별되는 뚜렷한특징을
가지고 있습니다. Cassandra는 성능을 우선시 할 경우 데이터 일관성이 보장되지 않을 수있는
데. 대량 데이터를우수한 성능으로 데이터 일관성을 보장하면서 다뤄야 할 때는바로 HBase입
니다.
HBase는 중앙에 전체 분산 시스템을 통제하는 마스터를 두고 복제된 전체 데이터의 일관성을
관리 하기때문에 분산된 복제 데이터 사이의일관성을 보장하며 제약이 있지만 트랜잭셔성 처
리도 지원이 가능합니다.대량 데이터 분석 및 처리를 위해 사용되는 Hadoop의 산하 프로젝트
NOSQL SURVEY !6
로 시작된 데이터베이스로 HDFS 및 MapReduce등과 함께 사용하기에최적화 되어 있습니다.
MapReduce를 지원하는 다른 데이터베이스도 있지만 별도로 개발되었기 때문에 HBase처럼
HDFS를 사용하며 MapReduce의 기능을 적합하게 사용하는 예는 없습니다.대량 데이터를 분
삭하여 의미 있는 값을 만드는 데 있어 널리 사용되고 있는 MapReduce와 함께 효율적으로 이
용할 수 있다는 것이 큰 장점 입니다.
Mongo DB
MongoDB는 10gen 사에서 개발된 높은 성능과 확장성을 가지고 있는 데이터베이스 입니다.
몽고DB는 크로스 플랫폼 도큐먼트 지향 데이터베이스 시스템입니다. NoSQL 데이터베이스로
분류되는 몽고DB는 JSON과 같은 동적 스키마형 문서들을 선호함에 따라 전통적인 테이블 기
반 관계형 데이터베이스 구조의 사용을 하지않습니다. 이로써 특정한 종류의 애플리케이션을
더 쉽고 더 빠르게 데이터 통합을 가능케 합니다. GPL과 아파치 라이선스를 결합하여 공개된
몽고DB는 자유-오픈 소스 소프트웨어입니다.
Redis
Redis는 "REmote DIctionary System"의 약자로 메모리 기반의 Key/Value Store 입니다.
Cassandra나 HBase와 같이 NoSQL DBMS로 분류되기도 하고, memcached와 같은 In memory
솔루션으로 분리되기도 합니다.성능은 memcached에 버금가면서 다양한 데이타 구조체를 지
원함으로써 Message Queue, Shared, memory, Remote Dictionary 용도로도 사용될 수 있으며, 이
런 이유로 인스탄트그램, 네이버 재팬의 LINE 메신져 서비스, StackOverflow,Blizzard,digg 등 여
러 소셜 서비스에 널리 사용되고 있습니다.
< Redis 특징 >
ㅁ처리 속도가 빠르다
ㅁ데이터가 메모리+Disk에 저장된다
ㅁ만료일을 지정하여 만료가 되면 자동으로 데이터가 사라진다.
ㅁ저장소 메모리 재사용 하지 않는다
NOSQL SURVEY !7
4. NoSQL 적용사례
GOOGLE’s BIG TABLE
1.
ITWORLD 기사 : http://www.itworld.co.kr/t/54649/%EB%B9%85/93284
구글, 빅데이터 저장 서비스 ‘클라우드 빅테이블’ 공개
Joab Jackson | IDG News Service
구글이 대용량 데이터를 온라인에
저장할 수 있는 서비스를 출시했다.
기업들이 데이터 분석을 클라우드
서비스로 수행할 수 있을 것으로 기
대된다.
구글 클라우드 빅테이블(Google
Cloud Bigtable)이라는 이름의 이 서
비스는 구글이 몇 년간 내부적으로 이용해왔던 기술을 상용화 한 것이다. 현재 구글 검색, 지메
일, 구글 애널리틱스 등 많은 구글 핵심 서비스에 빅테이블이 사용되고 있다.
금융 업체들은 빅테이블을 트렌드 분석을 위해 페타바이트 용량의 거래 데이터를 저장하는데
사용할 수 있으며, 통신사, 디지털 광고 회사, 에너지, 생명과학 등 데이터 집적도가 높은 업계
에서도 활용할 것으로 기대된다. 사물 인터넷 모니터링 시스템의 센서 데이터 저장용으로도 사
용될 수 있다.
구글 클라우드 빅테이블은 NoSQL 데이터베이스로, 고객들은 오픈소스 아파치 HBase(Apache
HBase)용 API를 사용해서 데이터를 읽고 작성할 수 있다. 따라서, 빅데이터용 인기 오픈소스 데
이터 프로세스 플랫폼인 하둡 소프트웨어로 쉽게 이 서비스를 이용할 수 있다. 또한, 구글 빅쿼
리, 구글 클라우드 데이터플로우 등 다양한 구글 클라우드 서비스와도 통합할 수 있다.
구글은 구글 클라우드 빅테이블이 다른 NoSQL DB보다 빠르다고 주장한다. 내부 벤치마크에
서 빅테이블은 HBase, 카산드라 NoSQL DB보다 읽기/쓰기 속도가 빨랐다.
구글은 클라우드 빅테이블의 데이터 백업을 위한 복제, 보안을 위한 암호화 등을 직접 처리한
다. 사용자들은 매우 빠르게 새로운 빅테이블 클러스터를 만들 수 있다. 데이터 양이 증가하면
구글이 자동으로 추가 스토리지 용량을 제공한다.
여러 서드파티 업체들이 이미 빅테이블을 이용하고 있다. 예를 들어서, 금융 소프트웨어 및 서
비스 업체인 선가드(Sungard)는 클라우드 빅테이블에 금융 감사 추적 시스템을 구축해서 초당
250만 개의 거래 메시지를 처리하고 있다.
NOSQL SURVEY !8
2.
지디넷 코리아 기사
http://www.zdnet.co.kr/news/news_view.asp?artice_id=20150507082703
구글, 내부 핵심 DB기술도 클라우드로 판다
구글이 검색, G메일, 분석 등의 서비스에 사용해온 데이터베이스 ‘빅테이블’을 클라우드 서비
스로 공개했다.
6일(현지시간) 미국 지디넷 등 외신에 따르면, 구글은 NoSQL 데이터베이스 ‘구글 클라우드 빅
테이블(Bigtable)’을 베타서비스로 제공한다고 밝혔다. 구글 빅테이블은 2006년 논문으로 공개
된 구글 내부 서비스용 데이터베이스다. 스키마 없는 NoSQL DB의 원조 중 하나로 통하며, 하
둡 에코시스템에 많은 영향을 끼쳤다.
구글은 ‘클라우드 빅테이블’이 오픈소스 아파치 HBASE API를 통해 접근할 수 있고, 현존하는
빅데이터 및 하둡 에코시스템 다수와 네이티브하게 통합가능하다고 설명했다.
클라우드 빅테이블은 ‘클라우드 Pub/Sub’, ‘데이터플로’, ‘빅쿼리’ 등 구글클라우프플랫폼의 빅
데이터 제품과도 통합가능하다.
코리 오코너 구글 빅테이블 프로덕트매니저는 “외부의 다른 옵션과 비교해 비상할 정도로 짧
은 한자릿수 밀리초 레이턴시를 갖는다”며 “훌륭한 가격 대비 성능, 월당 달러당 데이터 수집,
저장, 쓰기 용량이 대단히 높다”고 강조했다.
구글 클라우드 빅테이블과 HBASE, 카산드라의 성능 비교(자료:구글클라우드플랫폼 블로그)
구글 클라우드 빅테이블과 HBASE, 카산드라의 성능 비교(자료:구글클라우드플랫폼 블로그)
구글은 새로운 서비스가 경쟁 NoSQL 기술과 비교해 달러당 2배의 성능, 절반의 총소유비용
(TCO)을 자랑한다고 주장했다. HBASE, 카산드라 등이 비교대상으로 거론됐다.
클라우드 빅테이블은 기본적을 복제되며, 모든 데이터는 암호화된다. 클라우드 빅테이블 클러
스터를 만들고 재배열하는 작업 모두 단순한 사용자인터페이스(UI)로 이뤄지고, 10초 안에 작
업을 완료할 수 있다고 강조했다. 스토리지 규모는 자동으로 확장되고, 복잡하게 용량 수요를
측정할 필요가 없다고 덧붙였다.
코리 오코너 매니저는 “하둡 에코시스템의 많은 사람들, 전문가조차 HBASE는 어렵다고 말한
다”며 “클라우드 빅테이블은 당신의 HBASE나 카산드라 클러스터보다 더 많은 혜택을 갖는다”
고 말했다.
구글은 클라우드 빅테이블의 또 다른 용도로 사물인터넷(IoT) 인프라를 짚었다. 광고, 에너지,
재무 서비스, 통신 분야도 유용한 사용처로 꼽았다.
NOSQL SURVEY !9

More Related Content

Viewers also liked

PINTOS Operating system homework 2
PINTOS Operating system homework 2PINTOS Operating system homework 2
PINTOS Operating system homework 2
Gichan Lee
 
PINTOS Operating system homework
PINTOS Operating system homeworkPINTOS Operating system homework
PINTOS Operating system homework
Gichan Lee
 
커리어 서평 과제, 담 - The Wall
커리어 서평 과제, 담 - The Wall커리어 서평 과제, 담 - The Wall
커리어 서평 과제, 담 - The Wall
Gichan Lee
 
POS machine term project
POS machine term projectPOS machine term project
POS machine term project
Gichan Lee
 
직무분석과 역량개발 - 커리어 수업 자료
직무분석과 역량개발 - 커리어 수업 자료직무분석과 역량개발 - 커리어 수업 자료
직무분석과 역량개발 - 커리어 수업 자료
Gichan Lee
 
기업분석과제물 - 커리어
기업분석과제물 - 커리어기업분석과제물 - 커리어
기업분석과제물 - 커리어
Gichan Lee
 
졸업작품 캡스톤 디자인 중간발표자료
졸업작품 캡스톤 디자인 중간발표자료졸업작품 캡스톤 디자인 중간발표자료
졸업작품 캡스톤 디자인 중간발표자료
Gichan Lee
 
모바일 페이먼트 시장의 분석과 삼성페이 간단한 전망
모바일 페이먼트 시장의 분석과 삼성페이 간단한 전망모바일 페이먼트 시장의 분석과 삼성페이 간단한 전망
모바일 페이먼트 시장의 분석과 삼성페이 간단한 전망
Gichan Lee
 

Viewers also liked (8)

PINTOS Operating system homework 2
PINTOS Operating system homework 2PINTOS Operating system homework 2
PINTOS Operating system homework 2
 
PINTOS Operating system homework
PINTOS Operating system homeworkPINTOS Operating system homework
PINTOS Operating system homework
 
커리어 서평 과제, 담 - The Wall
커리어 서평 과제, 담 - The Wall커리어 서평 과제, 담 - The Wall
커리어 서평 과제, 담 - The Wall
 
POS machine term project
POS machine term projectPOS machine term project
POS machine term project
 
직무분석과 역량개발 - 커리어 수업 자료
직무분석과 역량개발 - 커리어 수업 자료직무분석과 역량개발 - 커리어 수업 자료
직무분석과 역량개발 - 커리어 수업 자료
 
기업분석과제물 - 커리어
기업분석과제물 - 커리어기업분석과제물 - 커리어
기업분석과제물 - 커리어
 
졸업작품 캡스톤 디자인 중간발표자료
졸업작품 캡스톤 디자인 중간발표자료졸업작품 캡스톤 디자인 중간발표자료
졸업작품 캡스톤 디자인 중간발표자료
 
모바일 페이먼트 시장의 분석과 삼성페이 간단한 전망
모바일 페이먼트 시장의 분석과 삼성페이 간단한 전망모바일 페이먼트 시장의 분석과 삼성페이 간단한 전망
모바일 페이먼트 시장의 분석과 삼성페이 간단한 전망
 

Similar to No sql survey report

AWS 기반 데이터 레이크(Datalake) 구축 및 분석 - 김민성 (AWS 솔루션즈아키텍트) : 8월 온라인 세미나
AWS 기반 데이터 레이크(Datalake) 구축 및 분석 - 김민성 (AWS 솔루션즈아키텍트) : 8월 온라인 세미나AWS 기반 데이터 레이크(Datalake) 구축 및 분석 - 김민성 (AWS 솔루션즈아키텍트) : 8월 온라인 세미나
AWS 기반 데이터 레이크(Datalake) 구축 및 분석 - 김민성 (AWS 솔루션즈아키텍트) : 8월 온라인 세미나
Amazon Web Services Korea
 
NoSQL 분석 Slamdata
NoSQL 분석 SlamdataNoSQL 분석 Slamdata
NoSQL 분석 Slamdata
Pikdata Inc.
 
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
Donghan Kim
 
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
Donghan Kim
 
(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&amp;c)
(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&amp;c)(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&amp;c)
(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&amp;c)
InBum Kim
 
Sql Server 2005 개요
Sql Server 2005 개요Sql Server 2005 개요
Sql Server 2005 개요beamofhope
 
몽고디비교육1일차
몽고디비교육1일차몽고디비교육1일차
몽고디비교육1일차
seung-hyun Park
 
MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바
NeoClova
 
Cloud DW technology trends and considerations for enterprises to apply snowflake
Cloud DW technology trends and considerations for enterprises to apply snowflakeCloud DW technology trends and considerations for enterprises to apply snowflake
Cloud DW technology trends and considerations for enterprises to apply snowflake
SANG WON PARK
 
AWS CLOUD 2017 - Amazon Redshift 기반 DW 와 비지니스 인텔리전스 구현 방법 (김일호 솔루션즈 아키텍트)
AWS CLOUD 2017 - Amazon Redshift 기반 DW 와 비지니스 인텔리전스 구현 방법 (김일호 솔루션즈 아키텍트)AWS CLOUD 2017 - Amazon Redshift 기반 DW 와 비지니스 인텔리전스 구현 방법 (김일호 솔루션즈 아키텍트)
AWS CLOUD 2017 - Amazon Redshift 기반 DW 와 비지니스 인텔리전스 구현 방법 (김일호 솔루션즈 아키텍트)
Amazon Web Services Korea
 
DB innovation conference 2020
DB innovation conference 2020DB innovation conference 2020
레코벨의 추천 서비스 고군 분투기 - AWS Summit Seoul 2017
레코벨의 추천 서비스 고군 분투기 - AWS Summit Seoul 2017레코벨의 추천 서비스 고군 분투기 - AWS Summit Seoul 2017
레코벨의 추천 서비스 고군 분투기 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
2016년 인문정보학 Sql세미나 1/3
2016년 인문정보학 Sql세미나 1/32016년 인문정보학 Sql세미나 1/3
2016년 인문정보학 Sql세미나 1/3
in2acous
 
Big data 20111203_배포판
Big data 20111203_배포판Big data 20111203_배포판
Big data 20111203_배포판
Hyoungjun Kim
 
마이크로소프트웨어2014년1월 s dx_ian
마이크로소프트웨어2014년1월 s dx_ian마이크로소프트웨어2014년1월 s dx_ian
마이크로소프트웨어2014년1월 s dx_ian
Ian Choi
 
실전 DataSnap!
실전 DataSnap!실전 DataSnap!
실전 DataSnap!
Devgear
 
[Pgday.Seoul 2018] replacing oracle with edb postgres
[Pgday.Seoul 2018] replacing oracle with edb postgres[Pgday.Seoul 2018] replacing oracle with edb postgres
[Pgday.Seoul 2018] replacing oracle with edb postgres
PgDay.Seoul
 
하루에 1시간을 벌 수 있는 10가지 방법
하루에 1시간을 벌 수 있는 10가지 방법하루에 1시간을 벌 수 있는 10가지 방법
하루에 1시간을 벌 수 있는 10가지 방법
Devgear
 
Daum’s Business Analytics Use-cases based on Bigdata technology (2012)
Daum’s Business Analytics Use-cases based on Bigdata technology (2012)Daum’s Business Analytics Use-cases based on Bigdata technology (2012)
Daum’s Business Analytics Use-cases based on Bigdata technology (2012)Channy Yun
 
[E-commerce & Retail Day] Data Freedom을 위한 Database 최적화 전략
[E-commerce & Retail Day] Data Freedom을 위한 Database 최적화 전략[E-commerce & Retail Day] Data Freedom을 위한 Database 최적화 전략
[E-commerce & Retail Day] Data Freedom을 위한 Database 최적화 전략
Amazon Web Services Korea
 

Similar to No sql survey report (20)

AWS 기반 데이터 레이크(Datalake) 구축 및 분석 - 김민성 (AWS 솔루션즈아키텍트) : 8월 온라인 세미나
AWS 기반 데이터 레이크(Datalake) 구축 및 분석 - 김민성 (AWS 솔루션즈아키텍트) : 8월 온라인 세미나AWS 기반 데이터 레이크(Datalake) 구축 및 분석 - 김민성 (AWS 솔루션즈아키텍트) : 8월 온라인 세미나
AWS 기반 데이터 레이크(Datalake) 구축 및 분석 - 김민성 (AWS 솔루션즈아키텍트) : 8월 온라인 세미나
 
NoSQL 분석 Slamdata
NoSQL 분석 SlamdataNoSQL 분석 Slamdata
NoSQL 분석 Slamdata
 
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
 
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30
 
(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&amp;c)
(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&amp;c)(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&amp;c)
(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&amp;c)
 
Sql Server 2005 개요
Sql Server 2005 개요Sql Server 2005 개요
Sql Server 2005 개요
 
몽고디비교육1일차
몽고디비교육1일차몽고디비교육1일차
몽고디비교육1일차
 
MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바
 
Cloud DW technology trends and considerations for enterprises to apply snowflake
Cloud DW technology trends and considerations for enterprises to apply snowflakeCloud DW technology trends and considerations for enterprises to apply snowflake
Cloud DW technology trends and considerations for enterprises to apply snowflake
 
AWS CLOUD 2017 - Amazon Redshift 기반 DW 와 비지니스 인텔리전스 구현 방법 (김일호 솔루션즈 아키텍트)
AWS CLOUD 2017 - Amazon Redshift 기반 DW 와 비지니스 인텔리전스 구현 방법 (김일호 솔루션즈 아키텍트)AWS CLOUD 2017 - Amazon Redshift 기반 DW 와 비지니스 인텔리전스 구현 방법 (김일호 솔루션즈 아키텍트)
AWS CLOUD 2017 - Amazon Redshift 기반 DW 와 비지니스 인텔리전스 구현 방법 (김일호 솔루션즈 아키텍트)
 
DB innovation conference 2020
DB innovation conference 2020DB innovation conference 2020
DB innovation conference 2020
 
레코벨의 추천 서비스 고군 분투기 - AWS Summit Seoul 2017
레코벨의 추천 서비스 고군 분투기 - AWS Summit Seoul 2017레코벨의 추천 서비스 고군 분투기 - AWS Summit Seoul 2017
레코벨의 추천 서비스 고군 분투기 - AWS Summit Seoul 2017
 
2016년 인문정보학 Sql세미나 1/3
2016년 인문정보학 Sql세미나 1/32016년 인문정보학 Sql세미나 1/3
2016년 인문정보학 Sql세미나 1/3
 
Big data 20111203_배포판
Big data 20111203_배포판Big data 20111203_배포판
Big data 20111203_배포판
 
마이크로소프트웨어2014년1월 s dx_ian
마이크로소프트웨어2014년1월 s dx_ian마이크로소프트웨어2014년1월 s dx_ian
마이크로소프트웨어2014년1월 s dx_ian
 
실전 DataSnap!
실전 DataSnap!실전 DataSnap!
실전 DataSnap!
 
[Pgday.Seoul 2018] replacing oracle with edb postgres
[Pgday.Seoul 2018] replacing oracle with edb postgres[Pgday.Seoul 2018] replacing oracle with edb postgres
[Pgday.Seoul 2018] replacing oracle with edb postgres
 
하루에 1시간을 벌 수 있는 10가지 방법
하루에 1시간을 벌 수 있는 10가지 방법하루에 1시간을 벌 수 있는 10가지 방법
하루에 1시간을 벌 수 있는 10가지 방법
 
Daum’s Business Analytics Use-cases based on Bigdata technology (2012)
Daum’s Business Analytics Use-cases based on Bigdata technology (2012)Daum’s Business Analytics Use-cases based on Bigdata technology (2012)
Daum’s Business Analytics Use-cases based on Bigdata technology (2012)
 
[E-commerce & Retail Day] Data Freedom을 위한 Database 최적화 전략
[E-commerce & Retail Day] Data Freedom을 위한 Database 최적화 전략[E-commerce & Retail Day] Data Freedom을 위한 Database 최적화 전략
[E-commerce & Retail Day] Data Freedom을 위한 Database 최적화 전략
 

No sql survey report

  • 1. NoSQL NoSQL Survey Report 이동호 교수님 - 데이터베이스 2011037224 이기찬
 NOSQL SURVEY !1
  • 2. 1. NoSQL이란? NoSQL 데이터베이스는 전통적인 관계형 데이터베이스 보다 덜 제한적인 일관성 모델을 이용 하는 데이터의 저장 및 검색을 위한 매커니즘을 제공한다. 이러한 접근에 대한 동기에는 디자 인의 단순화, 수평적 확장성, 세세한 통제를 포함한다. NoSQL 데이터베이스는 단순 검색 및 추 가 작업을 위한 매우 최적화된 키 값 저장 공간으로, 레이턴시와 스루풋과 관련하여 상당한 성 능 이익을 내는 것이 목적이다. NoSQL 데이터베이스는 빅데이터와 실시간 웹 애플리케이션의 상업적 이용에 널리 쓰인다. 또, NoSQL 시스템은 SQL 계열 쿼리 언어를 사용할 수 있다는 사 실을 강조한다는 면에서 "Not only SQL"로 불리기도 한다. NoSQL의 특징 ● NoSQL은 RDBMS와는 달리 데이터 간의 관계를 정의하지 않는다 가장 큰 특징 중의 하나는 관계형 데이터베이스인 RDBMS가 데이터의 관계를 Foreign Key 등 으로 정의하고 이를 이용해 Join 등의 관계형 연산을 한다고 하면, NoSQL은 데이터 간의 관계 를 정의하지 않는다. 데이터 테이블은 그냥 하나의 테이블이며 각 테이블 간의 관계를 정의하 지도 않고 일반적으로 테이블 간의 Join도 불가능하다. ● RDBMS에 비해 훨씬 더 대용량의 데이터를 저장할 수 있다 RDBMS의 복잡도와 용량 한계를 극복하기 위한 목적으로 등장한 만큼, 페타바이트급의 대용 량 데이터를 저장할 수 있다. ● 분산형 구조 NoSQL은 기존의 RDBMS와는 다르게 하나의 고성능 머신에 데이터를 저장하는 것이 아니라, 일반적인 서버(인텔 계열의 CPU를 사용하는 Commodity Server) 수십 대를 연결해 데이터를 저 장 및 처리하는 구조를 갖는다. 즉 분산형 구조를 통해 데이터를 여러 대의 서버에 분산해 저장 하고, 분산 시에 데이터를 상호 복제해 특정 서버에 장애가 발생했을 때에도 데이터 유실이나 서비스 중지가 없는 형태의 구조다. ●고정되지 않은 테이블 스키마 RDBMS와는 다르게 테이블의 스키마가 유동적이다. 예를 들어 RDBMS의 경우 테이블이 <표 1>과 같은 형태로 되어 있을 때 해당 테이블은 반드시 숫자, 이름 문자열, 주소 문자열만 들어 갈 수 있다. 그런데 NoSQL은 대부분 이런 개념이 없다. ID로 사용하는 키 부분에만 타입이 동일하고, mandatory(생략되지 않는) 필드로 지정하면 값에 해당하는 컬럼은 어떤 타입이든, 어떤 이름이 오든 허용된다. 즉 <표 2>와 같이 ID 필드는 공통이지만, 데이터를 저장하는 컬럼은 각기 다른 이름과 다른 데이터 타입을 갖는 것이 허용된다. NOSQL SURVEY !2
  • 3. 2. NoSQL의 주요 핵심 기술 CAP : NoSQL의 이론적 기반 Consistency : each client always has the same view of the data Availability : all clients can always read and write Partition tolerance : the system works well across physical network partitions Consistency (일관성) : 모든 노드들은 동시에 같은 데이터를 보아야 합니다. Availability (유효성) : 모든 노드는 항상 읽기와 쓰기를 할 수 있어야 합니다. Partition Tolerance (파티션 허용차) : 시스템은 물리적인 네트워크 파티션을 넘어서도 잘 동작하 여야 합니다 NoSQL에 대해서 이해하려면 먼저 CAP 이론에 대해서 알 필요가 있습니다. CAP이론은 Brewer's CAP Theorem으로 알려져 있는데 분산 컴퓨팅 시스템에서 보장해야 하는 특징으로 위 의 3가지를 정의하고 있습니다. CAP 이론에 따르면 위 3가지 중에 동시에 2가지만 보장할수 있고 3개를 모두 보장하는 것이 불 가능하다고 나와있습니다. 그래서 데이터를 관리할때 이 3가지 중에 어느 2가지에 중점을 두냐 NOSQL SURVEY !3
  • 4. 는 것은 아주 중요한 부분입니다. 이 부분을 이해하는데 Nathan Hurst이 만든 위의 Visual Guide to NoSQL Systems는 큰 도움이 됩니다. Visual Guide to NoSQL Systems 기존에 많이 사용하던 RDBMS는 3가지 중 CA에 집중하고 있습니다. 웹이 발전하면서 다양한 요구사항이 생겨나고 엄청난 양의 데이터를 처리해야 하게 되면서 RDBMS가 갖지 못한 P의 특성이 필요해졌고 그러면서 등장한 것이 NoSQL입니다. 좀더 풀어쓰면 데이터베이스에 대한 수평적 확장(Horizontal Scalability 즉 옆에 서버한대 더 배치해서 데이터베이스를 늘리고 싶다 는 의미입니다.)에 대한 이슈가 발생했고 확장성이슈를 해결하기 위해서 P를 선택하다 보니 기 존에 가지고 있던 C나 A의 특성중 하나를 포기해야 했습니다. 그래서 NoSQL에는 다양한 시도 들이 있지만 가장 중요한 이슈는 확장성을 해결하려는 것으로 생각됩니다. 관계형 데이터베이스는 기본적으로 분산형을 고려해서 디자인 되지 않았습니다. 그래서 ACID(원자성, 일관성, 독립성, 지속성) 트랜잭션 같은 추상화와 고레벨 쿼리모델을 풍부하게 제공할 수 있지만 확장성이 좋지 못하기 때문에 모든 NoSQL 데이터베이스는 다양한 방법으로 확장성 이슈를 해결하기 위해 초점을 맞추고 있습니다. 각 NoSQL에는 여러가지 차이점들이 있지만 CAP의 범주에서만 보면 CP를 선택하거나 AP를 선택하게 됩니다. 왜 비관계형이어야 하는가? NoSQL이 확장성 이슈를 해결하려고 CP나 AP의 특성을 선택했지만 구체적으로 어떤 특징을 선택하고 왜 그래야 했는지 이해할 필요가 있습니다. NoSQL은 많은 제품군들이 있는데 모두 같은 전략으로 접근하고 있지는 않고 각각에 제품에 따라 다양한 접근을 하고 있는데 아래 적 힌 내용들은 비관계형으로 가기 위한 여러가지 특성들에 대한 이야기이고 제품군에 따라 아래 의 특성들을 선택한 여부는 다른 것으로 보입니다. 관계형 데이터 베이스는 확장하기가 어렵습니다. Replication - 복제에 의한 확장 Master-Slave 구조에서는 결과를 슬레이브의 갯수만큼 복제해야 하는데 N개의 슬레이브에서 읽을 수 있기 때문에 Read는 빠르지만 Write에서는 병목현상이 발생하게 기 때문에 확장성에 대한 제한을 가지게 됩니다. 다중 마스터구조에서는 마스터를 추가함으로써 쓰기의 성능을 향상시킬 수 있는데 대신에 충 돌이 발생할 가능성이 생기게 됩니다. Partitioning(Sharding) - 분할에 의한 확장 Read만큼 Write도 확장할 수 있지만 애플리케이션레이어에서 파티션된 것을 인지하고 있어야 합니다. RDBMS의 가치는 관계에 있다고 할 수 있는데 파티션을 하면 이 관계가 깨져버리고 각 파티션된 조각간에 조인을 할 수 없기 때문에 관계에 대한 부분은 애플리케이션 레이어에서 책임져야 합니다. 일반적으로 RDBMS에서 수동 Sharding 은 쉽지 않습니다. NoSQL에서 필요없는 특성들 NOSQL SURVEY !4
  • 5. UPDATE와 DELETE Update와 Delete는 전통적으로 정보의 손실이 발생하기 때문에 잘 사용되지 않으며 후에 데이 터 검사 및 재활성화를 위해서 기록해둘 필요가 있습니다. 그리고 사용자가 커뮤니티를 탈퇴한 다고 그들의 글을 지우지 않듯이 도메인 관점에서는 실제로 삭제되지 않습니다. 이런 접근을 하게 되면 Update / Delete를 모두 Insert로 모델할수 있고 과거 데이터는 버전을 붙혀서 기록할 수 있으며 이 데이터들은 비활성데이터들이 됩니다. 이 INSET-only 시스템에서는 2개의 문제 가 있는데 데이터베이스에서 종속(cascade)에 대한 트리거를 이용할 수 없으며 Query가 비활성 데이터를 걸러내야 할 필요가 있습니다. JOIN 데이터가 많을 때 JOIN은 많은 양의 데이터에 복잡한 연산을 수행해야 하기 때문에 비용이 많 이 들며 파티션을 넘어서는 동작되지 않기 때문에 피해야 합니다. 정규화는 일관된 데이터를 가지기 쉽게 하고 스토리지의 양을 줄이기 위해서 하는건데 반정규화(De-normalization)를 하면 JOIN문제를 피할 수 있습니다. 반정규화로 일관성에 대한 책임을 디비에서 애플리케이션으로 이동시킬수 있는데 이는 INSERT-only라면 어렵지 않습니다. ACID 트랜젝션 Atomic (원자성) : 여러 레코드를 수정할 때 원자성은 필요없으며 단일키 원자성이면 충분합니 다. Consistency (일관성) : 대부분의 시스템은 C보다는 P나 A를 필요로 하기 때문에 엄격한 일관성 을 가질 필요는 없고 대신 결과의 일관성(Eventually Consistent)을 가질 수 있습니다. Isolation (격리성) : 읽기에 최선을 다하는(Read-Committe) 것 이상의 격리성은 필요하지 않으며 단일키 원자성이 더 쉽습니다. Durability (지속성) : 각 노드가 실패했을때도 이용되기 위해서는 메모리가 데이터를 충분히 보 관할 수 있을정도로 저렴해지는 시점까지는 지속성이 필요합니다. 고정된 스키마 RDBMS에서는 데이터를 사용하기 전에 스키마를 정의해야하고 Index등을 정의해야 하는데 현재의 웹환경에서는 빠르게 새로운 피쳐를 추가하고 이미 존재하는 피쳐를 조정하기 위해서 는 스키마 수정이 필수적으로 요구됩니다. 하지만 컬럼의 추가/수정/삭제는 row에 lock을 걸고 index의 수정은 테이블에 락을 걸기 때문에 스키마 수정이 어렵습니다. NOSQL SURVEY !5
  • 6. 3. NoSQL 관련 제품 몽고DB, 카산드라DB, Hbase, Redis Cassandra 카산드라는 구글의 BigTable 컬럼 기반의 데이타 모델과 FaceBook에서 만든 Dynamo의 분산 모 델을 기반으로 하여 제작되어 Facebook에 의해 2008년에 아파치 오픈소스로 공개된 분산 데이 타 베이스 입니다. 기존의 관계형 데이타 베이스와 다르게 SQL을 사용하지 않는 NoSQL의 제 품중의 하나이며, 대용량의 데이타 트렌젝션에 대해서 고성능 처리가 가능한 시스템입니 다.(High-Scale). 노드를 추가함으로써 성능을 낮추지 않고 횡적으로 용량을 확장할 수 있으며 얼마전에 트위터도 MySQL에서 Cassandra로 데이타베이스를 전환하였다고 합니다. 자바로 작 성되었음에도 불구하고, 데이타베이스라는 명칭에 걸맞게 여러 프로그래밍 언어를 지원합니 다. (Ruby,Perl,Python,Scala,Java,PHP,C#) 데이타간의 복잡한 관계 정의(Foreign Key)등이 필요없고, 대용량과 고성능 트렌젝션을 요구하 는 SNS (Social Networking Service)에 많이 사용되고 있으며. 성능이나 확장성과 안정성이 뛰어 납니다. HBASE HBase는 Cassandra와 마찬가지로 Bigtable의 영향을받은, 대량 데이터를 효율적으로 다루기 위 한 목적으로 개발된 NoSQL 데이터베이스입니다. 대용량 데이터를 다루는 NoSQL 데이터베이 스중 Cassandra와 함께 가장 많이 사용되고 있습니다만, Cassandra와는 구별되는 뚜렷한특징을 가지고 있습니다. Cassandra는 성능을 우선시 할 경우 데이터 일관성이 보장되지 않을 수있는 데. 대량 데이터를우수한 성능으로 데이터 일관성을 보장하면서 다뤄야 할 때는바로 HBase입 니다. HBase는 중앙에 전체 분산 시스템을 통제하는 마스터를 두고 복제된 전체 데이터의 일관성을 관리 하기때문에 분산된 복제 데이터 사이의일관성을 보장하며 제약이 있지만 트랜잭셔성 처 리도 지원이 가능합니다.대량 데이터 분석 및 처리를 위해 사용되는 Hadoop의 산하 프로젝트 NOSQL SURVEY !6
  • 7. 로 시작된 데이터베이스로 HDFS 및 MapReduce등과 함께 사용하기에최적화 되어 있습니다. MapReduce를 지원하는 다른 데이터베이스도 있지만 별도로 개발되었기 때문에 HBase처럼 HDFS를 사용하며 MapReduce의 기능을 적합하게 사용하는 예는 없습니다.대량 데이터를 분 삭하여 의미 있는 값을 만드는 데 있어 널리 사용되고 있는 MapReduce와 함께 효율적으로 이 용할 수 있다는 것이 큰 장점 입니다. Mongo DB MongoDB는 10gen 사에서 개발된 높은 성능과 확장성을 가지고 있는 데이터베이스 입니다. 몽고DB는 크로스 플랫폼 도큐먼트 지향 데이터베이스 시스템입니다. NoSQL 데이터베이스로 분류되는 몽고DB는 JSON과 같은 동적 스키마형 문서들을 선호함에 따라 전통적인 테이블 기 반 관계형 데이터베이스 구조의 사용을 하지않습니다. 이로써 특정한 종류의 애플리케이션을 더 쉽고 더 빠르게 데이터 통합을 가능케 합니다. GPL과 아파치 라이선스를 결합하여 공개된 몽고DB는 자유-오픈 소스 소프트웨어입니다. Redis Redis는 "REmote DIctionary System"의 약자로 메모리 기반의 Key/Value Store 입니다. Cassandra나 HBase와 같이 NoSQL DBMS로 분류되기도 하고, memcached와 같은 In memory 솔루션으로 분리되기도 합니다.성능은 memcached에 버금가면서 다양한 데이타 구조체를 지 원함으로써 Message Queue, Shared, memory, Remote Dictionary 용도로도 사용될 수 있으며, 이 런 이유로 인스탄트그램, 네이버 재팬의 LINE 메신져 서비스, StackOverflow,Blizzard,digg 등 여 러 소셜 서비스에 널리 사용되고 있습니다. < Redis 특징 > ㅁ처리 속도가 빠르다 ㅁ데이터가 메모리+Disk에 저장된다 ㅁ만료일을 지정하여 만료가 되면 자동으로 데이터가 사라진다. ㅁ저장소 메모리 재사용 하지 않는다 NOSQL SURVEY !7
  • 8. 4. NoSQL 적용사례 GOOGLE’s BIG TABLE 1. ITWORLD 기사 : http://www.itworld.co.kr/t/54649/%EB%B9%85/93284 구글, 빅데이터 저장 서비스 ‘클라우드 빅테이블’ 공개 Joab Jackson | IDG News Service 구글이 대용량 데이터를 온라인에 저장할 수 있는 서비스를 출시했다. 기업들이 데이터 분석을 클라우드 서비스로 수행할 수 있을 것으로 기 대된다. 구글 클라우드 빅테이블(Google Cloud Bigtable)이라는 이름의 이 서 비스는 구글이 몇 년간 내부적으로 이용해왔던 기술을 상용화 한 것이다. 현재 구글 검색, 지메 일, 구글 애널리틱스 등 많은 구글 핵심 서비스에 빅테이블이 사용되고 있다. 금융 업체들은 빅테이블을 트렌드 분석을 위해 페타바이트 용량의 거래 데이터를 저장하는데 사용할 수 있으며, 통신사, 디지털 광고 회사, 에너지, 생명과학 등 데이터 집적도가 높은 업계 에서도 활용할 것으로 기대된다. 사물 인터넷 모니터링 시스템의 센서 데이터 저장용으로도 사 용될 수 있다. 구글 클라우드 빅테이블은 NoSQL 데이터베이스로, 고객들은 오픈소스 아파치 HBase(Apache HBase)용 API를 사용해서 데이터를 읽고 작성할 수 있다. 따라서, 빅데이터용 인기 오픈소스 데 이터 프로세스 플랫폼인 하둡 소프트웨어로 쉽게 이 서비스를 이용할 수 있다. 또한, 구글 빅쿼 리, 구글 클라우드 데이터플로우 등 다양한 구글 클라우드 서비스와도 통합할 수 있다. 구글은 구글 클라우드 빅테이블이 다른 NoSQL DB보다 빠르다고 주장한다. 내부 벤치마크에 서 빅테이블은 HBase, 카산드라 NoSQL DB보다 읽기/쓰기 속도가 빨랐다. 구글은 클라우드 빅테이블의 데이터 백업을 위한 복제, 보안을 위한 암호화 등을 직접 처리한 다. 사용자들은 매우 빠르게 새로운 빅테이블 클러스터를 만들 수 있다. 데이터 양이 증가하면 구글이 자동으로 추가 스토리지 용량을 제공한다. 여러 서드파티 업체들이 이미 빅테이블을 이용하고 있다. 예를 들어서, 금융 소프트웨어 및 서 비스 업체인 선가드(Sungard)는 클라우드 빅테이블에 금융 감사 추적 시스템을 구축해서 초당 250만 개의 거래 메시지를 처리하고 있다. NOSQL SURVEY !8
  • 9. 2. 지디넷 코리아 기사 http://www.zdnet.co.kr/news/news_view.asp?artice_id=20150507082703 구글, 내부 핵심 DB기술도 클라우드로 판다 구글이 검색, G메일, 분석 등의 서비스에 사용해온 데이터베이스 ‘빅테이블’을 클라우드 서비 스로 공개했다. 6일(현지시간) 미국 지디넷 등 외신에 따르면, 구글은 NoSQL 데이터베이스 ‘구글 클라우드 빅 테이블(Bigtable)’을 베타서비스로 제공한다고 밝혔다. 구글 빅테이블은 2006년 논문으로 공개 된 구글 내부 서비스용 데이터베이스다. 스키마 없는 NoSQL DB의 원조 중 하나로 통하며, 하 둡 에코시스템에 많은 영향을 끼쳤다. 구글은 ‘클라우드 빅테이블’이 오픈소스 아파치 HBASE API를 통해 접근할 수 있고, 현존하는 빅데이터 및 하둡 에코시스템 다수와 네이티브하게 통합가능하다고 설명했다. 클라우드 빅테이블은 ‘클라우드 Pub/Sub’, ‘데이터플로’, ‘빅쿼리’ 등 구글클라우프플랫폼의 빅 데이터 제품과도 통합가능하다. 코리 오코너 구글 빅테이블 프로덕트매니저는 “외부의 다른 옵션과 비교해 비상할 정도로 짧 은 한자릿수 밀리초 레이턴시를 갖는다”며 “훌륭한 가격 대비 성능, 월당 달러당 데이터 수집, 저장, 쓰기 용량이 대단히 높다”고 강조했다. 구글 클라우드 빅테이블과 HBASE, 카산드라의 성능 비교(자료:구글클라우드플랫폼 블로그) 구글 클라우드 빅테이블과 HBASE, 카산드라의 성능 비교(자료:구글클라우드플랫폼 블로그) 구글은 새로운 서비스가 경쟁 NoSQL 기술과 비교해 달러당 2배의 성능, 절반의 총소유비용 (TCO)을 자랑한다고 주장했다. HBASE, 카산드라 등이 비교대상으로 거론됐다. 클라우드 빅테이블은 기본적을 복제되며, 모든 데이터는 암호화된다. 클라우드 빅테이블 클러 스터를 만들고 재배열하는 작업 모두 단순한 사용자인터페이스(UI)로 이뤄지고, 10초 안에 작 업을 완료할 수 있다고 강조했다. 스토리지 규모는 자동으로 확장되고, 복잡하게 용량 수요를 측정할 필요가 없다고 덧붙였다. 코리 오코너 매니저는 “하둡 에코시스템의 많은 사람들, 전문가조차 HBASE는 어렵다고 말한 다”며 “클라우드 빅테이블은 당신의 HBASE나 카산드라 클러스터보다 더 많은 혜택을 갖는다” 고 말했다. 구글은 클라우드 빅테이블의 또 다른 용도로 사물인터넷(IoT) 인프라를 짚었다. 광고, 에너지, 재무 서비스, 통신 분야도 유용한 사용처로 꼽았다. NOSQL SURVEY !9