728x90
목차
1. 대형 데이터베이스 구축기술
2. NoSQL
1. 대형 데이터베이스 구축기술
대형 데이터베이스 구축기술
데이터는 계속 늘어남 > 한 대의 DBMS 서버로는 처리 능력의 한계
성능 업그레이드
HDD —> SSD (All Flash Memory) —> 인 메모리 머신(In-Memory Machine)
- VLDB(Very Large DBMS)
DBMS 내용 분할(DB/테이블)
쓰기(Write) 성능 향상
—> Partitioning : 서버 한대로 나누는 것, 서버 위치를 인식할 필요 없음
—> Sharding : 여러대의 서버에 나눠서 저장하는 것, 서버 위치를 인식해야함
동일한 DBMS를 여러 개 유지(마스터/슬레이브)
읽기(Read) 성능 향상
—> 역전규화 : Join을 하기 힘든 문제들을 해결할 수 있다.
스케일업(Scale-Up)
- 보통 말하는 업그레이드를 말함
- CPU 클럭 속도 증가, 코어 수 증가, 메모리 증가
- 보통 성능증가에 비해 가격 증가가 더 빠름 —> 비용 부담
- 병령컴퓨팅(Parallel Computing) / 전용 네트워크
- Tiglely-Coupled System
스케일아웃(Scale-Out)
- 동일한 서버 / DBMS를 병렬로 구축
- 분산컴퓨팅(Distributed Computing)
- Loosely Coupled System —> 상대적으로 저렴
- 노드 수 추가하여 계속 성능 향상 가능 / 효율은 상대적으로 떨어짐
2. NoSQL
NoSQL
- Not Only SQL
- 일반 RDBMS가 주로 읽기/검색 성능에 최적화
- 쓰기 성능이 중요한 응용의 경우 좋은 성능을 보이는 경우가 많음
- 로그 머신, SNS메신저(밴드, 카카오톡, …)등
- 기존 RDBMS를 완전히 대체하는 것이라기 보다는 보완재의 역할
- 특정 기술을 말하는 것이 아니라 일련의 제품군을 가리킴
- 제품군
CAP 이론을 이용한 NoSQL 시스템 분류
- C(일관성: Consistency)
- A(가용성: Availability)
- P(파티션 내성: Partition Tolerance)
- 어떤 시스템도 3가지 모두를 만족시킬 수 없다.(CA, AP, CP) (2가지만 가능)
저장형태에 대한 분류
- 키/밸류(Key/Value)
- 정렬된 키/밸류(Ordered Key/Value)
- 도큐먼트 형태(Document based)
스키마리스(Schemaless)
- 스키마(DDL) 기반이 아니라 필요하면 새로운 컬럼(키)를 추가하면 된다.
- 전체적으로 동일한 구조가 아닐 수 있음
- RDBMS : 정규형 데이터
- NoSQL : 반(semi)정규형 데이터
- 검색엔진 : 비정규형(Plain Text) 데이터
728x90
'IT > SQL' 카테고리의 다른 글
[SQL] COUNT에 조건 넣기 (0) | 2022.12.16 |
---|---|
MySQL[19] - 저장 프로시저, 트리거 (0) | 2022.06.23 |
MySQL[18] - 트랜잭션 개념, 락(lock), 격리수준 (0) | 2022.06.14 |
MySQL[17] - Full Text Search, Bulk Insert (0) | 2022.06.14 |
[SQL] 프로시저 vs 함수 (0) | 2022.06.14 |