일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Namenode
- re
- LDAP
- 람다 아키텍처
- hadoop
- python
- Service
- HDP
- 정규표현식
- Lambda architecture
- execution_date
- Kafka
- NoSQL
- HDFS
- java
- docker
- MapReduce
- slack
- slack app
- Example DAG
- ambari
- Scala
- HBase
- HIVE
- 빅데이터
- airflow
- SlackWebhookOperator
- Windows
- yarn
- jupyter
- Today
- Total
IT 삽질기
NoSQL이란 본문
NoSQL이란?
No Only SQL로 현재 가장 많이 사용
RDB에서 데이터를 조회, 수정, 삭제하거나 조작하는데 사용되는 언어인 SQL을 사용하지 않는 DB로 RDB가 제공하는 특성인 ACID(Atomic, Consistency, Integrity, Durability)는 제공하지 않지만 뛰어난 확장성과 성능을 가지는데 이는 관계형이 아닌 다른 특성들도 지원한다는 것을 의미
ACID(Atomic, Consistency, Integrity, Durability)
Atomic(원자성) : 트랜잭션과 관련된 작업들이 부분적으로 실행되다가 중단되지 않는 것을 보장하는 능력
Consistency(일관성) : 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것
Integrity(고립성) : 트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장하는 것
Durability(지속성) : 성공적으로 수행된 트랜잭션은 영원히 반영되어야함
NoSQL의 특징
NoSQL은 기존의 RDB보다 융통성 있는 데이터 모델을 사용하고 데이터의 저장 및 검색을 위한 특화된 매커니즘을 제공
단순 검색 및 추가 작업에 있어서 매우 최적화된 Key:Value 저장 기법을 사용하여 응답속도, 처리효율 등에 있어 매우 뛰어난 성능을 나타냄
1. 데이터간의 정의를 하지 않음
RDBMS와 달리 데이터의 관계를 Foreign Key등으로 정의하지 않고 기본적으로는 Join의 기능도 제공하지 않음
2. 대용량 데이터 저장
RDBMS의 복잡도와 용량 한계를 극복하기 윈한 목적으로 등장한 만큼, 페타바이트급의 대용량 데이터를 저장할 수 있음.
3. 분산형 구조
서버를 여러 대 연결해 데이터를 저장 및 처리하는 구조를 가지며, 에디터를 분산 저장해 특정 서버에 문제가 생기더라고 데이터 유실이나 서비스 중지 문제가 발생하지 않음
4. 고정되지 않은 테이블 스키마
RDBMS의 경우 테이블을 생성할때 각 컬럼의 자료형과 컬럼 수를 지정해주어야 하는 반면 NoSQL은 지정하지 않고 사용되며 데이터를 저장하는 컴럼은 각기 다른 이름과 다른 데이터 타입을 가지는 것까지 허용
참고자료
https://ko.wikipedia.org/wiki/NoSQL
https://brocess.tistory.com/115
https://www.oss.kr/info_techtip/show/b29a00bb-351e-4834-95c4-debf8589f706