😺Data Base/😻 SQLD

[DB] SQL 과 NoSQL

디카페인라떼 2022. 9. 8. 12:20

https://youtu.be/z9chRlD1tec

SQL 이란?
  • DB와 대화하기 위해 특별히 디자인된 언어
  • DB
    • Relational = SQL : mysql, postgresql , sqlite
    • Non- Relational = non-sql : mongoDB, DynamoDB, couchDB
  • SQL의 구조 
    • 엑셀과 비슷함 : 행과 열이 존재 
    • 언어 : 영어와 비슷함!

출처 : https://youtu.be/z9chRlD1tec

 

쉬운데 왜  배우지 않을까?
  • ORM이 알아서 해주기때문!
  • 하지만 orm에 의존하다보면 더빠르게 작업이 필요한 상황 등에는 sql을 알고 활용할 줄 아는게 중요함!
  • 원리와 개념 정도만이라도 알아두면 좋다!

https://youtu.be/Q_9cFgzZr8Q

SQL vs NoSQL
  • SQL : mysql, postgresql , sqlite ecc..
    • 데이터가 모두 동일하기 때문에 어떻게 저장하고 어떻게 받을지 고민할 필요가 없음
    • 평범한 프로젝트라면 sql로 시작해서 최대한 해보고 나중에 NoSQL로 바꾸는 걸 추천
    • 대부분 sql로 커버가능

  • No sql = not only sql / not sql : Document DB, Key Value DB, Graph DB,..
    • 특별한 이슈에 대응하기 좋음

(1) Document DB - mongoDB 

  • 무슨형태든 저장가능, 데이터가 같은 모양일 필요 없음

(2)  Key Value DB - cassandraDB / DynamoDB

  • 매우빠름.. 많은 양을 빠르게 읽어야한다면 !
  • 서버리스 엄청 빠른게 필요할때
  • 저장하기 전에 DB에서 어떻게 받을지 고민해야함!

graph DB 출처 : 노마드 코더

(3) Graph DB - facebook(tao) / neo4j

  • column이나 document가 필요없을때 
  • 그러나 각 노드 사이의 관계를 알아야 한다면!
  • 각각의 엔티티를 저장하고 이를 관계망으로 연결 (누구의 친구가 좋아요를 하고 등등)
  • SNS 시스템에 추천

 

그러나 특별하게 화려한 프로젝트가 아닌 이상은 처음엔 SQL로 시작해서 최대한 해보고 추후에 바꾸는 걸 추천!

 

'😺Data Base > 😻 SQLD' 카테고리의 다른 글

[DB] Index  (0) 2022.09.17
[RDBMS] 관계형 데이터 모델링 2  (0) 2022.09.16
[RDBMS] 관계형 데이터 모델링 1  (0) 2022.09.14
[DB] 트랜잭션 Transaction 이란?  (0) 2022.09.10
[SQL] 기초 SQL 문법  (0) 2022.09.08