항해99

[3주차] [#07] DB개괄

Heoky 2022. 10. 14. 21:19

1) 들어가기 전에 - DB는 왜 쓰는 것일까?

- 우리가 방 정리를 하는 이유는 무엇일까요?

  • 1번: 잘 넣어두기 위해서 / 2번: 나중에 잘 찾기 위해서
  • 정답은 잘 찾기 위해서이다. DB 또한 잘 찾아 뽑아쓰기 위해 있다.

 

- 한가지 더! 교보문고에 가서 책을 찾는 다고 하면?

  • 꽂혀진 방법대로 찾아야 쉽게 찾을 수 있겠죠! 😎 (섹션 → 출판사 → 책 제목)
  • 우리 눈에 보이진 않지만, 사실 DB에는 Index 라는 순서로 데이터들이 정렬되어 있답니다!

 


2) 들어가기 전에 - DB의 두 가지 종류

Database에는, 크게 두 가지 종류가 있습니다.

RDBMS(SQL)

행/열의 생김새가 정해진 엑셀에 데이터를 저장하는 것과 유사합니다. 데이터 50만 개가 적재된 상태에서,
갑자기 중간에 열을 하나 더하기는 어려울 것입니다. 그러나, 정형화되어 있는 만큼, 데이터의 일관성이나 / 분석에
용이할 수 있습니다.

ex) MS-SQL, My-SQL 등

<!--
[장점]
1. 정형화가 되어 있기 때문에 데이터가 이상하게 들어올 리가 없다.
2. 찾을 때 빠르게 찾을 수 있다. (정해져 있기 때문에)

[단점]
1. 스타트업 같은 기업에서 기획이 변하는 상황에 유연하게 대처하기 어려울 수 있다.
-->
No-SQL

딕셔너리 형태로 데이터를 저장해두는 DB입니다. 고로 데이터 하나 하나 마다 같은 값들을 가질 필요가 없게 됩니다. 자유로운 형태의 데이터 적재에 유리한 대신, 일관성이 부족할 수 있습니다.

ex) MongoDB

<!--
[장점]
1. 유연성 : 스키마 선언 없이 필드의 추가 및 삭제가 자유로운 Schema-less 구조
2. 확장성 : 스케일 아웃에 의한 서버 확장이 용이
3. 고성능 : 대용량 데이터를 처리하는 성능이 뛰어나다

[단점]
1. 유연성으로 인해 데이터 구조 결정을 미루게 될 수 있음
2. 데이터 중복을 계속 업데이트 해야 함
3. 데이터가 여러 컬렉션에 중복되어 있기 때문에 수정 시 모든 컬렉션에서 수행해야 함
(SQL에서는 중복 데이터가 없으므로 한번만 수행이 가능)
-->

 



1. 들어가기 전에 - DB의 실체에 관하여

  • 👉 자, 그럼 DB의 실체는 무엇일까요? 특별한 컴퓨터일까요?
    • 아닙니다! 아주 간단하게, 우리가 쓰는 프로그램과 같은 것이랍니다.
    • 즉, 내 컴퓨터에 게임도 설치하고, PPT도 설치하고, DB도 설치할 수 있는 것이죠.
    👉 그 런 데! 이 마저도 요새는 Cloud 형태로 제공해주는 곳들이 많답니다.
    • 유저가 몰리거나 / DB를 백업해야 하거나 / 모니터링 하기가 아주 용이하기 때문이죠!
    • (꿀팁 - 요새 트렌드는 클.라.우.드 !)
    • 그래서, 우리도 최신 클라우드 서비스인 mongoDB Atlas를 사용해 볼 것이랍니다!