1. 관계형 데이터 베이스: RDBMS
- Relational DataBase Management System
- 관계형 데이터 베이스 시스템
- 트랜잭션(Transaction) 처리가 가능함
- MySQL, Oracle, MS-SQL
-> 데이터를 저장할 때 테이블을 다 쪼개서 저장하는 방식
-> 공간의 낭비를 가장 적게 활용하는 방식
-> 하드디스크가 지금처럼 발달 되지 않았던 시절, DB는 디스크(SSD)에 저장되는 데, 디스크의 용량은 한계가 있음
-> 데이터를 최소화 했어야했다. 그래야 불러오는 속도도 빠르다.
-> RDBMS 원래 개발할 때 분산되어있는 데이터를 처리하지 않게 개발한다. 그러므로, 나눠서 처리하는 게 되게 어렵다.
-> 분산 처리를 clustering(분집)이라고 한다. 분산처리하는 데는 태생적으로 안좋음.
RDBMS의 고려 요소: 어느 절차가 실패했을 때 복제해둔 DB에서 복구 가능.
-> 복구능력 최고.
1. 관계형 데이터 베이스: RDBMS
|
2. NoSQL
- 대용량의 데이터를 분산처리하는 데이터베이스 시스템
- 오토 샤딩(Auto Sharding) 기능으로 분산처리가 가능함
- Mongo DB, AWS DynamoDB, Firebase Firestore
-> SNS 같은 경우, 실시간으로 DB에 저장(insert가 늘어남)이 필요하다보니, 하드 디스크가 용량이 참.
-> 폭발적으로 증가하는 데이터
-> 하드 디스크를 더 구비해야 함. 또한, 서비스를 진행하려면 분산되어있는 데이터를 합쳐서 내보내야하는데, 기존 DB에서는 분산처리가 안된다.
-> NoSQL은 데이터를 분산처리하기에 최적이 되어서 나온 것. 나눠서 저장하고, 빠르게 조합해서 읽어 올수 있다.
참고설명:
https://vision-ai.tistory.com/entry/RDBMS-vs-NoSQL
웹/앱 서비스:
https://vision-ai.tistory.com/entry/On-Premise-%EC%99%80-Cloud-Services
'프로그래밍 언어 > MySQL' 카테고리의 다른 글
[MySQL] 중복값 입력 방지: Unique 설정 (0) | 2022.05.19 |
---|---|
[MySQL] 데이터 입력 실시간 시간 기록: now() (0) | 2022.05.19 |
[MySQL] 多대多관계, null인 데이터를 가져오는 법 (0) | 2022.05.18 |
[MySQL] 그룹/묶음 뒤에 조건: group by..having, 실습문제 (0) | 2022.05.17 |
[MySQL] 관계형 데이터베이스 합치기: join, left join (0) | 2022.05.17 |