20240315

김정우·2024년 3월 14일
0
post-custom-banner

PostgreSQL의 기본적인 내용들을 학습했다.

1. 관계형 DB는 무엇인지

관계형 DB는 데이터베이스 내부의 테이블 간의 관계를 명시하여 구조화된 방식으로 데이터를 관리 및 저장할 수 있게 하는 DBMS를 의미한다.

  • 테이블 간의 관계란 잘 아는대로 1:1 / 1:M / M:N을 의미하며 이 관계를 정의짓기 위해 각 테이블은 PK / FK라는 constraint 컬럼이 존재한다.
  • 데이터는 구조화된 형식으로 관리되기 때문에 특정 테이블의 row, 혹은 column과 연결짓기 쉬운 형태를 가진다. -> 쿼리를 통해 데이터를 관리하기 쉬워진다.
  • row와 column으로 구성된다고 표현한다. (쉽게말해서 row는 각 객체들, column은 모델의 필드를 의미)
  • 관계형 DB에서는 ACID 원칙이 잘 지켜진다.

2. 관계형 DB와 NoSQL의 차이는 무엇인지

  • 관계형 DB에서 구조화된 데이터를 저장하는 것과 반대로 NoSQL은 비구조화 혹은 반(semi)구조화 형식의 데이터를 저장한다.
  • NoSQL 데이터베이스에서는 유연한 데이터 모델들을 사용한다. (JSON이나 key-value 쌍 등).
  • 이로 인해 더윽 복잡한 형태의 데이터를 유연하게 저장할 수 있지만 데이터 지속성과 무결성을 관리하기 어렵다는 특징도 있다.

3. PostgreSQL이란 무엇이며 특징은 무엇인지

  • 관계형 DB 중의 하나.
  • 그 중에서도 수직적 확장성 (CPU / RAM 등의 리소스를 증가시키는)에 특화되어 있다.
  • 다른 관계형 DB들과 비교했을 때 동시성 관리에 특화되어 있어 다수의 유저가 동시에 디비에 접근하는 서비스에 사용하면 유용하다.
  • 데이터 타입이 훨씬 자유롭다.
  • 쿼리 최적화에 용이하다.
  • 모델 관계형 데이터베이스이다.
    • 유저 정의 데이터 타입이 존재한다.
    • 상속이 가능하다.
    • 다형성이 지원된다.
      • 따라서 함수나, 오퍼레이터 등을 만들어 사용할 수 있다.

그 밖에 psql 세팅 및 pgadmin을 이용하여 샘플 데이터 로딩까지 완료

profile
hello world!
post-custom-banner

0개의 댓글