데이터 모델 상세
3.1 관계

•   집합 - 지향 데이터베이스

•   부분적인 데이터를 개별적으로 처리하기 불편 - 관계형 데이터베이스
    와 같이 각 집합을 대표하는 키를 두어 각각 처리

•   ACID 보장이 힘듦

•   관계형 데이터베이스도 성능면에서 관계의 복잡함에 대한 이슈가 있음
ACID
•   원자성 , 일관성 , 독립성 , 지속성

•   데이터베이스 트랜젝션이 안전하게 수행된다는 것을 보장하기 위한 성질

•   원자성 (Atomicity) : 트랜잭션과 관련된 작업들이 모두 수행되었는지 아니면 모두 실행이 안되었는지를 보장하는 능력이
    다.

•   일관성 (Consistency) : 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것을
    의미한다 .

•   고립성 (Isolation) : 트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장하는 것을 의미한다 .

•   지속성 (Durability) : 성공적으로 수행된 트랜잭션은 영원히 반영되어야 함을 의미한다 .
CAP 이론

CAP 이란 ?
•Consistency: 모든 사용자들에게 같
은 시간에 같은 데이터를 보여 주어야
한다
•Availability: 모든 클라이언트 들이
읽기 및 쓰기가 가능해야 한다 . 즉 ,
하나의 노드가 장애가 일어 나더라도
다른 노드에는 영향을 미치면 안된다 .
•Partition tolerance: 물리적 네트워크
분상 환경에서 시스템 동작이 원할하
게 이루어 져야 한다 . 즉 , 네트워크
전송 중 데이터 손실 상황이 와도 시
스템은 정상적으로 동작을 해야한다


RDB : CA

Cassandra : AP

BigTable, MongoDB : CP
3.2 그래프 데이터베이스


•   RDBMS 의 대안으로써 나타남

•   node( 노드 ), relationship( 방향과 타입 ), property( 노드들과의 관계 )

•   그래프 데이터베이스 프로젝트 ( 오픈소스 ) : Neo4j, HyergraphDB
3.3 스키가 없는 데이터베이스


•   모든 NoSQL 은 스키마가 없음

•   데이터 삽입 시 제약이 없어 쉽게 데이터 추가가 가능

•   균일하지 않은 데이터를 처리하는 것이 수월

•   어플리케이션에 암묵적 스키마를 가짐 - 확인을 위해선 소스를 봐야함
3.4 구체화 뷰


•   집합 지향 DB 는 많은 데이터를 한 집합에 포함시키는 이점이 있음

•   쿼리 결과를 미리 계산해 캐시하는 것 .

•   기본데이터가 바뀔 때 구체화 뷰도 함께 바뀜
요점
•   집합 지향 데이터베이스에서는 집합 내 관계보다 집합 간 관계 처리가 힘듦

•   그래프 데이터베이스는 데이터를 노드와 간선의 그래프 구조로 만들며 , 복
    잡한 관계를 가지는 데이터에 최적 .

•   무스키마 데이터베이스는 레코드에 필드를 자유롭게 추가 가능하나 , 보통
    데이터 사용자가 기대하는 암묵적 스키마가 있다 .

•   집합지향 데이터베이스는 주요 집합과 구조가 다른 데이터 제공을 위해 구
    체화 뷰를 사용 , 구체화 뷰를 만드는 작업은 보통 맵 - 리듀스 계산을 통해
    수행된다 .
감사합니다 .
감사합니다 .

3장

  • 1.
  • 2.
    3.1 관계 • 집합 - 지향 데이터베이스 • 부분적인 데이터를 개별적으로 처리하기 불편 - 관계형 데이터베이스 와 같이 각 집합을 대표하는 키를 두어 각각 처리 • ACID 보장이 힘듦 • 관계형 데이터베이스도 성능면에서 관계의 복잡함에 대한 이슈가 있음
  • 3.
    ACID • 원자성 , 일관성 , 독립성 , 지속성 • 데이터베이스 트랜젝션이 안전하게 수행된다는 것을 보장하기 위한 성질 • 원자성 (Atomicity) : 트랜잭션과 관련된 작업들이 모두 수행되었는지 아니면 모두 실행이 안되었는지를 보장하는 능력이 다. • 일관성 (Consistency) : 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것을 의미한다 . • 고립성 (Isolation) : 트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장하는 것을 의미한다 . • 지속성 (Durability) : 성공적으로 수행된 트랜잭션은 영원히 반영되어야 함을 의미한다 .
  • 4.
    CAP 이론 CAP 이란? •Consistency: 모든 사용자들에게 같 은 시간에 같은 데이터를 보여 주어야 한다 •Availability: 모든 클라이언트 들이 읽기 및 쓰기가 가능해야 한다 . 즉 , 하나의 노드가 장애가 일어 나더라도 다른 노드에는 영향을 미치면 안된다 . •Partition tolerance: 물리적 네트워크 분상 환경에서 시스템 동작이 원할하 게 이루어 져야 한다 . 즉 , 네트워크 전송 중 데이터 손실 상황이 와도 시 스템은 정상적으로 동작을 해야한다 RDB : CA Cassandra : AP BigTable, MongoDB : CP
  • 5.
    3.2 그래프 데이터베이스 • RDBMS 의 대안으로써 나타남 • node( 노드 ), relationship( 방향과 타입 ), property( 노드들과의 관계 ) • 그래프 데이터베이스 프로젝트 ( 오픈소스 ) : Neo4j, HyergraphDB
  • 6.
    3.3 스키가 없는데이터베이스 • 모든 NoSQL 은 스키마가 없음 • 데이터 삽입 시 제약이 없어 쉽게 데이터 추가가 가능 • 균일하지 않은 데이터를 처리하는 것이 수월 • 어플리케이션에 암묵적 스키마를 가짐 - 확인을 위해선 소스를 봐야함
  • 7.
    3.4 구체화 뷰 • 집합 지향 DB 는 많은 데이터를 한 집합에 포함시키는 이점이 있음 • 쿼리 결과를 미리 계산해 캐시하는 것 . • 기본데이터가 바뀔 때 구체화 뷰도 함께 바뀜
  • 8.
    요점 • 집합 지향 데이터베이스에서는 집합 내 관계보다 집합 간 관계 처리가 힘듦 • 그래프 데이터베이스는 데이터를 노드와 간선의 그래프 구조로 만들며 , 복 잡한 관계를 가지는 데이터에 최적 . • 무스키마 데이터베이스는 레코드에 필드를 자유롭게 추가 가능하나 , 보통 데이터 사용자가 기대하는 암묵적 스키마가 있다 . • 집합지향 데이터베이스는 주요 집합과 구조가 다른 데이터 제공을 위해 구 체화 뷰를 사용 , 구체화 뷰를 만드는 작업은 보통 맵 - 리듀스 계산을 통해 수행된다 .
  • 9.
  • 10.