반응형
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 |
31 |
Tags
- 리액트프로젝트
- servlet
- 데이터베이스
- html
- microservices
- jvm메모리구조
- two pointers
- job
- 밤비노
- sql
- Bambino
- jsp
- CSS
- Java
- Programming
- 웹개발
- MVC
- 웹개발기초
- BCIT
- DB
- 안드로이드
- MSA
- mysql
- 웹개발자
- C
- SpringFramework
- msa개념
- coding test
- Doit알고리즘코딩테스트
- 자바
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
반응형
'SQL > Basic' 카테고리의 다른 글
트랜잭션(transaction) (0) | 2021.09.29 |
---|---|
DBMS 와 SQL (0) | 2021.08.31 |
데이터베이스와 테이블 (0) | 2021.08.31 |