1. 분산 환경 최적 DBMS, NoSQL의 개념 테이블-컬럼 스키마 없이 분산 환경에서 Key-Value 기반 단순 검색 및 추가 작업이 용이한 DBMS 2. NoSQL 데이터 모델 구조 모델 구조 개념도 설명 Key/Value Store Key/Value Model Column Family Model – Unique한 Key에 하나의 Value 형태 모델 – Column Family Key 내 (Column, Value) 조합으로 된 여러 필드를 갖는 모델 Ordered Key/Value Store – Key/Value Store의 확장된 형태로, 데이터가 Key 순서로Sorting
1. SNS 관계 표현, 그래프 데이터베이스 그래프 데이터베이스 (GDB, Graph Database) 데이터를 노드(Node)와 엣지(Edge) 관계로 저장하고, 그래프에서 연결하는 데이터베이스 2. 그래프 데이터베이스의 구조 및 구성기술 (1) 그래프 데이터베이스의 구조 정점(Vertex)과 간선(Edge)을 통해 현실 엔티티(Entity) 간의 관계(Relation)를 표현 (2) 그래프 데이터베이스의 구성기술 구분 구성기술 설명 일관성 측면 – ACID 보장 – 무결성 기술 – 원자성, 일관성, 독립성 등 – 데이터 사이 관계 제공
1. 분산 데이터베이스 개요 (1) 분산 데이터베이스 개념 개념도 개념 논리적으로 하나의 시스템으로 구성되나 물리적으로 네트워크를 통해 분산된 형태로 관리되는 데이터베이스 (2) 분산 데이터베이스의 장단점 구분 세부 구분 설명 장점 지역 자치성 – 지역 자체 자치적 제어 가능 점증적 확장 – 확장 시 서비스 중단 없음 신뢰성, 가용성 – 데이터 중복 관리로 가용성 증가 단점 개발 비용증가 – 분산DB 개발의 복잡성 증가 오류
1. 가상 튜플 충돌 현상, 팬텀 충돌의 개요 (1) 팬텀 충돌(Phantom Conflict)의 개념 서로 충돌하지 않는 두 개 이상의 트랜잭션이 삽입되려고 하는 가상의 튜플에 의해 충돌이 발생되는 현상 트랜잭션의 일관성이 보장되지 않는 현상 (2) 팬텀 충돌의 영향 읽기 수행 시 – 다른 트랜잭션의 삽입으로 처음 읽을 때 없던 튜플이 다음에 읽을 때 나타남 쓰기 수행 시 – 다른 트랜잭션의
1. 개체 간의 관계, 카디널리티의 개요 카디널리티 (1) 카디널리티(Cardinality)의 개념 엔티티 간 릴레이션을 구성하는 튜플의 수를 1:1, 1:N, N:M 등으로 표현하는 개체 간의 관계 (2) 카디널리티의 표현 엔티티 간의 릴레이션을 구성하는 튜플의 수를 카디널리티로 지칭 2. 카디널리티의 종류와 표기법 Cardinality 최소 관계 최대 관계 표기법 Exactly one 1 1 Zero or one 0 1 One
1. 키(Key) 유형 (1) 키(Key)의 정의 데이터베이스에서 조건을 만족하는 튜플(레코드)을 찾거나 순서대로 정렬할 때 기준이 되는 속성 (2) 키(Key) 유형 키(Key) 설명 후보키 (Candidate Key) 릴레이션(테이블)을 구성하는 속성 중 튜플(레코드)을 유일하게 식별할 수 있는 속성의 부분 집합 기본키 (Primary Key) 후보키 중 유일성과 최소성을 가지며 튜플(레코드)을 식별하기 위해 반드시 필요한 키, Null 값 불가 대체키 (Alternate
1. 데이터 모델링 무결성 위한, 키(Key) 제약 키(Key) 제약 유형 구현 형태 설명 본질적 제약 – 데이터 모델 구조적 특성 제약 – 반드시 Primary Key 있어야하고 테이블 셀 단일 값(1차 정규화) – Primary Key – Unique Key 내재적 제약 – 의미를 정확히 표현, 오류 방지 – DB 스키마 지정 제약 – 영역 제약, 참조 무결성 제약 – Foreign Key – Check – Not null 명시적 제약 – 프로그램에 명시하거나
1. Phantom Read 원인, 트랜잭션 데이터 공유 문제 Phantom Read 원인 트랜잭션 발생 문제 동시 접근 A B Read Read 읽기만 수행 시 발생 문제 없음 허용 Read Write Dirty, Non-Repeatable, PhantomRead 허용/불가 Write Write Lost Update 불가 Read와 Write 트랜잭션이 하나의 data에 동시에 접근 시 일관성을 훼손하는 Dirty Read, PhantomRead 등 문제 발생 가능 2. 없던 레코드 발생 현상,
1. NoSQL의 BASE 속성 BASE (Basically Available, Soft state, Eventually Consistence)는, 가용성과 성능을 중시하는 분산 시스템의 NoSQL 특성 (1) BASE의 속성 속성 특성 세부 설명 Basically Available 가용성 – 데이터는 항상 접근 가능 – 다수 스토리지에 복사본 저장 Soft-state 독립성 – 노드의 상태는 외부에서 전송된 정보를 통해 상태를 결정 Eventually Consistency 일관성 – 일정 시간 경과 시 데이터의 일관성
1. Dirty Read 관련 RDBMS의 트랜잭션 데이터 공유 문제 트랜잭션 발생 문제 동시 접근 A B Read Read 읽기만 수행 시 발생 문제 없음 허용 Read Write Dirty, Non-Repeatable, Phantom Read 허용/불가 Write Write Lost Update 불가 Read와 Write 트랜잭션이 하나의 data에 동시에 접근 시 일관성을 훼손하는 Dirty Read, Phantom Read 등 문제 발생 가능