만약에 서버를 만들었다라고 한다면 프론트엔드가 특정 정보를 요청할 때마다 해당 특정 정보를 제공해주는 어떤 데이터의 모음소가 있어야된다 해당 데이터의 모음소를 우리는 데이터베이스라고 부른다

 

 

dbms(데이터베이스 관리 시스템)


dbms는 사용자들이 데이터베이스 내의 데이터에 접근할 수 있게 도와주는 도구의 집합을 뜻하며 dbms는 이러한 요구에 적절히 응답할 수 있어야 한다

 

우리는 직접 데이터베이스에 접근하는 것이 아니라 데이터베이스 관리 시스템을 통해 원하는 데이터들만을 추출하는 시스템이며 구조는 아래와 같다

 

 

관계형 DB


관계형 데이터베이스는 key와 value로 이루어진 데이터들을 뜻하며 

 

이러한 관계형 데이터베이스들을 관리하는 데이터 베이스 관리 시스템을 RDBMS라고 한다

 

RDBMS을 관리할 때 쓰는 언어를 SQL언어라고 한다

 

RDBMS종류


Oracle - 유료지만 대기업에서 사용하며 글로벌 db시장 점유율 1등

         -  기업에서 사용하는 이유는 다른 DBMS보다 대량의 데이터 처리하기 좋음

 

MYsql - mysql사에서 개발하였지만 현재는 오라클에 합병

        - 오픈소스여서 보통 학교 수업을 통해 많이 접함 가장친숙함

 

postgresql - 오픈소스 DBMS mysql을 기반으로 만들어져 사용법이 유사하고 mysql보다 엄격한 타입체크                   및 풍부한 기능들을 가지고 있다

 

mysql-server mysql-client은 서버와 클라이언트의 관계처럼 직접 데이터베이스를 조작(서버) 하느냐 

단지 정보만을 요청(client)하느냐에 차이

 

 

 

SQL종류


sql는 RDBMS를 조작하기 위해 쓰이는 프로그래밍 언어이며 이를 통해 데이터들을 정의, 수정, 접근 등의 작업을 수행한다

 

SQL명렁어 - DDL - 데이터정의어

               - DML - 데이터 조작어

               - DCL  - 데이터 접근 권한

               - TCL   - 트랜잭션

 

그런데 찾아보다보니 NoSQL이라는 용어가 보이기 시작하였다 그렇다면 NoSQL은 무엇일까 SQL을 사용하지 않는 다는 뜻일까?

 

 

NOSQL


현재 NoSQL이라는 용어는 기존 관계학 DBMS가 가지고 있는 특성 + 부가적 특상을 뜻하고 있다고 알고 있다

 

최근 데이터들은 정형화된 데이터들이 아닌 비정형화된 데이터들이 점점 많아지는 추세이므로 이러한 비정형데이터들을 쉽게 처리할 수 있는 데이터 베이스들이 관심을 받게 되었고 이에 따라 nosql이 관심을 받게 되었다

 

nosql은 관계형 모델을 사용하지 않기 때문에 복잡한 조인을 생각하지 않아도 되며 큰 데이터들을 처리하기에 최적화 되있다

 

정리하자면 NOSQL은 데이터간의 관계를 정의하지않아 직관적이며 스키마가 없기 때문에 자유롭게 데이터를 관리할 수 있다

 

NOSQL중 MongoDB를 백엔드 데이터베이스 처리를 위한 툴로 많이 사용하는 것 같은 느낌을 받았는데 나중에 직접 MongoDB를 써보며 MongoDB에 대해 포스팅을 해 보겠다

 

 

'IT 관련 > 백엔드,인텔리제이' 카테고리의 다른 글

Bitnami wamp설치하기  (0) 2020.09.07
클라이언트 서버 구조(첫 번째 글)  (0) 2020.09.07
리눅스, ubuntu란?  (0) 2020.09.06
클라우드 , aws 란?  (0) 2020.09.06
port , 포트포워딩  (0) 2020.09.06

+ Recent posts