DBMS / RDBMS / SQL / NoSQL

Lys·2023년 11월 30일
0

데이터베이스

목록 보기
13/18

DBMS(Database Management System)

  • 데이터베이스를 관리하고 운영하는 소프트웨어를 말한다.
  • 데이터베이스를 사용하는 특정 목적을 처리하기 위한 프로그램이다.
  • 계층형(Hierarchical), 망형(Network), 관계형(Relational) 등으로 분류된다.
  • 계층형
    : 처음으로 등장한 DBMS 개념으로 각 계층은 tree 형태를 갖는다. 현재는 잘 사용하지 않는다.
  • 망형
    : 계층형 DBMS의 문제점을 개선하기 위해 등장했으며 하위에 있는 데이터에도 연결이 가능한 유연한 구조이다.
    프로그래머가 구조를 모두 이해해야 된다는 단점이 있고 현재는 잘 사용하지 않는다.
  • 관계형
    : 관계형 DBMS(Relational DBMS)는 줄여서 RDBMS라고 부르며 대부분의 DBMS가 RDBMS 형태로 사용된다.

RDBMS(Relational DataBase Management System)

  • 데이터를 테이블 형태로 저장하고 관리하는 데이터베이스로, SQL을 사용하여 데이터를 관리한다.
  • 행(RoW)과 열(Column)로 테이블을 표현하는 데이터베이스 이다.
  • Column은 특정 데이터 타입에 따라 정의 되고, 이러한 데이터를 저장하는 테이블 간에 관계를 외래키(Foreign Key)를 사용하여 설정한다.
  • ACID(Atomicity, Consistency, Isolation, Durability) 원칙을 기본으로 구성 된 방식이기 때문에 수평적 확장이 어려울 수 있으며 한번 생성한 DBMS의 스키마 변경이 쉽지 않다.
    • 수평적 확장
      : 데이터를 분산시켜 처리 능력을 확장하는 방식
  • SQL을 사용하여 데이터를 조작하므로 데이터 분석 및 검색이 용이하며 대규모 데이터 처리에 용이해 가장 많이 사용되는 데이터 베이스 관리 시스템 중 하나이다.
  • 주로 대규모 데이터 수집과 저장, 비정형 데이터 처리, 소셜 미디어,IoT(사물인터넷) 등에서 사용되며, 대표적으로 MySQl,SQLServer
    • 비정형 데이터
      : 설계된 모델이나 구조로 구성 되지 않은 데이터

SQL(Structured Query Language)

  • 관계형 데이터베이스 관리시스템(RDBMS)의 데이터를 관리하기 위해 설계되었다.
  • 데이터의 무결성을 보장한다.
  • 데이터의 중복이 없다.
  • 비교적 덜 유연하고 스카마를 사전에 계획하고 추후 수정이 어렵다.
  • 대체적으로 수직적 확장만 가능하다.
    • 수직적 확장
      : 하드웨어를 업그레이드 하거나 추가하여 서버의 성능을 향상 시키는 것

NoSQL(Not Only SQL)

  • 비관계형 데이터베이스로 데이터를 저장할 때 데이터 모델을 사용한다.
  • Key-Value, document,graph등으로 데이터를 저장한며 스키마가 없기 문에 자유로운 데이터 구조를 가질 수 있다.
    (데이터 구조가 변경 되더라도 데이터베이스의 구조 전체를 변경하지 않는다.)
  • BigData의 등장으로 데이터와 트래픽이 기하 급수적으로 증가하게 되어 수평적 확장을 지원하는 목표로 등장하였다.(수평적 확장이 가능함)
    • 일관성,가용성,분할 허용성의 특징을 가지는 CAP(Consistency, Availability, Partitioning Tolerance) 이론에 따라 설계 되었지만 가용성을 우선적으로 고려하였기 때문에 일관성이 상대적으로 낮게 보장된다.
    • 데이터의 일관성을 떨어지더라도 비용을 고려하여 여러 대의 서버에 데이터를 분산 저장하는 것을 목적으로 함
  • 분산 환경에서의 대규모 데이터 처리가 용이하다.
  • 일관성이 중요하지 않거나 일시적인 데이터 손실이 허용 되는 경우에 적합하다.
  • 비관계형 데이터 베이스이고 고유한 API를 제공하기 때문에 학습이 필요하다.
  • 데이터를 유연하게 처리할 수 있어 구조가 복잡하고 계층적인 데이터에 사용된다.
  • 대표적으로는 mongoDB,redis,Elasticsearch,amazon DynamoDB,APACHE HBASE등이 있다

🙇‍ 참고 사이트 🙇‍

https://hongong.hanbit.co.kr/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-databasedb-dbms-sql%EC%9D%98-%EA%B0%9C%EB%85%90/
https://ks1171-park.tistory.com/139

0개의 댓글

관련 채용 정보