본문 바로가기

카테고리 없음

[DB] DBMS 쌩기초

  • Database: Data의 집합
  • OS는 File System을 통해 파일을 디스크에 관리하지만 Concurrency Control(유저들이 동시에 접근 가능하도록)이나 recovery(작성하다 전원 나간 경우)를 보장하지 않음

=> Database를 관리하는 Database Management System(DBMS)가 필요

 

  • DBMS의 종류는 크게 2가지
    • RDBMS(Relational DBMS): 키(key)와 값(value)들의 간단한 관계를 테이블화 시킨 매우 간단한 원칙의 전산정보 데이터베이스 ex) MySQL, PostgreSQL, Oracle database...
    • NoSQL: 전통적 RDBMS보다 덜 제한적인 매커니즘 제공, 단순 검색 및 추가 작업을 위한 매우 최적화된 키 값 저장 공간 ex) MongoDB, Redis...

=> RDBMS는 데이터 일관성과 무결성이 중요하고 구조화된 데이터를 처리하는 데 적합한 반면, NoSQL은 대규모 데이터와 비구조화된 데이터를 유연하게 처리할 수 있으며, 확장성이 중요한 경우에 적합함

 

  • SQL(Structured Query Language): RDBMS에서 자료를 관리 및 처리하기 위해 설계된 언어

Django에는 기본으로 Sqlite가 설치되어 있음

  • SQLite: MySQL, PostgreSQL과 같은 DBMS이지만, 서버가 아니라 응용 프로그램에 넣어 사용하는 비교적 가벼운 데이터베이스

 

Django에 PostgreSQL을 연결해볼 예정