본문 바로가기
SQL

SQL과 NoSQL

by JoyfulS 2019. 9. 25.

SQL을 알아보기 전 먼저, DBMS란?

- 데이터베이스가 '데이터의 집합'이라면 DBMS는 데이터베이스를 관리, 운영하는 역할

- 데이터베이스는 여러 명의 사용자나 응용프로그램이 공유하고 동시에 접근이 가능해야 함

- 데이터베이스의 특징

 1) 데이터의 무결성 : 데이터에 오류가 있어서는 안된다. 무결성을 위해 '제약 조건'이라는 특성을 가진다.

 2) 데이터의 독립성 : 데이터베이스 크기 변경이나 데이터 파일의 저장소를 변경해도 기존에 작성된 응용프로그램은 전혀 영향을 받지 않아야 한다. 의존적 관계가 아니라 독립적 관계.

 3) 보안 : 데이터에 아무나 접근할 수 있어서는 안된다.

 4) 데이터 중복의 최소화 : 동일한 데이터가 여러 개 중복 저장 되는 것을 방지한다.

   (여러 사람이 같은 파일을 각자 가지고 사용 vs 데이터베이스에 통합하여 하나의 테이블에 저장하고 이를 공유)

 5) 응용프로그램 제작 및 수정이 쉬워짐 : 통일된 방식으로 응용프로그램 작성 가능하고, 유지보수 쉬워진다.

 6) 데이터의 안정성 향상 : 백업, 복원 기능을 이용할 수 있다.

- DBMS 분류 : 계층형 / 망형 /  관계형 /  객체지향형 / 객체관계형 DBMS 등이 있다.

 

 

SQL이란?

- Structured Query Language : 구조화 질의어

- 데이터베이스를 구축하고 활용하기 위해 사용하는 언어

- IBM에 의해 개발된 SQL(Structured Query Language)은 관계형 데이터 모델로 표현되는 데이터베이스를 다루는 언어로, 미국 국립 표준 협회가 이를 표준으로 제정하였고 현재 가장 널리 사용되고 있다.
- SQL은 영어 문장과 유사하므로 초보자들도 비교적 쉽게 사용할 수 있다.

- SQL은 크게 데이터 정의언어(DDL : Data Definition Language)와 데이터 조작 언어(DML : Data Manipulation Language)로 나뉜다.

분류 내용
데이터 정의 언어 릴레이션 생성, 릴레이션 삭제, 릴레이션 변경
데이터 조작 언어 검색, 삽입, 삭제, 갱신

 

참고자료 : [네이버 지식백과] SQL (컴퓨터 개론, 2013. 3. 10., 김종훈, 김종진)

 

 

NoSQL이란?

- 빅데이터 처리를 위한 비관계형 데이터베이스 관리 시스템(DBMS)

- 전통적인 관계형 데이터베이스 관리 시스템(RDBMS)과는 다르게 설계된 비관계형(non-relational) DBMS

- 대규모의 데이터를 유연하게 처리할 수 있는 것이 강점이다.

- 노에스큐엘(NoSQL)은 테이블-컬럼과 같은 스키마 없이, 분산 환경에서 단순 검색 및 추가 작업을 위한 키 값을 최적화하고, 지연(latency)과 처리율(throughput)이 우수하다.

- 대규모 확대가 가능한 수평적인 확장성의 특징을 가지고 있다. 

- NoSQL에 기반을 둔 시스템의 대표적인 예로는 아파치 카산드라(Apache Cassandra), 하둡(Hadoop), 몽고디비(MongoDB) 등이 있다.

 

참고자료 : [네이버 지식백과] 노에스큐엘 [NoSQL, non SQL] (IT용어사전, 한국정보통신기술협회)

 

'SQL' 카테고리의 다른 글

SQL 02. DML 기본 명령어  (0) 2019.09.27
SQL 01. DDL 기본 명령어  (0) 2019.09.27
SQL의 분류 : DML / DDL / DCL / TCL  (0) 2019.09.26
RDBMS 기본 개념과 사용법  (0) 2019.09.26
SQL 설치  (0) 2019.09.26

댓글