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

+ Recent posts