SlideShare a Scribd company logo
1 of 27
Download to read offline
2013년 제2회 사내 기술 세미나
- 부제: NoSQL 이해와 동향
2013.4.30
NoSQL의 이해
NoSQL 이해를 위해 알아야 할 개념
NoSQL 현황 및 전망
마무리
Contents
NoSQL 이해를 위한 알아야 할 개념
Transaction
– 데이터베이스에서 행해지는 작업의 논리적 단위(Logical unit of work)
– 기술적으로 처리하는 일정한 단위의 의미가 아니라 업무적으로 의미가
있는 최소의 작업 처리단위
– 트랜잭션의 단위는 업무에 의해서 판단
– 트랜잭션 제어는 Rollback, Commit로 제어
NoSQL 이해를 위해 알아야 할 개념
ACID
– RDB Transaction의 특징
 작업의 논리 단위가 트랜잭션으로 적합하기 위해 가지는 속성
– Atomic(원자성)
 트랜잭션과 관련된 작업들이 모두 수행되었는지 아니면 모두 실행이 안되
었는지를 보장하는 능력
 예) 자금 이체는 성공할 수도 실패할 수도 있지만 원자성은 중간 단계까지
실행되고 실패하는 일은 없도록 하는 것이다.
– Consistent(일관성)
 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스
상태로 유지하는 것을 의미
 예) 무결성 제약이 모든 계좌는 잔고가 있어야 한다면 이를 위반하는 트랜
잭션은 중단된다.
NoSQL 이해를 위해 알아야 할 개념
ACID
– Isolated(고립성)
 트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장
하는 것을 의미, 트랜잭션 밖에 있는 어떤 연산도 중간 단계의 데이터를 볼
수 없음을 의미
 공식적으로 고립성은 트랜잭션 실행내역은 연속적이어야 함을 의미
 예) 은행 관리자는 이체 작업을 하는 도중에 쿼리를 실행하더라도 특정 계
좌간 이체하는 양 쪽을 볼 수 없다.
– Durable(영속성)
 성공적으로 수행된 트랜잭션은 영원히 반영되어야 함을 의미
 시스템 문제, DB 일관성 체크 등을 하더라도 유지되어야 함을 의미
 전형적으로 모드 트랜잭션은 로그로 남고 시스템 장애 발생 전 상태로 되돌
릴 수 있음
 트랜잭션은 로그에 모든 것이 저장된 후에만 commit 상태로 간주
NoSQL 이해를 위해 알아야 할 개념
BASE
– NoSQL 제품군은 ACID 항목에서 하나 또는 그 이상을 만족하지 않음
– Basically Available
 분산 시스템이기 때문에 항상 가용성을 중시
 클라우드의 Basically Availability의 실현은 Optimistic Locking 및 큐 등
– Soft-State
 노드의 상태는 내부에 포함된 정보에 의해 결정되는 것이 아니라 외부에서
전송된 정보를 통해 결정된다는 상태의 사고 방식
 중요한 것은 외부에서 보내진 정보에 의해 결정된다는 것이다. 즉, 떨어진
노드 간의 데이터 업데이트는 데이터가 노드에 도달한 시점에서 갱신
 밖에서 받은 정보로 상태를 업데이트하므로 Soft-State라 함
– Eventually Consistent
 시스템상에서 일시적으로 Consistent하지 않은 상태가 되어도 일정 시간
후에는 Consistent 상태가 되는 성질
NoSQL 이해를 위해 알아야 할 개념
CAP Theorem
– 분산 시스템이 갖추면 좋은 3가지 특성
 Consistency(데이터 일관성)
– all nodessee thesamedata atthesametime
 Availability(가용성)
– nodefailuresdonotpreventsurvivorsfromcontinuingtooperate
 Partition Tolerance(단절내성, 부분 결함 허용)
– thesystemcontinuestooperatedespitearbitrarymessageloss
– Brewer's Theorem이라고도 함
 분산 시스템은 CAP 특성을 동시에 다 만족하지는 못함(불가능)
 한가지의 특성은 포기하고 두 가지만 전략적으로 선택해야 한다는 이론
NoSQL의 이해
NoSQL 정의
– 비관계형, 분산, 오픈소스, 수평 확장성을 주요 특징으로 갖는 차세대
데이터베이스(www.nosql-database.org)
– 비구조적인 데이터를 저장하기 위한 분산 저장 시스템
– 학술적으로는 “Structured Storage”라고도 하며 RDB도 포함
– 기존의 관계형 데이터(테이블)가 아닌 다양한 데이터 형태를 효율적으
로 처리할 수 있는 구조와 유연성을 갖춘 분산 데이터베이스
NoSQL의 이해
NoSQL 등장 배경
– 환경적 배경
 데이터 규모의 확대
– 데이터의엄청난증가로인한RDBMS의수용능력을벗어남
– RDBMS의고비용을감당하기힘든업체들의데이터관리정책전환
– 웹 기반 서비스들이 글로벌로 확장, 지리적 분산(여러 지역의 데이터 센타 산재)
으로인한분산시스템의요구
 웹 서비스의 구조 변화
– 웹어플리케이션특징으로,Withouttransactions,Withoutstrongconsistency
– 웹 어플리케이션들의 데이터인 Non-structured data의 저장시스템으로
RDBMS의부적절함(사용자의데이터요구가일관적이지않고다양해짐)
NoSQL의 이해
NoSQL 등장 배경
– 환경적 배경: RDBMS performance
NoSQL의 이해
NoSQL 등장 배경
– 기술적 배경
 Google의 GFS(2003), BigTable(2006), MapReduce Framework(2004),
Sawzall(2005)을 통한 대용량 데이터 처리에 대한기술공개
 BigTable
– 수 천대 이상의 서버에서 페타(peta) 바이트에 달하는 매우 큰 용량의 구조화 된
데이터(structured data)를 관리하기 위한 분산 저장 시스템(distributed
storagesystem)
– Google Analytics, Google Finance, Orkut, Personalized Search, Writely,
GoogleEarth등과같은60개 이상의프로젝트에서사용중
 아마존(AWS)의 Dynamo 논문 발표
NoSQL의 이해
NoSQl 특징
– 기본적으로 key & value로 저장
– 분산 환경 지원
– 단순한 호출 또는 프로토콜 수준의 사용인터페이스, Call level
interface 지원(DBMS에 접근하는 표준, SQL 바인딩에 반대되는))
– 막대한 양의 데이터를 처리할 수 있는 대용량 데이터의 빠른 인덱싱(인
덱스와 데이터 분리 운영)
– 대용량(heavy) 읽기/쓰기 성능이 좋음
– 수평적 확장(horizontal scaling) 또는 scale-out 형태로 확장성 만족
– 데이터의 스키마와 속성들을 동적으로 정의(Schemless)
– Join 미지원으로 인한 데이터의 조합 미지원
– 일반적인 관계형 DB의 ACID 트랜잭션과는 다른 "느슨한" 동시성 제
어모델(BASE)
– 특정한 표준에 의해 만들어진 기술이 아닌 필요에 의해 만들어진 기술
NoSQL의 이해
NoSQL 개념적 아키텍처
NoSQL의 이해
CAP Theorem
– RDB = C+A
– Cassandra = A+P
– BigTable = C+P
NoSQL의 이해
CAP Theorem 시사점
NoSQL의 이해
C-A Traditional RDBMSs like Postgres, MySQL, etc (relational)
C-P
BigTable(column-oriented/tabular, C++)
Hypertable(column-oriented/tabular, C++)
HBase(column-oriented/tabular, Java)
MongoDB(document-oriented, C++)
Terrastore(document-oriented)
Redis(key-value, C)
Scalaris(key-value, Erlang)
MemcacheDB(key-value, C/C++)
Berkeley DB(key-value, C/C++/Java)
A-P
Dynamo(key-value)
Voldemort(key-value, Java)
Tokyo Cabinet(key-value, C)
KAI(key-value, Erlang)
Cassandra(column-oriented/tabular, Java)
CouchDB(document-oriented, Erlang)
SimpleDB(document-oriented)
Riak(document-oriented, Erlang)
NoSQL 분류: CAP Theorem에 따른 분류
NoSQL의 이해
NoSQL 분류: Data Model에 따른 분류
NoSQL의 이해
NoSQL 분류
– 대표적 NoSQL DBMS 비교
NoSQL의 이해
NoSQL의 선택 가이드 라인
NoSQL의 이해
SQL, NoSQL 적용 시 고려사항
NoSQL 현황 및 전망
Hype Cycle for Big Data, 2012
현황
– NoSQL의 인기도(2012.3, Jaspersoft)
 하둡 진영(Hbase, Hive, Avro) > 몽고 DB > 카산드라의 순서
 단일 제품으로는 몽고 DB가 가장 높은 순위)
NoSQL 현황 및 전망
NoSQL 현황 및 전망
현황
– 현재의 NoSQL의 자화상
 NoSQL의 대부분은 오픈소스, NoSQL에는 주도적인 세력이 없음
 NoSQL은 이제 인지 단계에서 벗어나 사용 단계로 발전 중
 NoSQL,도입사례 고픈 유망주
– DB 빅 벤더들의 신제품 출시
 오라클 NoSQL 데이터베이스 2.0 출시(2013.1)
 IBM의 NoSQL 통합 개발 진행 중
– 국내 NoSQL 시장에 대한 기대감은 물론 계속 확대 추세
 도입을 고려중인 기업들 스스로가 기술적 특성에 좀더 면밀한 관심을 기울
일 필요가 있다는 전문가들의 지적
NoSQL 현황 및 전망
DB 업계의 3개 트렌드
NoSQL 현황 및 전망
앞으로의 기업의 DB 환경
– Polyglot persistence
마무리
NoSQL
– 초고용량 데이터의 처리를 위해 특히 데이터 읽기 보다 쓰기에 중점을
둔, “Shared Nothing”의 수평적 확장이 가능하며 다수 서버들에 데
이터 복제 및 분산 저장이 가능한 DB 또는 이런 기술 트렌드
– 아직은 불완전한 기술 : RDBMS가 기본, 모든 업무에 적용할 수 없음
– 장/단점
To be continued…

More Related Content

Viewers also liked

Polyglot persitence
Polyglot persitencePolyglot persitence
Polyglot persitenceStamo Petkov
 
Developing modular, polyglot applications with Spring (SpringOne India 2012)
Developing modular, polyglot applications with Spring (SpringOne India 2012)Developing modular, polyglot applications with Spring (SpringOne India 2012)
Developing modular, polyglot applications with Spring (SpringOne India 2012)Chris Richardson
 
Polyglot Persistence vs Multi-Model Databases
Polyglot Persistence vs Multi-Model DatabasesPolyglot Persistence vs Multi-Model Databases
Polyglot Persistence vs Multi-Model DatabasesLuca Garulli
 
Polyglot Persistence with OSGi - Alexander Grzesik
Polyglot Persistence with OSGi - Alexander GrzesikPolyglot Persistence with OSGi - Alexander Grzesik
Polyglot Persistence with OSGi - Alexander Grzesikmfrancis
 
OrientDB vs Neo4j - Comparison of query/speed/functionality
OrientDB vs Neo4j - Comparison of query/speed/functionalityOrientDB vs Neo4j - Comparison of query/speed/functionality
OrientDB vs Neo4j - Comparison of query/speed/functionalityCurtis Mosters
 

Viewers also liked (7)

SRTA_Company Profile 2015
SRTA_Company Profile 2015SRTA_Company Profile 2015
SRTA_Company Profile 2015
 
Polyglot Persistence
Polyglot PersistencePolyglot Persistence
Polyglot Persistence
 
Polyglot persitence
Polyglot persitencePolyglot persitence
Polyglot persitence
 
Developing modular, polyglot applications with Spring (SpringOne India 2012)
Developing modular, polyglot applications with Spring (SpringOne India 2012)Developing modular, polyglot applications with Spring (SpringOne India 2012)
Developing modular, polyglot applications with Spring (SpringOne India 2012)
 
Polyglot Persistence vs Multi-Model Databases
Polyglot Persistence vs Multi-Model DatabasesPolyglot Persistence vs Multi-Model Databases
Polyglot Persistence vs Multi-Model Databases
 
Polyglot Persistence with OSGi - Alexander Grzesik
Polyglot Persistence with OSGi - Alexander GrzesikPolyglot Persistence with OSGi - Alexander Grzesik
Polyglot Persistence with OSGi - Alexander Grzesik
 
OrientDB vs Neo4j - Comparison of query/speed/functionality
OrientDB vs Neo4j - Comparison of query/speed/functionalityOrientDB vs Neo4j - Comparison of query/speed/functionality
OrientDB vs Neo4j - Comparison of query/speed/functionality
 

Similar to 제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30

MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바NeoClova
 
The nosql echossytem
The nosql echossytemThe nosql echossytem
The nosql echossytem종석 박
 
BigData Overview
BigData OverviewBigData Overview
BigData OverviewHoryun Lee
 
No sql survey report
No sql survey reportNo sql survey report
No sql survey reportGichan Lee
 
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4Seok-joon Yun
 
(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&c)
(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&c)(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&c)
(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&c)InBum Kim
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴Terry Cho
 
Tajo and SQL-on-Hadoop in Tech Planet 2013
Tajo and SQL-on-Hadoop in Tech Planet 2013Tajo and SQL-on-Hadoop in Tech Planet 2013
Tajo and SQL-on-Hadoop in Tech Planet 2013Gruter
 
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더Amazon Web Services Korea
 
빅데이터, big data
빅데이터, big data빅데이터, big data
빅데이터, big dataH K Yoon
 
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
 
폴라리스오피스 운영시스템
폴라리스오피스 운영시스템폴라리스오피스 운영시스템
폴라리스오피스 운영시스템SANGGI CHOI
 
MySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxMySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxNeoClova
 
[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDW[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDWPgDay.Seoul
 
MySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptxMySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptxNeoClova
 
[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB
[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB
[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDBNAVER D2
 
Apache spark 소개 및 실습
Apache spark 소개 및 실습Apache spark 소개 및 실습
Apache spark 소개 및 실습동현 강
 
(Enterprise,RedHat) - SDC(IaaS) with SDS, Cloud References 2020-07 Samuel.pdf
(Enterprise,RedHat) - SDC(IaaS) with SDS, Cloud References 2020-07 Samuel.pdf(Enterprise,RedHat) - SDC(IaaS) with SDS, Cloud References 2020-07 Samuel.pdf
(Enterprise,RedHat) - SDC(IaaS) with SDS, Cloud References 2020-07 Samuel.pdfSAMUEL SJ Cheon
 
MariaDB 제품 소개
MariaDB 제품 소개MariaDB 제품 소개
MariaDB 제품 소개NeoClova
 

Similar to 제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30 (20)

MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바
 
The nosql echossytem
The nosql echossytemThe nosql echossytem
The nosql echossytem
 
BigData Overview
BigData OverviewBigData Overview
BigData Overview
 
No sql survey report
No sql survey reportNo sql survey report
No sql survey report
 
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
[2015 07-06-윤석준] Oracle 성능 최적화 및 품질 고도화 4
 
(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&c)
(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&c)(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&c)
(11th korea data_tech_seminar)using_mongo_db_4.0_and_nosql_inbum_kim(skc&c)
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴
 
Tajo and SQL-on-Hadoop in Tech Planet 2013
Tajo and SQL-on-Hadoop in Tech Planet 2013Tajo and SQL-on-Hadoop in Tech Planet 2013
Tajo and SQL-on-Hadoop in Tech Planet 2013
 
NoSQL
NoSQLNoSQL
NoSQL
 
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
 
빅데이터, big data
빅데이터, big data빅데이터, big data
빅데이터, big data
 
AWS CLOUD 2017 - Amazon Redshift 기반 DW 와 비지니스 인텔리전스 구현 방법 (김일호 솔루션즈 아키텍트)
AWS CLOUD 2017 - Amazon Redshift 기반 DW 와 비지니스 인텔리전스 구현 방법 (김일호 솔루션즈 아키텍트)AWS CLOUD 2017 - Amazon Redshift 기반 DW 와 비지니스 인텔리전스 구현 방법 (김일호 솔루션즈 아키텍트)
AWS CLOUD 2017 - Amazon Redshift 기반 DW 와 비지니스 인텔리전스 구현 방법 (김일호 솔루션즈 아키텍트)
 
폴라리스오피스 운영시스템
폴라리스오피스 운영시스템폴라리스오피스 운영시스템
폴라리스오피스 운영시스템
 
MySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxMySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docx
 
[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDW[Pgday.Seoul 2019] Advanced FDW
[Pgday.Seoul 2019] Advanced FDW
 
MySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptxMySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptx
 
[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB
[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB
[124]네이버에서 사용되는 여러가지 Data Platform, 그리고 MongoDB
 
Apache spark 소개 및 실습
Apache spark 소개 및 실습Apache spark 소개 및 실습
Apache spark 소개 및 실습
 
(Enterprise,RedHat) - SDC(IaaS) with SDS, Cloud References 2020-07 Samuel.pdf
(Enterprise,RedHat) - SDC(IaaS) with SDS, Cloud References 2020-07 Samuel.pdf(Enterprise,RedHat) - SDC(IaaS) with SDS, Cloud References 2020-07 Samuel.pdf
(Enterprise,RedHat) - SDC(IaaS) with SDS, Cloud References 2020-07 Samuel.pdf
 
MariaDB 제품 소개
MariaDB 제품 소개MariaDB 제품 소개
MariaDB 제품 소개
 

More from Donghan Kim

안전한 활용을 위한 개인정보 비식별화 동향-IITP-2052-2022-6.pdf
안전한 활용을 위한 개인정보 비식별화 동향-IITP-2052-2022-6.pdf안전한 활용을 위한 개인정보 비식별화 동향-IITP-2052-2022-6.pdf
안전한 활용을 위한 개인정보 비식별화 동향-IITP-2052-2022-6.pdfDonghan Kim
 
개인정보 비식별화 기술 동향 및 전망
개인정보 비식별화 기술 동향 및 전망 개인정보 비식별화 기술 동향 및 전망
개인정보 비식별화 기술 동향 및 전망 Donghan Kim
 
개인정보 비식별화 이해-김동한(공유)-2017-6-15
개인정보 비식별화 이해-김동한(공유)-2017-6-15개인정보 비식별화 이해-김동한(공유)-2017-6-15
개인정보 비식별화 이해-김동한(공유)-2017-6-15Donghan Kim
 
2016 국가정보화백서(국문 )-빅데이터 part-2016-12
2016 국가정보화백서(국문 )-빅데이터 part-2016-122016 국가정보화백서(국문 )-빅데이터 part-2016-12
2016 국가정보화백서(국문 )-빅데이터 part-2016-12Donghan Kim
 
공공_빅데이터_분석의_확산을_위한_첫걸음-2016-12
공공_빅데이터_분석의_확산을_위한_첫걸음-2016-12공공_빅데이터_분석의_확산을_위한_첫걸음-2016-12
공공_빅데이터_분석의_확산을_위한_첫걸음-2016-12Donghan Kim
 
Ai(인공지능) & ML(머신러닝) 101 Part1
Ai(인공지능) & ML(머신러닝) 101 Part1Ai(인공지능) & ML(머신러닝) 101 Part1
Ai(인공지능) & ML(머신러닝) 101 Part1Donghan Kim
 
기업 클라우드 유연성, 상호운영성 확보를 위한 해답,SDx-2015-11-11
기업 클라우드 유연성, 상호운영성 확보를 위한 해답,SDx-2015-11-11기업 클라우드 유연성, 상호운영성 확보를 위한 해답,SDx-2015-11-11
기업 클라우드 유연성, 상호운영성 확보를 위한 해답,SDx-2015-11-11Donghan Kim
 
ICT기반팩토리-FaaS
ICT기반팩토리-FaaSICT기반팩토리-FaaS
ICT기반팩토리-FaaSDonghan Kim
 
Big data infra core technology 빅데이터 전문인력-양성사업_분석과정-특강
Big data infra core technology 빅데이터 전문인력-양성사업_분석과정-특강Big data infra core technology 빅데이터 전문인력-양성사업_분석과정-특강
Big data infra core technology 빅데이터 전문인력-양성사업_분석과정-특강Donghan Kim
 
FinTech 알아보기-2015-2-24
FinTech 알아보기-2015-2-24FinTech 알아보기-2015-2-24
FinTech 알아보기-2015-2-24Donghan Kim
 
제5회 사내기술세미나-IT Compliance-김동한-2009-12-4
제5회 사내기술세미나-IT Compliance-김동한-2009-12-4제5회 사내기술세미나-IT Compliance-김동한-2009-12-4
제5회 사내기술세미나-IT Compliance-김동한-2009-12-4Donghan Kim
 
Green IT-2009-4-14
Green IT-2009-4-14Green IT-2009-4-14
Green IT-2009-4-14Donghan Kim
 
Social Commerce 2014-11
Social Commerce 2014-11Social Commerce 2014-11
Social Commerce 2014-11Donghan Kim
 
제3회 사내기술세미나-hadoop(배포용)-dh kim-2014-10-1
제3회 사내기술세미나-hadoop(배포용)-dh kim-2014-10-1제3회 사내기술세미나-hadoop(배포용)-dh kim-2014-10-1
제3회 사내기술세미나-hadoop(배포용)-dh kim-2014-10-1Donghan Kim
 
스마트폰의 모바일 서비스 현황-국회도서관보기고-2010-5
스마트폰의 모바일 서비스 현황-국회도서관보기고-2010-5스마트폰의 모바일 서비스 현황-국회도서관보기고-2010-5
스마트폰의 모바일 서비스 현황-국회도서관보기고-2010-5Donghan 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-30Donghan Kim
 
3A1P, 통합 계정 관리(IAM:Identity Access Management)-DHan-Kim-2012-11-6
3A1P, 통합 계정 관리(IAM:Identity Access Management)-DHan-Kim-2012-11-63A1P, 통합 계정 관리(IAM:Identity Access Management)-DHan-Kim-2012-11-6
3A1P, 통합 계정 관리(IAM:Identity Access Management)-DHan-Kim-2012-11-6Donghan Kim
 
제2회 i talks-세미나-openstack+openshift-2014-5-28
제2회 i talks-세미나-openstack+openshift-2014-5-28제2회 i talks-세미나-openstack+openshift-2014-5-28
제2회 i talks-세미나-openstack+openshift-2014-5-28Donghan Kim
 
IOT(사물인터넷)-제1회 iTalks 세미나-Dhankim-2014-4-2
IOT(사물인터넷)-제1회 iTalks 세미나-Dhankim-2014-4-2IOT(사물인터넷)-제1회 iTalks 세미나-Dhankim-2014-4-2
IOT(사물인터넷)-제1회 iTalks 세미나-Dhankim-2014-4-2Donghan Kim
 
2014 정보보호 트렌드-Dhan-kim-2014-3-25
2014 정보보호 트렌드-Dhan-kim-2014-3-252014 정보보호 트렌드-Dhan-kim-2014-3-25
2014 정보보호 트렌드-Dhan-kim-2014-3-25Donghan Kim
 

More from Donghan Kim (20)

안전한 활용을 위한 개인정보 비식별화 동향-IITP-2052-2022-6.pdf
안전한 활용을 위한 개인정보 비식별화 동향-IITP-2052-2022-6.pdf안전한 활용을 위한 개인정보 비식별화 동향-IITP-2052-2022-6.pdf
안전한 활용을 위한 개인정보 비식별화 동향-IITP-2052-2022-6.pdf
 
개인정보 비식별화 기술 동향 및 전망
개인정보 비식별화 기술 동향 및 전망 개인정보 비식별화 기술 동향 및 전망
개인정보 비식별화 기술 동향 및 전망
 
개인정보 비식별화 이해-김동한(공유)-2017-6-15
개인정보 비식별화 이해-김동한(공유)-2017-6-15개인정보 비식별화 이해-김동한(공유)-2017-6-15
개인정보 비식별화 이해-김동한(공유)-2017-6-15
 
2016 국가정보화백서(국문 )-빅데이터 part-2016-12
2016 국가정보화백서(국문 )-빅데이터 part-2016-122016 국가정보화백서(국문 )-빅데이터 part-2016-12
2016 국가정보화백서(국문 )-빅데이터 part-2016-12
 
공공_빅데이터_분석의_확산을_위한_첫걸음-2016-12
공공_빅데이터_분석의_확산을_위한_첫걸음-2016-12공공_빅데이터_분석의_확산을_위한_첫걸음-2016-12
공공_빅데이터_분석의_확산을_위한_첫걸음-2016-12
 
Ai(인공지능) & ML(머신러닝) 101 Part1
Ai(인공지능) & ML(머신러닝) 101 Part1Ai(인공지능) & ML(머신러닝) 101 Part1
Ai(인공지능) & ML(머신러닝) 101 Part1
 
기업 클라우드 유연성, 상호운영성 확보를 위한 해답,SDx-2015-11-11
기업 클라우드 유연성, 상호운영성 확보를 위한 해답,SDx-2015-11-11기업 클라우드 유연성, 상호운영성 확보를 위한 해답,SDx-2015-11-11
기업 클라우드 유연성, 상호운영성 확보를 위한 해답,SDx-2015-11-11
 
ICT기반팩토리-FaaS
ICT기반팩토리-FaaSICT기반팩토리-FaaS
ICT기반팩토리-FaaS
 
Big data infra core technology 빅데이터 전문인력-양성사업_분석과정-특강
Big data infra core technology 빅데이터 전문인력-양성사업_분석과정-특강Big data infra core technology 빅데이터 전문인력-양성사업_분석과정-특강
Big data infra core technology 빅데이터 전문인력-양성사업_분석과정-특강
 
FinTech 알아보기-2015-2-24
FinTech 알아보기-2015-2-24FinTech 알아보기-2015-2-24
FinTech 알아보기-2015-2-24
 
제5회 사내기술세미나-IT Compliance-김동한-2009-12-4
제5회 사내기술세미나-IT Compliance-김동한-2009-12-4제5회 사내기술세미나-IT Compliance-김동한-2009-12-4
제5회 사내기술세미나-IT Compliance-김동한-2009-12-4
 
Green IT-2009-4-14
Green IT-2009-4-14Green IT-2009-4-14
Green IT-2009-4-14
 
Social Commerce 2014-11
Social Commerce 2014-11Social Commerce 2014-11
Social Commerce 2014-11
 
제3회 사내기술세미나-hadoop(배포용)-dh kim-2014-10-1
제3회 사내기술세미나-hadoop(배포용)-dh kim-2014-10-1제3회 사내기술세미나-hadoop(배포용)-dh kim-2014-10-1
제3회 사내기술세미나-hadoop(배포용)-dh kim-2014-10-1
 
스마트폰의 모바일 서비스 현황-국회도서관보기고-2010-5
스마트폰의 모바일 서비스 현황-국회도서관보기고-2010-5스마트폰의 모바일 서비스 현황-국회도서관보기고-2010-5
스마트폰의 모바일 서비스 현황-국회도서관보기고-2010-5
 
제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
 
3A1P, 통합 계정 관리(IAM:Identity Access Management)-DHan-Kim-2012-11-6
3A1P, 통합 계정 관리(IAM:Identity Access Management)-DHan-Kim-2012-11-63A1P, 통합 계정 관리(IAM:Identity Access Management)-DHan-Kim-2012-11-6
3A1P, 통합 계정 관리(IAM:Identity Access Management)-DHan-Kim-2012-11-6
 
제2회 i talks-세미나-openstack+openshift-2014-5-28
제2회 i talks-세미나-openstack+openshift-2014-5-28제2회 i talks-세미나-openstack+openshift-2014-5-28
제2회 i talks-세미나-openstack+openshift-2014-5-28
 
IOT(사물인터넷)-제1회 iTalks 세미나-Dhankim-2014-4-2
IOT(사물인터넷)-제1회 iTalks 세미나-Dhankim-2014-4-2IOT(사물인터넷)-제1회 iTalks 세미나-Dhankim-2014-4-2
IOT(사물인터넷)-제1회 iTalks 세미나-Dhankim-2014-4-2
 
2014 정보보호 트렌드-Dhan-kim-2014-3-25
2014 정보보호 트렌드-Dhan-kim-2014-3-252014 정보보호 트렌드-Dhan-kim-2014-3-25
2014 정보보호 트렌드-Dhan-kim-2014-3-25
 

제2회 사내기술세미나-no sql(배표용)-d-hankim-2013-4-30

  • 1. 2013년 제2회 사내 기술 세미나 - 부제: NoSQL 이해와 동향 2013.4.30
  • 2. NoSQL의 이해 NoSQL 이해를 위해 알아야 할 개념 NoSQL 현황 및 전망 마무리 Contents
  • 3. NoSQL 이해를 위한 알아야 할 개념 Transaction – 데이터베이스에서 행해지는 작업의 논리적 단위(Logical unit of work) – 기술적으로 처리하는 일정한 단위의 의미가 아니라 업무적으로 의미가 있는 최소의 작업 처리단위 – 트랜잭션의 단위는 업무에 의해서 판단 – 트랜잭션 제어는 Rollback, Commit로 제어
  • 4. NoSQL 이해를 위해 알아야 할 개념 ACID – RDB Transaction의 특징  작업의 논리 단위가 트랜잭션으로 적합하기 위해 가지는 속성 – Atomic(원자성)  트랜잭션과 관련된 작업들이 모두 수행되었는지 아니면 모두 실행이 안되 었는지를 보장하는 능력  예) 자금 이체는 성공할 수도 실패할 수도 있지만 원자성은 중간 단계까지 실행되고 실패하는 일은 없도록 하는 것이다. – Consistent(일관성)  트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것을 의미  예) 무결성 제약이 모든 계좌는 잔고가 있어야 한다면 이를 위반하는 트랜 잭션은 중단된다.
  • 5. NoSQL 이해를 위해 알아야 할 개념 ACID – Isolated(고립성)  트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장 하는 것을 의미, 트랜잭션 밖에 있는 어떤 연산도 중간 단계의 데이터를 볼 수 없음을 의미  공식적으로 고립성은 트랜잭션 실행내역은 연속적이어야 함을 의미  예) 은행 관리자는 이체 작업을 하는 도중에 쿼리를 실행하더라도 특정 계 좌간 이체하는 양 쪽을 볼 수 없다. – Durable(영속성)  성공적으로 수행된 트랜잭션은 영원히 반영되어야 함을 의미  시스템 문제, DB 일관성 체크 등을 하더라도 유지되어야 함을 의미  전형적으로 모드 트랜잭션은 로그로 남고 시스템 장애 발생 전 상태로 되돌 릴 수 있음  트랜잭션은 로그에 모든 것이 저장된 후에만 commit 상태로 간주
  • 6. NoSQL 이해를 위해 알아야 할 개념 BASE – NoSQL 제품군은 ACID 항목에서 하나 또는 그 이상을 만족하지 않음 – Basically Available  분산 시스템이기 때문에 항상 가용성을 중시  클라우드의 Basically Availability의 실현은 Optimistic Locking 및 큐 등 – Soft-State  노드의 상태는 내부에 포함된 정보에 의해 결정되는 것이 아니라 외부에서 전송된 정보를 통해 결정된다는 상태의 사고 방식  중요한 것은 외부에서 보내진 정보에 의해 결정된다는 것이다. 즉, 떨어진 노드 간의 데이터 업데이트는 데이터가 노드에 도달한 시점에서 갱신  밖에서 받은 정보로 상태를 업데이트하므로 Soft-State라 함 – Eventually Consistent  시스템상에서 일시적으로 Consistent하지 않은 상태가 되어도 일정 시간 후에는 Consistent 상태가 되는 성질
  • 7. NoSQL 이해를 위해 알아야 할 개념 CAP Theorem – 분산 시스템이 갖추면 좋은 3가지 특성  Consistency(데이터 일관성) – all nodessee thesamedata atthesametime  Availability(가용성) – nodefailuresdonotpreventsurvivorsfromcontinuingtooperate  Partition Tolerance(단절내성, 부분 결함 허용) – thesystemcontinuestooperatedespitearbitrarymessageloss – Brewer's Theorem이라고도 함  분산 시스템은 CAP 특성을 동시에 다 만족하지는 못함(불가능)  한가지의 특성은 포기하고 두 가지만 전략적으로 선택해야 한다는 이론
  • 8. NoSQL의 이해 NoSQL 정의 – 비관계형, 분산, 오픈소스, 수평 확장성을 주요 특징으로 갖는 차세대 데이터베이스(www.nosql-database.org) – 비구조적인 데이터를 저장하기 위한 분산 저장 시스템 – 학술적으로는 “Structured Storage”라고도 하며 RDB도 포함 – 기존의 관계형 데이터(테이블)가 아닌 다양한 데이터 형태를 효율적으 로 처리할 수 있는 구조와 유연성을 갖춘 분산 데이터베이스
  • 9. NoSQL의 이해 NoSQL 등장 배경 – 환경적 배경  데이터 규모의 확대 – 데이터의엄청난증가로인한RDBMS의수용능력을벗어남 – RDBMS의고비용을감당하기힘든업체들의데이터관리정책전환 – 웹 기반 서비스들이 글로벌로 확장, 지리적 분산(여러 지역의 데이터 센타 산재) 으로인한분산시스템의요구  웹 서비스의 구조 변화 – 웹어플리케이션특징으로,Withouttransactions,Withoutstrongconsistency – 웹 어플리케이션들의 데이터인 Non-structured data의 저장시스템으로 RDBMS의부적절함(사용자의데이터요구가일관적이지않고다양해짐)
  • 10. NoSQL의 이해 NoSQL 등장 배경 – 환경적 배경: RDBMS performance
  • 11. NoSQL의 이해 NoSQL 등장 배경 – 기술적 배경  Google의 GFS(2003), BigTable(2006), MapReduce Framework(2004), Sawzall(2005)을 통한 대용량 데이터 처리에 대한기술공개  BigTable – 수 천대 이상의 서버에서 페타(peta) 바이트에 달하는 매우 큰 용량의 구조화 된 데이터(structured data)를 관리하기 위한 분산 저장 시스템(distributed storagesystem) – Google Analytics, Google Finance, Orkut, Personalized Search, Writely, GoogleEarth등과같은60개 이상의프로젝트에서사용중  아마존(AWS)의 Dynamo 논문 발표
  • 12. NoSQL의 이해 NoSQl 특징 – 기본적으로 key & value로 저장 – 분산 환경 지원 – 단순한 호출 또는 프로토콜 수준의 사용인터페이스, Call level interface 지원(DBMS에 접근하는 표준, SQL 바인딩에 반대되는)) – 막대한 양의 데이터를 처리할 수 있는 대용량 데이터의 빠른 인덱싱(인 덱스와 데이터 분리 운영) – 대용량(heavy) 읽기/쓰기 성능이 좋음 – 수평적 확장(horizontal scaling) 또는 scale-out 형태로 확장성 만족 – 데이터의 스키마와 속성들을 동적으로 정의(Schemless) – Join 미지원으로 인한 데이터의 조합 미지원 – 일반적인 관계형 DB의 ACID 트랜잭션과는 다른 "느슨한" 동시성 제 어모델(BASE) – 특정한 표준에 의해 만들어진 기술이 아닌 필요에 의해 만들어진 기술
  • 14. NoSQL의 이해 CAP Theorem – RDB = C+A – Cassandra = A+P – BigTable = C+P
  • 16. NoSQL의 이해 C-A Traditional RDBMSs like Postgres, MySQL, etc (relational) C-P BigTable(column-oriented/tabular, C++) Hypertable(column-oriented/tabular, C++) HBase(column-oriented/tabular, Java) MongoDB(document-oriented, C++) Terrastore(document-oriented) Redis(key-value, C) Scalaris(key-value, Erlang) MemcacheDB(key-value, C/C++) Berkeley DB(key-value, C/C++/Java) A-P Dynamo(key-value) Voldemort(key-value, Java) Tokyo Cabinet(key-value, C) KAI(key-value, Erlang) Cassandra(column-oriented/tabular, Java) CouchDB(document-oriented, Erlang) SimpleDB(document-oriented) Riak(document-oriented, Erlang) NoSQL 분류: CAP Theorem에 따른 분류
  • 17. NoSQL의 이해 NoSQL 분류: Data Model에 따른 분류
  • 18. NoSQL의 이해 NoSQL 분류 – 대표적 NoSQL DBMS 비교
  • 20. NoSQL의 이해 SQL, NoSQL 적용 시 고려사항
  • 21. NoSQL 현황 및 전망 Hype Cycle for Big Data, 2012
  • 22. 현황 – NoSQL의 인기도(2012.3, Jaspersoft)  하둡 진영(Hbase, Hive, Avro) > 몽고 DB > 카산드라의 순서  단일 제품으로는 몽고 DB가 가장 높은 순위) NoSQL 현황 및 전망
  • 23. NoSQL 현황 및 전망 현황 – 현재의 NoSQL의 자화상  NoSQL의 대부분은 오픈소스, NoSQL에는 주도적인 세력이 없음  NoSQL은 이제 인지 단계에서 벗어나 사용 단계로 발전 중  NoSQL,도입사례 고픈 유망주 – DB 빅 벤더들의 신제품 출시  오라클 NoSQL 데이터베이스 2.0 출시(2013.1)  IBM의 NoSQL 통합 개발 진행 중 – 국내 NoSQL 시장에 대한 기대감은 물론 계속 확대 추세  도입을 고려중인 기업들 스스로가 기술적 특성에 좀더 면밀한 관심을 기울 일 필요가 있다는 전문가들의 지적
  • 24. NoSQL 현황 및 전망 DB 업계의 3개 트렌드
  • 25. NoSQL 현황 및 전망 앞으로의 기업의 DB 환경 – Polyglot persistence
  • 26. 마무리 NoSQL – 초고용량 데이터의 처리를 위해 특히 데이터 읽기 보다 쓰기에 중점을 둔, “Shared Nothing”의 수평적 확장이 가능하며 다수 서버들에 데 이터 복제 및 분산 저장이 가능한 DB 또는 이런 기술 트렌드 – 아직은 불완전한 기술 : RDBMS가 기본, 모든 업무에 적용할 수 없음 – 장/단점