Stay Hungry Stay Foolish

프리온보딩 챌린지

[원티드] MySQL 기본기 다지기 | 프리온보딩 BE 챌린지 10월 (1주차)

dev스카이 2023. 10. 5. 02:43
 

MySQL 기본기 다지기 | 프리온보딩 BE 챌린지 10월 | 원티드

무료로 양질의 교육을 들어보세요! 챌린저만을 위한 다양한 혜택을 제공해드리고 있습니다.

www.wanted.co.kr

☐ 데이터베이스의 원칙

1. 무결성(Integrity) : 데이터에 오류가 없어야 하며, 사용자가 저장하고자 하는 내용들이 그대로 저장되어야 한다.

2. 안전성(Reliability) : 말 한마디로 안전해야 하며, 고장도 잘 나지 않아야 한다.

3. 확장성(Scalability) : 서버를 운영하다보면 규모가 커질 수 있는데, 이때 많은 용량과 성능이 필요하게 된다. 따라서 수평적으로 부하를 분산하는 스케일 아웃(Scale-Out)방식으로 확장할 것인지, 아니면 서버의 용량 자체를 올리는 스케일 업(Scale-Up)방식으로 확장할 것인지를 선택해야 한다. 

 

☐ 다양한 DB 종류

1. Relation, 관계형 DB(RDBMS)

테이블마다 서로 연관있는 것들은 관계를 맺어 효율적으로 데이터를 저장 및 관리할 수 있다.

EX) MySQL, Oracle 등

 

2. NoSQL, 비관계형 - SQL만을 사용하지 않는 DBMS

• Key-Value : 기본적인 패턴으로 key-value 하나의 묶음으로 저장되는 구조이다. Key 안에 (Column, value) 형태로 된 여러 개의 필드를 갖는다.

EX) Redis, DynamoDB

Graph : 데이터를 노드로 표현하며 노드 사이의 관계를 엣지로 표현한다. RDBMS보다 성능이 좋고 유연하며 유지보수에 용이하다.

EX) Neo4j 

  Document : 한마디로 문서 형태로 저장된다. 

EX) MongoDB

 

✔ 관계형 DB와 NoSQL의 차이를 알자.

 

☐ Row-Oriented DB vs Column-Oriented DB

행 중심 DB와 열 중심 DB의 차이를 논한다.

 

- Row-Oriented는 각 데이터가 레코드 단위로 기록되며, 메모리 상 레코드끼리 수평적으로 저장된다. Read와 Write가 적고, 전체 Read보다 특정 데이터에 접근하는 경우가 빈번할 때 혹은 사전 테스트를 할 때 유용하다.

 

- Column-Oriented는 각 데이터가 필드 단위로 기록되며, 메모리 상 필드끼리 수평적으로 저장된다. 데이터분석이나 머신러닝에 이용하는 것이 좋다.

 

✔  서비스에 적합한 DB를 선택하자.


💁‍♀️프리온보딩 BE 챌린지 1주차 수강 후기

DB에 관한 이론은 거의 다 안다고 생각했는데 공부해야 할 게 많다는 걸 느꼈다. DB 종류에 대해서도 더 많이 알게 됐고, 실무에서 어떤 DB를 써야 하는 지에 대해서도 잘 판단할 수 있을 것 같다. 사실 본 강의보다는 다른 챌린저들의 질문에서 많은 정보를 얻었다. 내가 전혀 몰랐던 백엔드와 관련된 여러 질문들이 쏟아졌는데 강사님도 친절히 하나하나 다 답변해주시고, 또한 도움이 되는 게 절반 이상어서 많은 걸 배우고 얻게 되는 시간이었다.