YS's develop story

관계형 데이터베이스와 NoSQL 및 DDL, DML의 정의 본문

Database

관계형 데이터베이스와 NoSQL 및 DDL, DML의 정의

Yusang 2021. 4. 13. 09:02

관계형 데이터베이스와 NoSQL 및 DDL, DML의 정의

 

수많은 소프트웨어 제품이 그런 것처럼 데이터베이스에도 여러 종류가 있습니다.

데이터베이스는 데이터를 보존하는 형식에 따라 여러 가지로 구분되며 각각의 특징이 있습니다.

그중에서 관계형 데이터베이스에 대해 알아봅시다.

관계형 데이터베이스 모델

위와 같이 2차원 표 형식으로 데이터를 관리하는

데이터베이스로, 현재 가장 주류로 사용되고 있습니다.

테이블은 열과 행으로 이루어져 있으며

테이블의 column들은 특성(Attribute)을 나타냅니다.

 

각 Row(Tuple)들은 순서쌍으로 이루어져 있습니다.

 

 

 

위 사진은 관계형 데이터베이스 모델의 예시입니다.

 

 

No SQL 데이터베이스

최근 관계형 데이터베이스 이외의 데이터베이스로 주목을 받아온 것이 NoSQL 데이터베이스입니다.

'NoSQL' 이란 'Not Only SQL'의 줄임말로써 SQL 뿐만 아니라 다른 것이 더 있다는 의미입니다.

여기서 SQL이란 관계형 데이터베이스를 만들기 위한 언어를 말합니다.

 

NoSQL은 관계형 데이터베이스에 있는 기능 일부를 버려서 처리속도를 높이고 있습니다.

대량의 데이터를 고속으로 처리해야 하는 서비스에 최근 들어 자주 이용됩니다.

 

지난 20년간, 데이터를 저장하는 데에는 관계형 데이터베이스가 사용되었습니다.

트랜잭션을 통한 안정적인 데이터 관리가 가장 중요한 이슈였기 때문이죠.

 

하지만 빅데이터가 등장하면서 관계형 데이터베이스 모델은 ‘데이터를 처리하는 데 필요한 비용의 증가’

라는 문제를 직면하게 되었습니다.

그렇게 해서 등장하게 된 것이 NoSQL입니다.

 

 

DDL 및 DML 정의

DDL은 데이터베이스 스키마를 정의하기 위한 언어입니다.

 

우리가 데이터베이스에 아래와 같은 명령어를 내리면 DDL 컴파일러가 Data Dictionary에 테이블을 생성하게 됩니다.

 

Data dictionary에는 metadata를 포함하고 있는데 이는 데이터베이스의 스키마, 무결성 제약조건

권한 등등을 포함하고 있습니다.

 

 

 

 

DML은 데이터에 접근하고 데이터를 다루기 위한 언어입니다.

 

DML은 우리에게 query language로 알려져 있습니다. SQL이 바로 DML입니다.

 

 

 

 

Comments