SQL 이란?
- DB와 대화하기 위해 특별히 디자인된 언어
- DB
- Relational = SQL : mysql, postgresql , sqlite
- Non- Relational = non-sql : mongoDB, DynamoDB, couchDB
- SQL의 구조
- 엑셀과 비슷함 : 행과 열이 존재
- 언어 : 영어와 비슷함!
출처 : https://youtu.be/z9chRlD1tec
쉬운데 왜 배우지 않을까?
- ORM이 알아서 해주기때문!
- 하지만 orm에 의존하다보면 더빠르게 작업이 필요한 상황 등에는 sql을 알고 활용할 줄 아는게 중요함!
- 원리와 개념 정도만이라도 알아두면 좋다!
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에서 어떻게 받을지 고민해야함!
(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 |