Skip to content

Commit e655ec9

Browse files
add : study about SQL & NoSQL (#75)
* add : study about SQL & NoSQL * add : sql & nosql img * add : Reference * fix: change file name and solve markdown error --------- Co-authored-by: kanghyun98 <[email protected]>
1 parent 66d8f8a commit e655ec9

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed

데이터베이스/SQL&NoSQL.md

+70
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# SQL & NoSQL
2+
3+
## SQL (관계형 데이터베이스)
4+
5+
: sql(Structured Query Language)은 RDBMS (관계형 데이터베이스 관리 시스템)에서 데이터를 저장, 조작 및 검색하는 데 사용되는 도메인 별 프로그래밍 언어다.
6+
7+
- 데이터는 정해진(엄격한) 데이터 스키마 (= structure)를 따라 데이터베이스 테이블에 저장
8+
- 데이터는 관계를 통해서 연결된 여러개의 테이블에 분산
9+
- 관계형 데이터베이스에서는 테이블의 구조와 데이터 타입 등을 사전에 정의 (테이블에 정의된 내용에 알맞은 형태의 데이터만 삽입 가능)
10+
11+
### SQL의 장점
12+
13+
- 명확하게 정의 된 스키마, 데이터 무결성 보장
14+
- SQL 데이터베이스는 신뢰할 수 있다. 데이터베이스 손실이나 손상 없이 대량의 데이터와 트랜잭션을 처리하도록 설계되어있음.
15+
- 관계는 각 데이터를 중복없이 한번만 저장됩니다.
16+
- SQL 데이터베이스는 사용하기 쉽다. 사전 데이터베이스 경험이 없는 사람들도 약간의 교육으로 SQL 데이터베이스 사용 방법을 배울 수 있다.
17+
- 확장정이 좋다. 필요에 따라 더 많은 데이터와 사용자를 수용하도록 쉽게 확장할 수 있다.
18+
- 대부분의 주요 데이터베이스 공급업체는 SQL 데이터베이스를 지원함.
19+
- 강력한 개발자 커뮤니티가 지원.
20+
21+
### SQL (관계형 데이터베이스) 관리 시스템
22+
23+
- MySQL
24+
- Oracle
25+
- SQLite
26+
- MariaDB
27+
- PostgresSQL
28+
29+
### SQL의 단점
30+
31+
- SQL은 스키마가 사전에 계획되어 있기때문에, 그대로만 데이터가 들어가야 한다. 그래서 유연하지 못하다.
32+
- 데이터가 여러 테이블로 분산되어 있기떄문에 Join을 이용하여야 합니다.
33+
- 수평적 확장이 어렵습니다.
34+
35+
## NoSQL (비관계형 데이터베이스)
36+
37+
: 관계형 데이터베이스도 한계점을 노출하게 되었으며 이로 인해 새로운 데이터베이스인 NoSQL이 탄생하게 되었다. NoSQL은 기본적으로 SQL(관계형)와 반대되는 접근방식을 따르기 때문에 지어진 이름이다.
38+
39+
- 관계형 모델을 사용하지 않으며 테이블간의 조인 기능 없음
40+
- 직접 프로그래밍을 하는 등의 비SQL 인터페이스를 통한 데이터 액세스
41+
- 대부분 여러 대의 데이터베이스 서버를 묶어서(클러스터링) 하나의 데이터베이스를 구성
42+
- 관계형 데이터베이스에서는 지원하는 Data처리 완결성(Transaction ACID 지원) 미보장
43+
- 데이터의 스키마와 속성들을 다양하게 수용 및 동적 정의 (Schema-less)
44+
- 데이터베이스의 중단 없는 서비스와 자동 복구 기능지원
45+
- 다수가 Open Source로 제공
46+
- 확장성, 가용성, 높은 성능
47+
48+
### NoSQL의 장점
49+
50+
- 스키마, 관계없음. 변경에 용이함
51+
- 대용량 데이터 처리에 최적화되어있음. 확장도 쉬움
52+
- 저렴한 데이터베이스이며 오픈 소스 NoSQL 데이터베이스는 소규모 기업에 매우 저렴한 솔루션을 제공
53+
- 더 쉽고 저렴한 확장성. 확장을 위해 하드웨어를 늘릴 필요가 없고 NoSQL은 스키마가없고 분산 시스템에 구축되므로 풀에 서버를 추가하기만 하면 됨
54+
55+
### NoSql의 단점
56+
57+
- 데이터 무결성을 보장하기 어려움
58+
- 트랜젝션 처리, Join 사용하기 힘듦. 집계 쿼리 사용하기 힘듬
59+
- 비교적 적은 커뮤니티 지원
60+
- SQL과 달리 표준화가 부족
61+
- 상호 운용성은 NoSQL 데이터베이스의 경우에도 문제가 생김
62+
63+
![스크린샷 2023-02-20 오전 12 53 33](https://user-images.githubusercontent.com/21211957/219961395-573468f1-4b7e-451e-b0a6-f4307862fe58.png)
64+
65+
## 참고자료
66+
- https://www.oracle.com/kr/database/nosql/what-is-nosql/
67+
- https://hanamon.kr/데이터베이스-sql-vs-nosql/
68+
- https://gyoogle.dev/blog/computer-science/data-base/SQL%20&%20NOSQL.html
69+
- https://siyoon210.tistory.com/130
70+
- https://dingrr.com/blog/post/개발-sql-vs-nosql-언제-무엇을-사용할까

0 commit comments

Comments
 (0)