개발일지

SQL vs NoSQL 본문

Backend

SQL vs NoSQL

wa_n 2022. 11. 9. 21:13
728x90
반응형

데이터 베이스

컴퓨터 시스템에 저장되는 조직화된 데이터 모음 이런식으로 조직화된 데이터는 대량의 데이터를 효율적으로 관리 할수 있다 

데이터를 조직화 하는 방식에 따라 데이터 베이스의 유형을 구분할수 있다 

 

데이터 베이스의 종류

관계형 데이터 베이스 SQL

 비관계형 데이터 베이스 NoSQL

 

SQL과 NoSQL

데이터베이스자체를 말하는게 아니고 특정 유형의 데이터베이스와 상호 작용하기 위한 프로그래밍 언어를 의미 

 

 SQL (Structured Query Language) 관계형 데이터 베이스 

 

구조화된 쿼리언어

구조에는  행(row), 열(column)으로 구성된 테이블

관계형 데이터 베이스의 특징으로는 

 - 엄격한 데이터 구조를 따라 데이터 테이블에 저장됩니다 

 - 데이터 관계를 통해서 연결된 여러 테이블에 분산됩니다 

 

엄격한 구조(스키마) 

데이터 테이블에 기록 저장되는데 각 테이블에는 명확하게 구조가 정의 되어 있습니다 

열(column)에는 하나의 속성에 대한 정보를 저장할수 있고 행(row)에는 각 열의 데이터 형식에 맞는 데이터를 저장할수 있다 

관계형 데이터베이스에서는 테이블 구조와 데이터 타입을 사전에 정의해서 그 타입에 맞는 데이터만 저장가능하다 

이런 엄격한 형식을 지키기 때문에 데이터를 정확히 입력한다면 데이터를 사용할때 매우 수월하다 

 

ORM은 테이블로 이루어진 데이터베이스를 다룰 때 사용하는 SQL을 다른 언어에서 쉽게 사용하도록 해줍니다.'

 객체와 관계형 데이터베이스의 데이터를 자동으로 연결해주는것을 말함 

 

 

 

NoSQL 비관계형 데이터 베이스

NoSQL은 SQL의 반대 되는 접근 방식으로 이루어져서 지어진 이름이다. 그리고 SQL을 제외한 데이터베이스 유형을 뜻하기도 한다 

유연한 구조에 데이터를 저장할수 있다

주요 유형으로 문서,키 값,와이드 칼럼, 그래프가 있다 

 

ODM은 문서(document)와 collection으로 이루어진 NoSQL 데이터베이스를 다룰 수 있도록 해줍니다.

 

NoSQL 데이터베이스 유형

key-value 타입 

문서형(document) 데이터베이스

wide-Column Store 데이터 베이스 

그래프(Graph) 데이터베이스

 

SQL 과 NoSQL의 차이점 

NoSQl은 데이터를 문서, 키값,와이드 컬럼, 그래프 형식으로 저장하지만 SQL은  데이터 테이블에 저장한다 이때 정해진 구조(스키마)를 기반으로 형식에 맞게 데이터를 저장

 

구조(스키마 schema)

SQL은 고정적인 형식의 구조가 필요하다 그래서 나중에 변경할때는 데이터베이스 전체를 수정하거나 오프라인으로 전환후 해야한다 

NoSQL은 관계형데이터 베이스보다 유현하게 스키마의 형태를 가질수 있다 

 

쿼리 - 데이터베이스에 정보를 요청하는 질의문

SQL은 데이터 테이블의 형식과 테이블 간의 관계에 맞춰 데이터를 요청해서 퀴리문도 구조화 되어있다

NoSQL은 데이터 그룹 자체를 조회하는거에 중점을 두고 있다 퀴리문이 구조화 되어 있지 않다 

 

확장성

SQL 수직적으로  데이터 형식이 액샐의 표처럼 보이는데 밑으로 쭉 쌓여서 그런거 같다 

NoSQl 수평적 

 

출처

https://hanamon.kr/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-sql-vs-nosql/

728x90
반응형

'Backend' 카테고리의 다른 글

MVC 패턴  (0) 2022.11.15
Docker  (0) 2022.11.14
Destructuring Assignment (구조분해할당)  (0) 2022.11.03
Template Literals  (0) 2022.11.01
HTTP 통신  (1) 2022.11.01