[CS 기초] DBMS, RDB, NoSQL 차이

개발者·2022년 1월 16일
0

CS

목록 보기
2/6
  1. Database란?
  • 데이터베이스란 저장된 데이터를 쉽게 접근, 관리, 가져오기 그리고 업데이트 하는 데이터의 모음이다.

쉽게 얘기해서 우리는 큰 데이터 값을 데이터베이스에 저장할 수 있다. 가장 좋은 예시는 도서관이다. 도서관은 다른 장르의 여러 책들을 갖고있다. 여기서 책은 데이터고 도서관은 데이터베이스이다.

  1. Database의 특징
  • 데이터를 관리하고 저장하기 위해 서버에서 디지털 공간을 사용한다.

  • 데이터 베이스는 모든 종류의 리얼타임 데이터를 저장할 수 있다.

  • 조작하는 데이터의 보안, 명확성 그리고 논리적 뷰를 제공한다.

  • 자동적이고 복구를 포함한다.

  • ACID : 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 영구성(Durability)을 보장한다.

  • 데이터 사이의 복잡한 관계를 줄이기 위해 도와준다.

  • 지정된 유저가 데이터를 조작하고 보는것을 도와준다.

  1. DBMS(database management system)란?
  • DBMS는 데이터 값을 관리, 핸들링 그리고 저장하기 위한 소프트웨어 프로그램이다.
  • 1960년에 실세계의 데이터를 관리하기 위해 발표됐다.
  • command와 syntax를 사용해서 시스템으로 부터 존재하는 데이터를 수정하고 가져온다.
  • 튜닝, 성능 모니터링, 백업 복구 등을 가능하게 하는데 목적이 있다.
  • MYSQL, SQL Server, Oracle, RDMBS, dBASE, Microsoft Access 그리고 FoxPro 같은 것이 있다.
  • 대부분 DBMS는 다른 DB와 통합하거나 연결 가능하게 해주는 Open Database Connectivity driver와 함께 한다.

DBMS 에서 사용하는 basic query languages는 다음과 같다.

  • DML - Data Manipulation Language

  • TCL - Transaction Control Language

  • DCL - Data Control Language

  • DDL - Data Definition Language

DBMS에서 새로운 데이터베이스를 만들고 싶다면, CREATE DATABASE 를 선언한다.

 CREATE DATABASE <database name>;

ex)
CREATE DATEBASE school;
  1. RDBMS(Relational Database Management System)란?
  • Relational database(이하 RDB)를 고려한 DBMS이다.

  • 진보한 DBMS 혹은 DBMS의 한 부분으로 여겨진다.

  • RDB들은 row-wise그리고 colume-wise 로 데이터를 저장하는 테이블 포맷 구조를 사용한다. 그렇기 때문에 특정 값에 접근하기가 쉽다.

  • 추가, 업데이트, 검색, 수정 그리고 데이터값 찾기 등을 테이블에서 수행하기 위한 프로그램이다.

  • 유저가 create, edit, update, insert 그리고 delete 하는 것을 허락한다.

  • Structured Query Language(SQL)이 RDB를 다루기 위해 사용된다.

    테이블을 생성하기 위한 SQL은 다음과 같다

    CREATE TABLE table_name(
    column1 datatype,
    column2 datatype,
    ....
    columnN datatype,
    PRIMARY KEY(one or more columns)
    )
  1. Non-relational DMBS(NoSQL)이란?
  • 정해진 스키마가 필요하지 않다.

  • join을 피하고, scale에 유연하다.

  • 다음세대 database system이다.

  • 분산된 매우 크거나 같은 종류의 데이터를 저장하기 위해 사용한다.

  • 빅데이터나 real-time 웹 어플리케이션에 사용된다.

  • "NOT Only SQL"나 "NOT SQL" 로 불린다.

  • 쉬운 복제와 클러스터의 수를 증가시킬 수 있다.

  • 데이터를 넣기 위해 테이블을 디자인하거나 생성할 필요 없다.

  • 몇몇 NoSQL이 마켓에 존재하지만 시스템에 맞는 NoSQL을 고르기는 쉽지 않다.

    NoSQL 쿼리는 다음과같이 구성된다.

    SELECT fields with aggregaton
    FROM table
    WHERE expression
    GROUP BY groupby
    ORDER BY orderby
    LIMIT limit

Referrence

profile
solrasido

0개의 댓글