반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- CSS
- coding test
- Bambino
- 자바
- react
- sql
- Doit알고리즘코딩테스트
- 웹개발기초
- 밤비노
- two pointers
- MVC
- 데이터베이스
- MSA
- vite
- 웹개발자
- BCIT
- jsp
- REDIS
- MVC패턴
- spring boot
- mysql
- Programming
- DB
- Spring MVC
- html
- 웹개발
- Java
- servlet
- job
- SpringFramework
Archives
- Today
- Total
초보 개발자의 기록
RDBMS vs. NoSQL 본문
728x90
DBMS :DataBase Management System
사용자와 데이터베이스 사이에서, 사용자의 요청을 해석하여 데이터베이스에 저장된 정보를 관리할 수 있도록 해주는 소프트웨어
RDBMS의 특징
- 서버의 성능을 향상 시켜야하는 Scale-up만 지원. 비용 기하급수적으로 늘어날 수 있음
- SQL 라는 구조화된 질의어를 통해 데이터를 다룸
- 스키마로 인해 데이터가 유연하지 않음.
- 데이터의 분류, 정렬, 탐색 속도가 비교적 빠름
- Data를 Column과 Row 형태로 저장
- 트랜잭션 보장 : 작업의 완전성 보장
- 데이터 처리 부하 발생시, 처리 어려움
NoSQL의 특징
- 데이터 분산이 용이하며 성능 향상을 위한 Scale-up , Scale-out 가능
- key값 입.출력만 지원
- 스키마가 없기 때문에 유연하며 자유로운 데이터 구조를 가질 수 있음. 데이터를 조정하고 새로운 필드를 동적으로 추가할 수 있음
- 명확한 데이터 구조를 보장하지 않으며 데이터 구조 결정이 어려움
- 트랜잭션 보장을 안하거나 약함
- RDBMS 보다 복잡도가 떨어져, 대용량의 데이터를 저장.관리할 수 있음
RDBMS와 NoSQL의 차이점
| 특징 | RDBMS | NoSQL |
| 확장성 | Scale-up만 가능 | Scale-up & Scale-out |
| 질의어 | 구조화 질의서 (SQL) | DBMS별 제공 |
| 스키마 데이터베이스를 구성하는 개체(Entity), 속성(Attribute),관계 (Relationship) 및 제약조건등에 관해 전반적으로 정의한 메타데이터 집합 |
스키마 사전 정의 필요 (DDL & DML) 반드시 스키마 규격에 맞퉈서 데이터를 다뤄야 함 |
사전 스키마 정의 불필요, 동적 추가 가능 |
| 데이터 유형 | 구조화된 관계 데이터 | 구조적/비구조적/반구조적/ 예측불가 데이터 지원 |
| ACID/BASE | ACID (Atomicity, Consistency, Isolation, Durabilty) |
BASE (Basically Available, Soft State, Eventually Consistent) ACID지원하는 DBMS존재 |
| 트랜잭션 보장 | 트랜잭션 보장 | 트랜잭션 보장 안함 |
| 데이터 스토리지 | 하나의 고성능 서버에 데이터를 저장/처리 | 여러대의 서버를 연결하여 저장/처리 |
728x90
반응형
'Database > Basic' 카테고리의 다른 글
| 트랜잭션(transaction) (0) | 2021.09.29 |
|---|---|
| DBMS 와 SQL (0) | 2021.08.31 |
| 데이터베이스와 테이블 (0) | 2021.08.31 |