[ 목차 ]
1. 대형 데이터베이스의 필요성
2. VLDB (Very Large DBMS)
3. 스케일업
4. 스케일아웃
5. Not Only SQL
6. NOSQL의 분류
7. 스키마리스
1. 대형 데이터베이스의 필요성
1) 계속 늘어나는 데이터 -> 한 대의 DBMS 서버로는 처리능력의 한계
2) 성능 업그레이드 필요
3) HDD - > SSD -> 인 메모리 머신
2. VLDB (Very Large DBMS)
1) 샤딩 : DBMS 내용을 분할(DB/테이블)해 여러 곳에 저장하는 것으로, 쓰기 성능이 향상
2) 복제 : 동일한 DBMS를 여러 개 유지(마스터/슬레이브)하는 것으로, 읽기 성능 향상
3. 스케일업
1) 보통 말하는 업그레이드를 포함
2) CPU 클럭속도 증가, 코어 수 증가, 메모리 증가
3) 보통 성능증가에 비해 가격증가가 더 빠르기 때문에 비용이 부담
4) 병렬컴퓨팅/전용 네트워크
5) Tiglely-Coupled System
4. 스케일아웃
1) 동일한 서버/DBMS를 병렬로 구축
2) 분산컴퓨팅
3) Loosely Coupled System -> 상대적으로 저렴
4) 노드 수 추가하여 계속 성능 향상 가능하나 효율을 상대적으로 떨어짐
5. Not Only SQL
1) 일반 RDBMS가 주로 읽기/검색성능에 최적화
2) 쓰기성능이 중요한 응용의 경우 좋은 성능을 보이는 경우가 많음
3) 로그 머신, SNS메신저 등
4) 기존 RDBMS를 완전히 대체하는 것이라기 보다 보완제의 역할
5) 특정 기술을 말하는 것이 아닌 일련의 제품군을 지칭(MongoDB, Apache, Redis
6. NOSQL의 분류
1) CAP 이론을 이용한 분류
1] C 일관성 : 어떤 노드를 접근하더라도 데이터 값이 동일
2] A 가용성 : 노드 일부가 Fail 되더라도 서비스가 중단되지 않음
3] P 파티션 내성 : 노드간 통신에 장애가 생겨도 문제가 없음
4] 어떤 시스템도 3가지 모두를 만족시킬 수 없음
5] CA : 일반 RDBMS, CP : Hbae, MongoDB, Redis, AP : Cassandra
2) 저장형태에 따른 분류
1] 키/벨류 : 키값을 주면 벨류를 리턴하는 형태로 JSON과 유사한 형태, Redis
2] 정렬된 키/벨류 : 키값으로 정렬되는 형태, Hadoop, Cassandra, HBase
3] 도큐먼트 형태 : 벨류값이 JSHON/XML문서인 형태, MongoDB
7. 스키마리스
1) 스키마 기반이 아니기에 필요하면 새로운 칼럼을 추가 가능
2) 전체적으로 동일한 구조가 아닐 수 있음
3) RDBMS : 정규형 데이터
4) NoSQL : 반정규형 데이터
5) 검색엔진 : 비정규형 데이터
'T아카데미 > 데이터베이스' 카테고리의 다른 글
데이터베이스 이수증 (0) | 2020.03.27 |
---|---|
20강. SQL Advanced 7 (0) | 2020.03.27 |
19강. SQL Advanced 6 (0) | 2020.03.27 |
18강. SQL Advanced 5 (0) | 2020.03.27 |
17강. SQL Advanced 4 (0) | 2020.03.25 |