<1> NoSQL 데이터베이스란 무엇입니까?
- NoSQL 데이터베이스란 무엇입니까?SQL뿐만 아니라“의 줄임말로 SQL 외에 추가 기능을 갖춘 데이터베이스말한다
- 관계형 데이터베이스(Oracle, MySQL 등) 성능 향상을 위해 일부 기능 포기(처리 속도) 데이터베이스입니다.
- SNS 사용량이 늘어나면서 사진, 동영상 등 비정형 데이터를 처리하는 모습을 보였다.
- 데이터 구조를 미리 결정하지 마십시오 왜냐하면 비정형 데이터의 손쉬운 처리하다
<2> NoSQL 데이터베이스 유형
MongoDB, Cassandra, Hbase 및 CouchDB를 예로 들 수 있습니다.

(1) 키-값을 이용한 연관 배열 형태의 데이터베이스

(2) 행 단위가 아닌 열 단위로 데이터를 보고하는 데이터베이스

(3) 데이터를 노드로 표시하고 노드 간의 관계를 에지로 표시하는 그래프 데이터베이스

(4) 문서 기반 데이터 처리 데이터베이스

※ 그림은 위의 4가지 유형의 데이터베이스 분류를 나타냅니다.

<3> NoSQL의 속성
- RDBMS와 달리 데이터 간의 관계를 정의하지 않습니다.
- RDBMS는 외래 키와의 데이터 관계를 정의하고 JOIN 작업을 수행할 수 있지만 NoSQL은 JOIN 작업을 수행할 수 없습니다.
- RDBMS와 비교 많은 양의 데이터 저장할수있다
- 분산 구조가지다
- 여러 서버에 데이터를 분산 저장하여 특정 서버에 장애가 발생하더라도 데이터 손실이나 서비스 중단이 없습니다.
- 고정되지 않은 테이블 스키마가지다
- RDBMS와 달리 테이블 스키마는 유연합니다. 열이 다른 이름과 다른 데이터 유형을 갖도록 데이터를 저장하는 것은 허용됩니다.→
<4> SQL과 NoSQL의 장점
| SQL | NoSQL |
| 상대적으로 빠른 데이터 분류, 정렬 및 검색 속도 | 계획 없이 훨씬 더 유연한 구조 |
| 데이터 무결성 보장 | RDBMS보다 덜 복잡하여 대용량 데이터 저장 및 관리 가능 |
| 작업의 완성도 보장 | 수직 및 수평 확장 가능 → 모든 읽기/쓰기 요구 사항 처리 가능 |
| 데이터 업데이트가 빠름 | 대용량 데이터 저장 처리 가능 |
<5> SQL과 NoSQL의 단점
| SQL | NoSQL |
| 수평 확장의 어려움(수직 확장만 해당) | 키값 입/출력만 지원 |
| 조인 문은 관계 때문에 매우 복잡합니다. | 중복 데이터가 많기 때문에 모든 컬렉션에 데이터 변경이 필요합니다. |
| 도식적으로 융통성이 없는 구조 | 데이터 업데이트가 느림 |